From 46c8c8f8d8448e72bf384c1de04dcfc7ab44f34a Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Thu, 15 Nov 2007 17:27:03 +0000 Subject: - first working sketch of having a shared dylib for a libdir, I moved query_options() to the dylib, and it works! :D (on Mac OS X, at least) - minor cleanups in text.c - first test of saving options to the file, it writes data, but there are bugs svn path=/trunk/externals/tkwidgets/; revision=9014 --- shared/tkwidgets.c | 9 +++++++++ shared/tkwidgets.h | 17 +++++++++++++++++ 2 files changed, 26 insertions(+) (limited to 'shared') diff --git a/shared/tkwidgets.c b/shared/tkwidgets.c index 6439842..587f2d8 100644 --- a/shared/tkwidgets.c +++ b/shared/tkwidgets.c @@ -32,6 +32,15 @@ t_symbol *canvas_getname(t_canvas *canvas) return gensym(buf); } + +void query_options(t_symbol *receive_name, char *widget_id, int argc, char** argv) +{ + int i; + for(i = 0; i < argc; i++) + sys_vgui("pd [concat %s query_callback %s [%s cget -%s] \\;]\n", + receive_name->s_name, argv[i], widget_id, argv[i]); +} + /* I think I'll probably have to follow Krzsztof and make structs to make this work tkwidgets_setcallbackname(void *x, char *widget_name) diff --git a/shared/tkwidgets.h b/shared/tkwidgets.h index 9365a7c..b7fdc00 100644 --- a/shared/tkwidgets.h +++ b/shared/tkwidgets.h @@ -37,6 +37,23 @@ #define TKW_HANDLE_WIDTH 15 #define TKW_HANDLE_INSET -2 +/* sketch for a common struct */ +typedef struct _tkwidgets +{ + t_symbol *canvas_id; /* the canvas that is showing this widget */ + t_symbol *receive_name; /* name to bind to, to receive callbacks */ + t_symbol *window_id; /* the window that contains the widget */ + t_symbol *widget_id; /* the core widget */ + t_symbol *all_tag; /* the tag for moving/deleting everything */ + int resizing; /* flag to tell when being resized */ + int selected; /* flag for when widget is selected */ +} t_tkwidgets; + + + +/* query a tk widget for the state of all its options */ +void query_options(t_symbol *receive_name, char *widget_id, int argc, char** argv); + /* this should be part of the Pd API */ t_symbol *canvas_getname(t_canvas *canvas); -- cgit v1.2.1