[PD-cvs] externals/tkwidgets/shared tkwidgets.c, 1.9, 1.10 tkwidgets.h, 1.8, 1.9

Hans-Christoph Steiner eighthave at users.sourceforge.net
Sat Nov 24 01:33:45 CET 2007


Update of /cvsroot/pure-data/externals/tkwidgets/shared
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv820/shared

Modified Files:
	tkwidgets.c tkwidgets.h 
Log Message:

- created tkwidgets_list_options() to query which Tk options are supported

- removed set_tk_widgets_ids() from places where it wasn't need AFAIK

- minor renames and cleanups


Index: tkwidgets.c
===================================================================
RCS file: /cvsroot/pure-data/externals/tkwidgets/shared/tkwidgets.c,v
retrieving revision 1.9
retrieving revision 1.10
diff -C2 -d -r1.9 -r1.10
*** tkwidgets.c	23 Nov 2007 23:47:00 -0000	1.9
--- tkwidgets.c	24 Nov 2007 00:33:42 -0000	1.10
***************
*** 52,60 ****
      for(i = 0; i < argc; i++)
      {
!         sys_vgui("set ::%s::ret [%s cget -%s]\n",
                   tcl_namespace->s_name, widget_id->s_name, argv[i]);
!         sys_vgui("if {[string length $::%s::ret] > 0} {\n",
                   tcl_namespace->s_name);
!         sys_vgui("lappend ::%s::list -%s; lappend ::%s::list $::%s::ret}\n", 
                   tcl_namespace->s_name, argv[i], 
                   tcl_namespace->s_name, tcl_namespace->s_name);
--- 52,60 ----
      for(i = 0; i < argc; i++)
      {
!         sys_vgui("set ::%s::tmp [%s cget -%s]\n",
                   tcl_namespace->s_name, widget_id->s_name, argv[i]);
!         sys_vgui("if {[string length $::%s::tmp] > 0} {\n",
                   tcl_namespace->s_name);
!         sys_vgui("lappend ::%s::list -%s; lappend ::%s::list $::%s::tmp}\n", 
                   tcl_namespace->s_name, argv[i], 
                   tcl_namespace->s_name, tcl_namespace->s_name);
***************
*** 65,70 ****
  }
  
! void tkwidgets_restore_options(t_symbol *receive_name, t_symbol *tcl_namespace,
!                                t_symbol *widget_id, t_binbuf *options_binbuf)
  {
      int length;
--- 65,69 ----
  }
  
! void tkwidgets_restore_options(t_symbol *widget_id, t_binbuf *options_binbuf)
  {
      int length;
***************
*** 75,78 ****
--- 74,91 ----
  }
  
+ /* output a list of available options for this widget */ 
+ void tkwidgets_list_options(t_outlet *status_outlet, int argc, char** argv)
+ {
+     int i;
+     t_binbuf *bb = binbuf_new();
+     for(i = 0; i < argc; ++i)
+     {
+         binbuf_addv(bb, "s", gensym(argv[i]));
+     }
+     outlet_anything(status_outlet, gensym("options"), 
+                     binbuf_getnatom(bb), binbuf_getvec(bb));
+ }
+ 
+ 
  /* -------------------- generate names for various elements ----------------- */
  

Index: tkwidgets.h
===================================================================
RCS file: /cvsroot/pure-data/externals/tkwidgets/shared/tkwidgets.h,v
retrieving revision 1.8
retrieving revision 1.9
diff -C2 -d -r1.8 -r1.9
*** tkwidgets.h	23 Nov 2007 22:44:03 -0000	1.8
--- tkwidgets.h	24 Nov 2007 00:33:42 -0000	1.9
***************
*** 72,80 ****
  void tkwidgets_store_options(t_symbol *receive_name, t_symbol *tcl_namespace,
                               t_symbol *widget_id, int argc, char **argv);
! void tkwidgets_restore_options(t_symbol *receive_name, t_symbol *tcl_namespace,
!                                t_symbol *widget_id, t_binbuf *options_binbuf);
  void tkwidgets_query_options(t_symbol *receive_name, t_symbol *widget_id, 
                               int argc, char** argv);
! 
  
  /* generate ID and tag names for using in Tcl/Tk space */
--- 72,79 ----
  void tkwidgets_store_options(t_symbol *receive_name, t_symbol *tcl_namespace,
                               t_symbol *widget_id, int argc, char **argv);
! void tkwidgets_restore_options(t_symbol *widget_id, t_binbuf *options_binbuf);
  void tkwidgets_query_options(t_symbol *receive_name, t_symbol *widget_id, 
                               int argc, char** argv);
! void tkwidgets_list_options(t_outlet *status_outlet, int argc, char** argv);
  
  /* generate ID and tag names for using in Tcl/Tk space */





More information about the Pd-cvs mailing list