[PD-cvs] externals/tkwidgets checkbutton.c, 1.4, 1.5 text.c, 1.11, 1.12

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


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

Modified Files:
	checkbutton.c text.c 
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: checkbutton.c
===================================================================
RCS file: /cvsroot/pure-data/externals/tkwidgets/checkbutton.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** checkbutton.c	23 Nov 2007 23:47:00 -0000	1.4
--- checkbutton.c	24 Nov 2007 00:33:42 -0000	1.5
***************
*** 116,120 ****
  static void checkbutton_drawme(t_checkbutton *x, t_glist *glist)
  {
-     
      set_tkwidgets_ids(x,glist_getcanvas(glist));
      sys_vgui("destroy %s\n", x->widget_id->s_name); /* just in case it exists */
--- 116,119 ----
***************
*** 129,138 ****
               x->widget_id->s_name,
               x->window_tag->s_name, x->all_tag->s_name);
  }
  
  
! static void checkbutton_erase(t_checkbutton* x, t_glist* glist)
  {
-     set_tkwidgets_ids(x, glist_getcanvas(glist));
      sys_vgui("destroy %s\n", x->widget_id->s_name);
      sys_vgui("%s delete %s\n", x->canvas_id->s_name, x->all_tag->s_name);
--- 128,138 ----
               x->widget_id->s_name,
               x->window_tag->s_name, x->all_tag->s_name);
+     tkwidgets_bind_key_events(x->canvas_id, x->widget_id);
+     tkwidgets_bind_mouse_events(x->canvas_id, x->widget_id);
  }
  
  
! static void checkbutton_erase(t_checkbutton* x)
  {
      sys_vgui("destroy %s\n", x->widget_id->s_name);
      sys_vgui("%s delete %s\n", x->canvas_id->s_name, x->all_tag->s_name);
***************
*** 186,191 ****
      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);
--- 186,191 ----
      if (glist_isvisible(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);
***************
*** 205,209 ****
          checkbutton_drawme(s, glist);
      else
!         checkbutton_erase(s, glist);
  }
  
--- 205,209 ----
          checkbutton_drawme(s, glist);
      else
!         checkbutton_erase(s);
  }
  

Index: text.c
===================================================================
RCS file: /cvsroot/pure-data/externals/tkwidgets/text.c,v
retrieving revision 1.11
retrieving revision 1.12
diff -C2 -d -r1.11 -r1.12
*** text.c	23 Nov 2007 23:47:00 -0000	1.11
--- text.c	24 Nov 2007 00:33:42 -0000	1.12
***************
*** 28,31 ****
--- 28,32 ----
  /* TODO: window name "handle1376fc00" already exists in parent */
  /* TODO: figure out window vs. text width/height */
+ /* TODO: handle bg color on select/deselect */
  
  
***************
*** 194,199 ****
               x->frame_id->s_name, x->window_tag->s_name, x->all_tag->s_name, 
               x->width, x->height);
!     tkwidgets_restore_options(x->receive_name, x->tcl_namespace,
!                               x->widget_id, x->options_binbuf);
  }     
  
--- 195,199 ----
               x->frame_id->s_name, x->window_tag->s_name, x->all_tag->s_name, 
               x->width, x->height);
!     tkwidgets_restore_options(x->widget_id, x->options_binbuf);
  }     
  
***************
*** 229,233 ****
      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 RESIZE %d %d\n", x->canvas_id->s_name, dx, dy);
--- 229,233 ----
      if (glist_isvisible(glist))
      {
! //        set_tkwidgets_ids(x,glist_getcanvas(glist)); /* TODO is this needed here? */
          sys_vgui("%s move %s %d %d\n", x->canvas_id->s_name, x->all_tag->s_name, dx, dy);
          sys_vgui("%s move RESIZE %d %d\n", x->canvas_id->s_name, dx, dy);
***************
*** 472,476 ****
  }
  
! static void textwidget_option(t_textwidget *x, t_symbol *s, int argc, t_atom *argv)
  {
      if(s != &s_list)
--- 472,478 ----
  }
  
! /* this function uses the selector as the Tk option and applies the whole
!  * message directly to the Tk widget itself using Tk's "configure" */
! static void textwidget_set_option(t_textwidget *x, t_symbol *s, int argc, t_atom *argv)
  {
      if(s != &s_list)
***************
*** 484,488 ****
          binbuf_free(argument_binbuf);
          argument_buffer[buffer_length] = 0;
-         post("argument_buffer: %s", argument_buffer);
          sys_vgui("%s configure -%s {%s} \n", 
                   x->widget_id->s_name, s->s_name, argument_buffer);
--- 486,489 ----
***************
*** 493,496 ****
--- 494,504 ----
  }
  
+ static void textwidget_options(t_textwidget *x)
+ {
+     tkwidgets_list_options(x->x_status_outlet,
+                            sizeof(textwidget_tk_options)/sizeof(char *), 
+                            (char **)&textwidget_tk_options);
+ }
+ 
  static void query_scrollbars(t_textwidget *x)
  {
***************
*** 666,670 ****
  
      x->x_glist = canvas_getcurrent();
!     set_tkwidgets_ids(x, x->x_glist);
      x->iolets_tag = tkwidgets_gen_iolets_tag((t_object*)x);
      x->all_tag = tkwidgets_gen_all_tag((t_object*)x);
--- 674,678 ----
  
      x->x_glist = canvas_getcurrent();
! //    set_tkwidgets_ids(x, x->x_glist); /* TODO: is this needed here? */
      x->iolets_tag = tkwidgets_gen_iolets_tag((t_object*)x);
      x->all_tag = tkwidgets_gen_all_tag((t_object*)x);
***************
*** 682,686 ****
  				
  	class_addbang(textwidget_class, (t_method)textwidget_bang_output);
! 	class_addanything(textwidget_class, (t_method)textwidget_option);
  
  	class_addmethod(textwidget_class, (t_method)textwidget_append,
--- 690,694 ----
  				
  	class_addbang(textwidget_class, (t_method)textwidget_bang_output);
! 	class_addanything(textwidget_class, (t_method)textwidget_set_option);
  
  	class_addmethod(textwidget_class, (t_method)textwidget_append,
***************
*** 690,693 ****
--- 698,703 ----
  	class_addmethod(textwidget_class, (t_method)textwidget_key,
                      gensym("key"), A_GIMME, 0);
+ 	class_addmethod(textwidget_class, (t_method)textwidget_options,
+                     gensym("options"), 0);
      class_addmethod(textwidget_class, (t_method)textwidget_query,
                      gensym("query"), A_DEFSYMBOL, 0);
***************
*** 698,701 ****
--- 708,712 ----
      class_addmethod(textwidget_class, (t_method)textwidget_size,
                      gensym("size"), A_DEFFLOAT, A_DEFFLOAT, 0);
+ 
  /* callbacks */
      class_addmethod(textwidget_class, (t_method)textwidget_store_callback,





More information about the Pd-cvs mailing list