From 3c0e1b524f609705b75675551110a96dc82f976b Mon Sep 17 00:00:00 2001 From: Aayush Date: Fri, 23 Aug 2019 23:20:28 +0530 Subject: [PATCH] Updated UI for ascii_art->pd_diagram --- pd/nw/pd_canvas.js | 16 ++++------------ pd/nw/pdgui.js | 8 +++----- pd/src/g_editor.c | 9 +++++---- 3 files changed, 12 insertions(+), 21 deletions(-) diff --git a/pd/nw/pd_canvas.js b/pd/nw/pd_canvas.js index 4fe1c828..b27670a7 100644 --- a/pd/nw/pd_canvas.js +++ b/pd/nw/pd_canvas.js @@ -428,11 +428,8 @@ var canvas_events = (function() { } }, close_ascii_art: function(evt) { - canvas_events[canvas_events.get_previous_state()](); - var ascii_art = document.getElementById("ascii_art"), - ascii_art_text_area = document.getElementById("ascii_art_text_area"); - ascii_art_text_area.value = "write your ascii art here"; - ascii_art.style.setProperty("display", "none"); + pdgui.pdsend(name,"ascii-entry 0"); + canvas_events[canvas_events.get_previous_state()](); }, check_ascii_art_state : function(evt) { var ascii_art = document.getElementById("ascii_art_text_area").value; @@ -1611,16 +1608,11 @@ function nw_create_patch_window_menus(gui, w, name) { // if there's a box being edited, try to instantiate it in Pd instantiate_live_box(); if (display_state === "none") { - ascii_art.style.setProperty("display", "inline"); - ascii_art_text_area.focus(); - ascii_art_text_area.select(); + pdgui.pdsend(name,"ascii-entry 1"); canvas_events.ascii_art(); - //pdgui.pdsend(name,"ascii-entry",1); } else { - ascii_art_text_area.value = "write your ascii art here"; - ascii_art.style.setProperty("display", "none"); + pdgui.pdsend(name,"ascii-entry 0"); canvas_events[canvas_events.get_previous_state()](); - //pdgui.pdsend(name,"ascii-entry",0); } } }); diff --git a/pd/nw/pdgui.js b/pd/nw/pdgui.js index 05773165..2a5ad09d 100644 --- a/pd/nw/pdgui.js +++ b/pd/nw/pdgui.js @@ -1170,17 +1170,15 @@ exports.menu_quit = menu_quit; function ascii_entry(cid,textarea_state) { gui(cid).get_elem("ascii_art", function(w) { - var ascii_art = w.document.getElementById("ascii_art"), - ascii_art_text_area = w.document.getElementById("ascii_art_text_area"); - if (textarea_state == 1) { + var ascii_art = patchwin[cid].window.document.getElementById("ascii_art"), + ascii_art_text_area = patchwin[cid].window.document.getElementById("ascii_art_text_area"); + if (textarea_state) { ascii_art.style.setProperty("display", "inline"); ascii_art_text_area.focus(); ascii_art_text_area.select(); - w.canvas_events.ascii_art(); } else { ascii_art_text_area.value = "write your ascii art here"; ascii_art.style.setProperty("display", "none"); - w.canvas_events[w.canvas_events.get_previous_state()](); } }); } diff --git a/pd/src/g_editor.c b/pd/src/g_editor.c index 91e61c70..d893eb2b 100644 --- a/pd/src/g_editor.c +++ b/pd/src/g_editor.c @@ -44,7 +44,7 @@ static int clipboard_istext = 0; static t_glist *glist_finddirty(t_glist *x); static void canvas_reselect(t_canvas *x); static void canvas_cut(t_canvas *x); -static void canvas_ascii_entry(t_canvas *x,t_float textarea_state); +static void canvas_ascii_entry(t_canvas *x,t_floatarg textarea_state); static int paste_xyoffset = 0; /* a counter of pastes to make x,y offsets */ //static void canvas_mouseup_gop(t_canvas *x, t_gobj *g); void canvas_done_popup(t_canvas *x, t_float which, t_float xpos, @@ -171,11 +171,12 @@ static void canvas_nlet_conf (t_canvas *x, int type) { 1); } -static void canvas_ascii_entry(t_canvas *x, t_float textarea_state) +static void canvas_ascii_entry(t_canvas *x, t_floatarg textarea_state) { + int state = textarea_state; gui_vmess("ascii_entry","xi", x, - textarea_state); + state); } void canvas_getscroll (t_canvas *x) { //sys_vgui("pdtk_canvas_getscroll .x%lx.c\n",(long)x); @@ -7724,7 +7725,7 @@ void g_editor_setup(void) class_addmethod(canvas_class, (t_method)canvas_reset_copyfromexternalbuffer, gensym("reset_copyfromexternalbuffer"), A_NULL); class_addmethod(canvas_class, (t_method)canvas_ascii_entry, - gensym("ascii-entry"), A_FLOAT, A_NULL); + gensym("ascii-entry"), A_DEFFLOAT, A_NULL); /* -------------- connect method used in reading files ------------------ */ class_addmethod(canvas_class, (t_method)canvas_connect, gensym("connect"), A_FLOAT, A_FLOAT, A_FLOAT, A_FLOAT, A_NULL); -- GitLab