From 7afcd906f1e9e9e26609d168d1820b39b349c5a9 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Fri, 23 Nov 2007 22:44:03 +0000 Subject: - fixed bug that caused the iolets to multiply whenever resizing, I forgot to add the ->s_name to a symbol used in the sys_vgui, so it was using the pointer value. - moved standard key/mouse binding functions to tkwidgets.[ch] - minor code cleanups for legibility svn path=/trunk/externals/tkwidgets/; revision=9026 --- shared/tkwidgets.c | 54 +++++++++++++++++++++++++++++++++++++++++++- shared/tkwidgets.h | 8 ++++--- text.c | 66 ++++++++---------------------------------------------- 3 files changed, 67 insertions(+), 61 deletions(-) diff --git a/shared/tkwidgets.c b/shared/tkwidgets.c index 7b1dc4f..cf7418d 100644 --- a/shared/tkwidgets.c +++ b/shared/tkwidgets.c @@ -187,7 +187,59 @@ void tkwidgets_draw_iolets(t_object *x, t_glist *glist, t_symbol *canvas_id, void tkwidgets_erase_iolets(t_symbol* canvas_id, t_symbol* iolets_tag) { - sys_vgui("%s delete %s\n", canvas_id->s_name, iolets_tag); + sys_vgui("%s delete %s\n", canvas_id->s_name, iolets_tag->s_name); +} + + +/* -------------------- bind to keys and mouse events ----------------------- */ + +void tkwidgets_bind_key_events(t_symbol *canvas_id, t_symbol *widget_id) +{ +#ifdef __APPLE__ + sys_vgui("bind %s {pdtk_canvas_ctrlkey %s %%K 0}\n", + widget_id->s_name, canvas_id->s_name); + sys_vgui("bind %s {pdtk_canvas_ctrlkey %s %%K 1}\n", + widget_id->s_name, canvas_id->s_name); +#else + sys_vgui("bind %s {pdtk_canvas_ctrlkey %s %%K 0}\n", + widget_id->s_name, canvas_id->s_name); + sys_vgui("bind %s {pdtk_canvas_ctrlkey %s %%K 1}\n", + widget_id->s_name, canvas_id->s_name); +#endif +} + +void tkwidgets_bind_mouse_events(t_symbol *canvas_id, t_symbol *widget_id) +{ + /* mouse buttons */ + sys_vgui("bind %s