Update of /cvsroot/pure-data/pd/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24089
Modified Files: Tag: devel_0_39 desire.c Log Message: removing selection-related code (300 lines)
Index: desire.c =================================================================== RCS file: /cvsroot/pure-data/pd/src/Attic/desire.c,v retrieving revision 1.1.2.117 retrieving revision 1.1.2.118 diff -C2 -d -r1.1.2.117 -r1.1.2.118 *** desire.c 21 Aug 2006 00:04:29 -0000 1.1.2.117 --- desire.c 21 Aug 2006 00:41:13 -0000 1.1.2.118 *************** *** 777,781 **** static void editor_free(t_editor *x, t_glist *y) { - glist_noselect(y); guiconnect_notarget(x->e_guiconnect, 1000); binbuf_free(x->e_connectbuf); --- 777,780 ---- *************** *** 858,862 **** } sys_mgui(x,"getscroll",""); - glist_noselect(x); if (glist_isvisible(x)) canvas_map(x, 0); canvas_create_editor(x, 0); --- 857,860 ---- *************** *** 914,918 **** int dspstate = canvas_suspend_dsp(); if (canvas_whichfind == x) canvas_whichfind = 0; - glist_noselect(x); while ((y = x->gl_list)) glist_delete(x, y); canvas_vis(x, 0); --- 912,915 ---- *************** *** 1080,1092 **** }
- void canvas_logerror(t_object *y) - { - #ifdef LATER - canvas_vis(x, 1); - if (!glist_isselected(x, &y->ob_g)) - glist_select(x, &y->ob_g); - #endif - } - /* -------------------------- subcanvases ---------------------- */
--- 1077,1080 ---- *************** *** 1477,1634 **** /* ------------------------ managing the selection ----------------- */
- void glist_selectline(t_glist *x, t_outconnect *oc, int index1, - int outno, int index2, int inno) - { - if (x->gl_editor) - { - glist_noselect(x); - x->gl_editor->e_selectedline = 1; - x->gl_editor->e_selectline_index1 = index1; - x->gl_editor->e_selectline_outno = outno; - x->gl_editor->e_selectline_index2 = index2; - x->gl_editor->e_selectline_inno = inno; - x->gl_editor->e_selectline_tag = oc; - sys_vgui(".x%lx.c itemconfigure l%lx -fill blue\n", - (long)x, (long)x->gl_editor->e_selectline_tag); - } - } - - void glist_deselectline(t_glist *x) - { - if (x->gl_editor) - { - x->gl_editor->e_selectedline = 0; - sys_vgui(".x%lx.c itemconfigure l%lx -fill black\n", - (long)x, (long)x->gl_editor->e_selectline_tag); - } - } - - int glist_isselected(t_glist *x, t_gobj *y) - { - if (x->gl_editor) - { - t_selection *sel; - for (sel = x->gl_editor->e_selection; sel; sel = sel->sel_next) - if (sel->sel_what == y) return (1); - } - return (0); - } - - /* call this for unselected objects only */ - void glist_select(t_glist *x, t_gobj *y) - { - if (x->gl_editor) - { - t_selection *sel = (t_selection *)getbytes(sizeof(*sel)); - if (x->gl_editor->e_selectedline) - glist_deselectline(x); - /* LATER #ifdef out the following check */ - if (glist_isselected(x, y)) bug("glist_select"); - sel->sel_next = x->gl_editor->e_selection; - sel->sel_what = y; - x->gl_editor->e_selection = sel; - gobj_select(y, x, 1); - } - } - - /* call this for selected objects only */ - void glist_deselect(t_glist *x, t_gobj *y) - { - int fixdsp = 0; - static int reenter = 0; - if (reenter) return; - reenter = 1; - if (x->gl_editor) - { - t_selection *sel, *sel2; - t_rtext *z = 0; - if (!glist_isselected(x, y)) bug("glist_deselect"); - if (x->gl_editor->e_textedfor) - { - t_rtext *fuddy = glist_findrtext(x, (t_text *)y); - if (x->gl_editor->e_textedfor == fuddy) - { - if (x->gl_editor->e_textdirty) - { - z = fuddy; - canvas_stowconnections(glist_getcanvas(x)); - } - gobj_activate(y, x, 0); - } - if (zgetfn(&y->g_pd, gensym("dsp"))) - fixdsp = canvas_suspend_dsp(); - } - if ((sel = x->gl_editor->e_selection)->sel_what == y) - { - x->gl_editor->e_selection = x->gl_editor->e_selection->sel_next; - gobj_select(sel->sel_what, x, 0); - freebytes(sel, sizeof(*sel)); - } - else - { - for (sel = x->gl_editor->e_selection; (sel2 = sel->sel_next); - sel = sel2) - { - if (sel2->sel_what == y) - { - sel->sel_next = sel2->sel_next; - gobj_select(sel2->sel_what, x, 0); - freebytes(sel2, sizeof(*sel2)); - break; - } - } - } - if (z) - { - char *buf; - int bufsize; - - rtext_gettext(z, &buf, &bufsize); - text_setto((t_text *)y, x, buf, bufsize); - canvas_fixlinesfor(glist_getcanvas(x), (t_text *)y); - x->gl_editor->e_textedfor = 0; - } - if (fixdsp) - canvas_resume_dsp(1); - } - reenter = 0; - } - - void glist_noselect(t_glist *x) - { - if (x->gl_editor) - { - while (x->gl_editor->e_selection) - glist_deselect(x, x->gl_editor->e_selection->sel_what); - if (x->gl_editor->e_selectedline) - glist_deselectline(x); - } - } - - void glist_selectall(t_glist *x) - { - if (x->gl_editor) - { - glist_noselect(x); - if (x->gl_list) - { - t_selection *sel = (t_selection *)getbytes(sizeof(*sel)); - t_gobj *y = x->gl_list; - x->gl_editor->e_selection = sel; - sel->sel_what = y; - gobj_select(y, x, 1); - while ((y = y->g_next)) - { - t_selection *sel2 = (t_selection *)getbytes(sizeof(*sel2)); - sel->sel_next = sel2; - sel = sel2; - sel->sel_what = y; - gobj_select(y, x, 1); - } - sel->sel_next = 0; - } - } - } - /* get the index of a gobj in a glist. If y is zero, return the total number of objects. */ --- 1465,1468 ---- *************** *** 1640,1657 **** }
- /* get the index of the object, among selected items, if "selected" - is set; otherwise, among unselected ones. If y is zero, just - counts the selected or unselected objects. */ - int glist_selectionindex(t_glist *x, t_gobj *y, int selected) - { - t_gobj *y2; - int indx; - - for (y2 = x->gl_list, indx = 0; y2 && y2 != y; y2 = y2->g_next) - if (selected == glist_isselected(x, y2)) - indx++; - return (indx); - } - static t_gobj *glist_nth(t_glist *x, int n) { --- 1474,1477 ---- *************** *** 1702,1712 **** int j = glist_getindex(gl, g); int hadwindow = gl->gl_havewindow; ! if (!hadwindow) ! canvas_vis(glist_getcanvas(gl), 1); ! glist_noselect(gl); ! glist_select(gl, g); canvas_doclear(gl); - /*FIXME (gl); */ - glist_noselect(gl); g = glist_nth(gl, j); if (!hadwindow) --- 1522,1527 ---- int j = glist_getindex(gl, g); int hadwindow = gl->gl_havewindow; ! if (!hadwindow) canvas_vis(glist_getcanvas(gl), 1); canvas_doclear(gl); g = glist_nth(gl, j); if (!hadwindow) *************** *** 1980,1987 **** canvas_find_index1 = myindex1; canvas_find_index2 = myindex2; - glist_noselect(x); vmess(&x->gl_pd, gensym("menu-open"), ""); canvas_editmode(x, 1.); - glist_select(x, y); return (1); } --- 1795,1800 ---- *************** *** 2054,2061 **** { /* got it... now show it. */ - glist_noselect(gl); canvas_vis(glist_getcanvas(gl), 1); canvas_editmode(glist_getcanvas(gl), 1.); - glist_select(gl, g); return (1); } --- 1867,1872 ---- *************** *** 2081,2119 **** }
- void canvas_stowconnections(t_canvas *x) - { - t_gobj *selhead = 0, *seltail = 0, *nonhead = 0, *nontail = 0, *y, *y2; - t_linetraverser t; - t_outconnect *oc; - if (!x->gl_editor) return; - /* split list to "selected" and "unselected" parts */ - for (y = x->gl_list; y; y = y2) - { - y2 = y->g_next; - if (glist_isselected(x, y)) { - if (seltail) {seltail->g_next = y; seltail = y; y->g_next = 0;} else {selhead = seltail = y; seltail->g_next = 0;} - } else { - if (nontail) {nontail->g_next = y; nontail = y; y->g_next = 0;} else {nonhead = nontail = y; nontail->g_next = 0;} - } - } - /* move the selected part to the end */ - if (!nonhead) x->gl_list = selhead; - else x->gl_list = nonhead, nontail->g_next = selhead; - - /* add connections to binbuf */ - binbuf_clear(x->gl_editor->e_connectbuf); - linetraverser_start(&t, x); - while ((oc = linetraverser_next(&t))) - { - int s1 = glist_isselected(x, &t.tr_ob->ob_g); - int s2 = glist_isselected(x, &t.tr_ob2->ob_g); - if (s1 != s2) - binbuf_addv(x->gl_editor->e_connectbuf, "ssiiii;", - gensym("#X"), gensym("connect"), - glist_getindex(x, &t.tr_ob->ob_g), t.tr_outno, - glist_getindex(x, &t.tr_ob2->ob_g), t.tr_inno); - } - } - void canvas_restoreconnections(t_canvas *x) { --- 1892,1895 ---- *************** *** 2128,2132 **** t_gobj *y, *y2; int dspstate; - dspstate = canvas_suspend_dsp(); if (x->gl_editor->e_selectedline) --- 1904,1907 ---- *************** *** 2137,2172 **** x->gl_editor->e_selectline_inno); } - /* if text is selected, deselecting it might remake the - object. So we deselect it and hunt for a "new" object on - the glist to reselect. */ - if (x->gl_editor->e_textedfor) - { - newest = 0; - glist_noselect(x); - if (newest) - { - for (y = x->gl_list; y; y = y->g_next) - if (&y->g_pd == newest) glist_select(x, y); - } - } - while (1) /* this is pretty wierd... should rewrite it */ - { - for (y = x->gl_list; y; y = y2) - { - y2 = y->g_next; - if (glist_isselected(x, y)) - { - glist_delete(x, y); - #if 0 - if (y2) post("cut 5 %lx %lx", y2, y2->g_next); - else post("cut 6"); - #endif - goto next; - } - } - goto restore; - next: ; - } - restore: canvas_resume_dsp(dspstate); canvas_dirty(x, 1); --- 1912,1915 ---- *************** *** 2176,2181 **** --- 1919,1927 ---- static t_canvas *paste_canvas;
+ /* FIXME */ static void glist_donewloadbangs(t_glist *x) { + error("glist_donewloadbangs called but selections aren't server-side"); + /* if (x->gl_editor) { *************** *** 2185,2188 **** --- 1931,1935 ---- canvas_loadbang((t_canvas *)(&sel->sel_what->g_pd)); } + */ }
*************** *** 2260,2268 **** return; x->gl_edit = !x->gl_edit; - if (x->gl_edit && glist_isvisible(x) && glist_istoplevel(x)) - {} else - { - glist_noselect(x); - } sys_mgui(glist_getcanvas(x),"editmode=","i",x->gl_edit); } --- 2007,2010 ---- *************** *** 3743,3753 **** int drawcommand = class_isdrawcommand(y->g_pd); int wasdeleting = canvas_setdeleting(canvas, 1); ! if (x->gl_editor) ! { ! if (x->gl_editor->e_grab == y) x->gl_editor->e_grab = 0; ! if (glist_isselected(x, y)) glist_deselect(x, y); ! } ! /* if we're a drawing command, erase all scalars now, before deleting ! it; we'll redraw them once it's deleted below. */ if (drawcommand) canvas_redrawallfortemplate(template_findbyname(canvas_makebindsym( --- 3485,3492 ---- int drawcommand = class_isdrawcommand(y->g_pd); int wasdeleting = canvas_setdeleting(canvas, 1); ! if (x->gl_editor && x->gl_editor->e_grab == y) x->gl_editor->e_grab = 0; ! ! /* if we're a drawing command, erase all scalars now, before deleting ! it; we'll redraw them once it's deleted below. */ if (drawcommand) canvas_redrawallfortemplate(template_findbyname(canvas_makebindsym( *************** *** 4764,4769 **** }
! int glist_readscalar(t_glist *x, int natoms, t_atom *vec, ! int *p_nextmsg, int selectit) { int message, nline; --- 4503,4508 ---- }
! /* FIXME: remove references to the selection, which isn't server-side */ ! int glist_readscalar(t_glist *x, int natoms, t_atom *vec, int *p_nextmsg, int selectit) { int message, nline; *************** *** 4805,4809 **** gobj_vis(&sc->sc_gobj, x, 1); } - if (selectit) glist_select(x, &sc->sc_gobj); return 1; } --- 4544,4547 ---- *************** *** 5102,5108 **** for (y = x->gl_list; y; y = y->g_next) { ! if ((pd_class(&y->g_pd) == scalar_class) && ! (wholething || glist_isselected(x, y))) ! { canvas_addtemplatesforscalar(((t_scalar *)y)->sc_template, ((t_scalar *)y)->sc_vec, &ntemplates, &templatevec); --- 4840,4844 ---- for (y = x->gl_list; y; y = y->g_next) { ! if ((pd_class(&y->g_pd) == scalar_class) && wholething) { canvas_addtemplatesforscalar(((t_scalar *)y)->sc_template, ((t_scalar *)y)->sc_vec, &ntemplates, &templatevec); *************** *** 5137,5145 **** binbuf_addsemi(b); /* now write out the objects themselves */ ! for (y = x->gl_list; y; y = y->g_next) ! { ! if ((pd_class(&y->g_pd) == scalar_class) && ! (wholething || glist_isselected(x, y))) ! { canvas_writescalar(((t_scalar *)y)->sc_template, ((t_scalar *)y)->sc_vec, b, 0); --- 4873,4878 ---- binbuf_addsemi(b); /* now write out the objects themselves */ ! for (y = x->gl_list; y; y = y->g_next) { ! if (pd_class(&y->g_pd) == scalar_class && wholething) { canvas_writescalar(((t_scalar *)y)->sc_template, ((t_scalar *)y)->sc_vec, b, 0); *************** *** 5236,5245 **** for (y = x->gl_list; y; y = y->g_next) { ! if ((pd_class(&y->g_pd) == scalar_class) && ! (wholething || glist_isselected(x, y))) canvas_addtemplatesforscalar(((t_scalar *)y)->sc_template, ((t_scalar *)y)->sc_vec, ntemplatesp, templatevecp); ! else if ((pd_class(&y->g_pd) == canvas_class) && ! (wholething || glist_isselected(x, y))) canvas_collecttemplatesfor((t_canvas *)y, ntemplatesp, templatevecp, 1); --- 4969,4976 ---- for (y = x->gl_list; y; y = y->g_next) { ! if (pd_class(&y->g_pd) == scalar_class && wholething) canvas_addtemplatesforscalar(((t_scalar *)y)->sc_template, ((t_scalar *)y)->sc_vec, ntemplatesp, templatevecp); ! else if (pd_class(&y->g_pd) == canvas_class && wholething) canvas_collecttemplatesfor((t_canvas *)y, ntemplatesp, templatevecp, 1); *************** *** 6190,6198 **** dy * (glist_pixelstoy(glist, 1) - glist_pixelstoy(glist, 0)); scalar_redraw(x, glist); - if (glist_isselected(glist, z)) - { - scalar_select(z, glist, 0); - scalar_select(z, glist, 1); - } }
--- 5921,5924 ---- *************** *** 6302,6307 **** int bufsize; t_binbuf *b; - glist_noselect(owner); - glist_select(owner, z); b = glist_writetobinbuf(owner, 0); binbuf_gettext(b, &buf, &bufsize); --- 6028,6031 ---- *************** *** 8519,8525 **** if (!gobj) gobj = glist->gl_list; else gobj = gobj->g_next; ! while (gobj && ((pd_class(&gobj->g_pd) != scalar_class) || ! (wantselected && !glist_isselected(glist, gobj)))) ! gobj = gobj->g_next; if (gobj) { t_typedout *to; --- 8243,8247 ---- if (!gobj) gobj = glist->gl_list; else gobj = gobj->g_next; ! while (gobj && (pd_class(&gobj->g_pd) != scalar_class || wantselected)) gobj = gobj->g_next; if (gobj) { t_typedout *to; *************** *** 9350,9354 **** pd_vmess((t_pd *)glist_getcanvas(gl), gensym("editmode"), "i", 1); SETSYMBOL(&at, gensym("comment")); - glist_noselect(gl); glist_getnextxy(gl, &xpix, &ypix); x->te_xpix = glist_pixelstox(gl, xpix-3); --- 9072,9075 ---- *************** *** 9356,9361 **** binbuf_restore(x->te_binbuf, 1, &at); glist_add(gl, &x->te_g); - glist_noselect(gl); - glist_select(gl, &x->te_g); canvas_startmotion(glist_getcanvas(gl)); } --- 9077,9080 ---- *************** *** 9393,9400 **** x->te_type = T_OBJECT; glist_add(gl, &x->te_g); ! if (selected) { ! glist_select(gl, &x->te_g); ! gobj_activate(&x->te_g, gl, 1); ! } if (pd_class(&x->ob_pd) == vinlet_class) canvas_resortinlets(glist_getcanvas(gl)); if (pd_class(&x->ob_pd) == voutlet_class) canvas_resortoutlets(glist_getcanvas(gl)); --- 9112,9116 ---- x->te_type = T_OBJECT; glist_add(gl, &x->te_g); ! if (selected) gobj_activate(&x->te_g, gl, 1); if (pd_class(&x->ob_pd) == vinlet_class) canvas_resortinlets(glist_getcanvas(gl)); if (pd_class(&x->ob_pd) == voutlet_class) canvas_resortoutlets(glist_getcanvas(gl)); *************** *** 9411,9415 **** int xpix, ypix; pd_vmess(&gl->gl_pd, gensym("editmode"), "i", 1); - glist_noselect(gl); glist_getnextxy(gl, &xpix, &ypix); canvas_objtext(gl, xpix, ypix, 1, b, -1); --- 9127,9130 ---- *************** *** 9423,9427 **** int xpix, ypix; pd_vmess(&gl->gl_pd, gensym("editmode"), "i", 1); - glist_noselect(gl); SETSYMBOL(&at, guiobjname); binbuf_restore(b, 1, &at); --- 9138,9141 ---- *************** *** 9557,9567 **** int xpix, ypix; pd_vmess(&gl->gl_pd, gensym("editmode"), "i", 1); - glist_noselect(gl); glist_getnextxy(gl, &xpix, &ypix); x->m_text.te_xpix = xpix-3; x->m_text.te_ypix = ypix-3; glist_add(gl, &x->m_text.te_g); - glist_noselect(gl); - glist_select(gl, &x->m_text.te_g); gobj_activate(&x->m_text.te_g, gl, 1); canvas_startmotion(glist_getcanvas(gl)); --- 9271,9278 ---- *************** *** 9829,9839 **** inlet_new(&x->a_text, &x->a_text.te_pd, 0, 0); pd_vmess(&gl->gl_pd, gensym("editmode"), "i", 1); - glist_noselect(gl); glist_getnextxy(gl, &xpix, &ypix); x->a_text.te_xpix = xpix; x->a_text.te_ypix = ypix; glist_add(gl, &x->a_text.te_g); - glist_noselect(gl); - glist_select(gl, &x->a_text.te_g); canvas_startmotion(glist_getcanvas(gl)); } --- 9540,9547 ---- *************** *** 11655,11660 **** binbuf_gettext(who->te_binbuf, &x->x_buf, &x->x_bufsize); glist->gl_editor->e_rtext = x; ! sprintf(x->x_tag, ".x%lx.t%lx", (t_int)glist_getcanvas(x->x_glist), ! (t_int)x); return (x); } --- 11363,11367 ---- binbuf_gettext(who->te_binbuf, &x->x_buf, &x->x_bufsize); glist->gl_editor->e_rtext = x; ! sprintf(x->x_tag, ".x%lx.t%lx", (t_int)glist_getcanvas(x->x_glist), (t_int)x); return (x); } *************** *** 11662,11677 **** static t_rtext *rtext_entered;
! void rtext_free(t_rtext *x) ! { if (x->x_glist->gl_editor->e_textedfor == x) x->x_glist->gl_editor->e_textedfor = 0; if (x->x_glist->gl_editor->e_rtext == x) x->x_glist->gl_editor->e_rtext = x->x_next; ! else ! { t_rtext *e2; ! for (e2 = x->x_glist->gl_editor->e_rtext; e2; e2 = e2->x_next) ! if (e2->x_next == x) ! { e2->x_next = x->x_next; break; --- 11369,11380 ---- static t_rtext *rtext_entered;
! void rtext_free(t_rtext *x) { if (x->x_glist->gl_editor->e_textedfor == x) x->x_glist->gl_editor->e_textedfor = 0; if (x->x_glist->gl_editor->e_rtext == x) x->x_glist->gl_editor->e_rtext = x->x_next; ! else { t_rtext *e2; ! for (e2 = x->x_glist->gl_editor->e_rtext; e2; e2 = e2->x_next) if (e2->x_next == x) { e2->x_next = x->x_next; break; *************** *** 11683,11688 **** }
! void rtext_gettext(t_rtext *x, char **buf, int *bufsize) ! { *buf = x->x_buf; *bufsize = x->x_bufsize; --- 11386,11390 ---- }
! void rtext_gettext(t_rtext *x, char **buf, int *bufsize) { *buf = x->x_buf; *bufsize = x->x_bufsize;