diff options
author | Hans-Christoph Steiner <eighthave@users.sourceforge.net> | 2007-11-22 02:50:23 +0000 |
---|---|---|
committer | Hans-Christoph Steiner <eighthave@users.sourceforge.net> | 2007-11-22 02:50:23 +0000 |
commit | 9caf0964a9a29f8160c88a3f591a49c0894009bb (patch) | |
tree | d3494abaee6722bcf9f201753c8166383047a41d | |
parent | ff4298c30dfd8e4cee237b40acec599020d14ff1 (diff) |
added displace function from text.c
svn path=/trunk/externals/tkwidgets/; revision=9022
-rw-r--r-- | checkbutton.c | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/checkbutton.c b/checkbutton.c index a0694f1..e4866d6 100644 --- a/checkbutton.c +++ b/checkbutton.c @@ -41,6 +41,9 @@ typedef struct _checkbutton int width; int height; + + int x_resizing; + int x_selected; /* IDs for Tk widgets */ t_symbol* tcl_namespace; @@ -175,6 +178,20 @@ static void checkbutton_getrect(t_gobj *z, t_glist *glist, *yp2 = text_ypix(&x->x_obj, glist) + x->height; } +static void checkbutton_displace(t_gobj *z, t_glist *glist, int dx, int dy) +{ + t_checkbutton *x = (t_checkbutton *)z; + x->x_obj.te_xpix += dx; + x->x_obj.te_ypix += dy; + if (glist_isvisible(glist)) + { + set_tkwidgets_ids(x,glist_getcanvas(glist)); + sys_vgui("%s move %s %d %d\n", x->canvas_id->s_name, x->all_tag->s_name, dx, dy); + sys_vgui("%s move RSZ %d %d\n", x->canvas_id->s_name, dx, dy); + canvas_fixlinesfor(glist_getcanvas(glist), (t_text*) x); + } +} + static void checkbutton_delete(t_gobj *z, t_glist *glist) { t_text *x = (t_text *)z; @@ -270,7 +287,7 @@ void checkbutton_setup(void) gensym("query_callback"), A_GIMME, 0); checkbutton_widgetbehavior.w_getrectfn = checkbutton_getrect; - checkbutton_widgetbehavior.w_displacefn = NULL; + checkbutton_widgetbehavior.w_displacefn = checkbutton_displace; checkbutton_widgetbehavior.w_selectfn = NULL; checkbutton_widgetbehavior.w_activatefn = NULL; checkbutton_widgetbehavior.w_deletefn = checkbutton_delete; |