[PD-cvs] externals/tkwidgets text-test.pd,1.3,1.4 text.c,1.4,1.5

Hans-Christoph Steiner eighthave at users.sourceforge.net
Thu Nov 15 18:27:05 CET 2007


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

Modified Files:
	text-test.pd text.c 
Log Message:

- 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


Index: text-test.pd
===================================================================
RCS file: /cvsroot/pure-data/externals/tkwidgets/text-test.pd,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** text-test.pd	14 Nov 2007 07:49:26 -0000	1.3
--- text-test.pd	15 Nov 2007 17:27:03 -0000	1.4
***************
*** 4,8 ****
  #X obj 48 470 text 130 60 0;
  #X msg 130 30 size 400 200;
! #X obj 310 11 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
  1;
  #X msg 655 333;
--- 4,8 ----
  #X obj 48 470 text 130 60 0;
  #X msg 130 30 size 400 200;
! #X obj 310 11 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
  1;
  #X msg 655 333;
***************
*** 25,28 ****
--- 25,32 ----
  #X msg 309 31 scrollbars \$1;
  #X msg 85 367 query size;
+ #X msg 342 369;
+ #X obj 310 335 prepend set;
+ #X msg 250 41 bang;
+ #X connect 0 0 22 0;
  #X connect 0 1 5 0;
  #X connect 1 0 0 0;
***************
*** 44,45 ****
--- 48,51 ----
  #X connect 19 0 0 0;
  #X connect 20 0 2 0;
+ #X connect 22 0 21 0;
+ #X connect 23 0 0 0;

Index: text.c
===================================================================
RCS file: /cvsroot/pure-data/externals/tkwidgets/text.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** text.c	14 Nov 2007 07:49:26 -0000	1.4
--- text.c	15 Nov 2007 17:27:03 -0000	1.5
***************
*** 161,164 ****
--- 161,165 ----
      for(i = 0; i < argc; i++)
      {
+         // TODO: only send if there is a value, not when blank
          sys_vgui("lappend ::%s::store_list -%s \n", 
                   x->tcl_namespace, textwidget_tk_options[i]);
***************
*** 177,188 ****
  }
  
- static void query_options(t_textwidget *x, int argc, char** argv)
- {
-     int i;
-     for(i = 0; i < argc; i++)
-         sys_vgui("pd [concat %s query_callback %s [%s cget -%s] \\;]\n",
-                  x->receive_name->s_name, argv[i], x->text_id, argv[i]);
- }
- 
  static void set_tk_widget_ids(t_textwidget *x, t_canvas *canvas)
  {
--- 178,181 ----
***************
*** 322,326 ****
  {
      DEBUG(post("create_widget"););
-     /* I guess this is for fine-tuning of the rect size based on width and height? */
  
      sys_vgui("namespace eval text%lx {} \n", x);
--- 315,318 ----
***************
*** 330,338 ****
      sys_vgui("frame %s \n", x->frame_id);
      sys_vgui("text %s -border 1 \
!     -highlightthickness 1 -relief sunken -bg \"%s\" -fg \"%s\"  \
!     -yscrollcommand {%s set} \n",
!              x->text_id, 
!              DEFAULT_COLOR, "black",
!              x->scrollbar_id);
      sys_vgui("scrollbar %s -command {%s yview}\n",
               x->scrollbar_id, x->text_id);
--- 322,327 ----
      sys_vgui("frame %s \n", x->frame_id);
      sys_vgui("text %s -border 1 \
!     -highlightthickness 1 -relief sunken -bg \"%s\" -yscrollcommand {%s set} \n",
!              x->text_id, DEFAULT_COLOR, x->scrollbar_id);
      sys_vgui("scrollbar %s -command {%s yview}\n",
               x->scrollbar_id, x->text_id);
***************
*** 642,649 ****
      t_textwidget *x = (t_textwidget *)z;
      
!     binbuf_addv(b, "ssiisiii;", &s__X, gensym("obj"),
                  x->x_obj.te_xpix, x->x_obj.te_ypix, 
                  atom_getsymbol(binbuf_getvec(x->x_obj.te_binbuf)),
                  x->size_x, x->size_y, x->x_have_scrollbars);
  }
  
--- 631,640 ----
      t_textwidget *x = (t_textwidget *)z;
      
!     binbuf_addv(b, "ssiisiii", &s__X, gensym("obj"),
                  x->x_obj.te_xpix, x->x_obj.te_ypix, 
                  atom_getsymbol(binbuf_getvec(x->x_obj.te_binbuf)),
                  x->size_x, x->size_y, x->x_have_scrollbars);
+     binbuf_addbinbuf(b, x->options_binbuf);
+     binbuf_addv(b, ";");
  }
  
***************
*** 663,666 ****
--- 654,658 ----
          sys_vgui("%s configure -%s {%s} \n", 
                   x->text_id, s->s_name, argument_buffer);
+         store_options(x);
      }
  }
***************
*** 688,692 ****
      if(s == &s_)
      {
!         query_options(x, sizeof(textwidget_tk_options)/sizeof(char *), textwidget_tk_options);
          query_scrollbars(x);
          query_size(x);
--- 680,685 ----
      if(s == &s_)
      {
!         query_options(x->receive_name, x->text_id, 
!                       sizeof(textwidget_tk_options)/sizeof(char *), textwidget_tk_options);
          query_scrollbars(x);
          query_size(x);
***************
*** 697,701 ****
          query_size(x);
      else
!         query_options(x, 1, &(s->s_name));
  }
  
--- 690,694 ----
          query_size(x);
      else
!         query_options(x->receive_name, x->text_id, 1, &(s->s_name));
  }
  





More information about the Pd-cvs mailing list