[PD-cvs] pd/src u_main.tk, 1.4.4.10.2.9, 1.4.4.10.2.10 x_gui.c, 1.3.4.1, 1.3.4.1.2.1

Tim Blechmann timblech at users.sourceforge.net
Wed Oct 5 00:35:10 CEST 2005


Update of /cvsroot/pure-data/pd/src
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18986

Modified Files:
      Tag: devel_0_39
	u_main.tk x_gui.c 
Log Message:
[ 1244757 ] {open,save}panel with settable path

Index: u_main.tk
===================================================================
RCS file: /cvsroot/pure-data/pd/src/u_main.tk,v
retrieving revision 1.4.4.10.2.9
retrieving revision 1.4.4.10.2.10
diff -C2 -d -r1.4.4.10.2.9 -r1.4.4.10.2.10
*** u_main.tk	21 Aug 2005 11:28:24 -0000	1.4.4.10.2.9
--- u_main.tk	4 Oct 2005 22:35:08 -0000	1.4.4.10.2.10
***************
*** 3387,3394 ****
  ############# open and save dialogs for objects in Pd ##########
  
! proc pdtk_openpanel {target} {
      global pd_opendir
      set filename [tk_getOpenFile \
!     	-initialdir $pd_opendir]
      if {$filename != ""} {
      	set directory [string range $filename 0 \
--- 3387,3398 ----
  ############# open and save dialogs for objects in Pd ##########
  
! proc pdtk_openpanel {target localdir} {
      global pd_opendir
+     if {$localdir == ""} {
+       set localdir $pd_opendir
+     }
+ 
      set filename [tk_getOpenFile \
!     	-initialdir $localdir ]
      if {$filename != ""} {
      	set directory [string range $filename 0 \
***************
*** 3400,3405 ****
  }
  
! proc pdtk_savepanel {target} {
!     set filename [tk_getSaveFile]
      if {$filename != ""} {
      	pd [concat $target symbol [pdtk_enquote $filename] \;]
--- 3404,3409 ----
  }
  
! proc pdtk_savepanel {target localdir} {
!     set filename [tk_getSaveFile -initialdir $localdir]
      if {$filename != ""} {
      	pd [concat $target symbol [pdtk_enquote $filename] \;]

Index: x_gui.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/x_gui.c,v
retrieving revision 1.3.4.1
retrieving revision 1.3.4.1.2.1
diff -C2 -d -r1.3.4.1 -r1.3.4.1.2.1
*** x_gui.c	11 May 2005 20:07:00 -0000	1.3.4.1
--- x_gui.c	4 Oct 2005 22:35:08 -0000	1.3.4.1.2.1
***************
*** 189,195 ****
      t_object x_obj;
      t_symbol *x_s;
  } t_openpanel;
  
! static void *openpanel_new(void)
  {
      char buf[50];
--- 189,196 ----
      t_object x_obj;
      t_symbol *x_s;
+     t_symbol *x_path;
  } t_openpanel;
  
! static void *openpanel_new(t_symbol*s)
  {
      char buf[50];
***************
*** 197,200 ****
--- 198,202 ----
      sprintf(buf, "d%lx", (t_int)x);
      x->x_s = gensym(buf);
+     x->x_path=s;
      pd_bind(&x->x_obj.ob_pd, x->x_s);
      outlet_new(&x->x_obj, &s_symbol);
***************
*** 204,208 ****
  static void openpanel_bang(t_openpanel *x)
  {
!     sys_vgui("pdtk_openpanel %s\n", x->x_s->s_name);
  }
  
--- 206,211 ----
  static void openpanel_bang(t_openpanel *x)
  {
!   char*path=(x->x_path&&x->x_path->s_name)?x->x_path->s_name:"\"\"";
!   sys_vgui("pdtk_openpanel {%s} {%s}\n", x->x_s->s_name, path);
  }
  
***************
*** 211,214 ****
--- 214,221 ----
      outlet_symbol(x->x_obj.ob_outlet, s);
  }
+ static void openpanel_path(t_openpanel *x, t_symbol *s)
+ {
+   x->x_path=s;
+ }
  
  static void openpanel_free(t_openpanel *x)
***************
*** 221,226 ****
      openpanel_class = class_new(gensym("openpanel"),
          (t_newmethod)openpanel_new, (t_method)openpanel_free,
!         sizeof(t_openpanel), 0, A_DEFFLOAT, 0);
      class_addbang(openpanel_class, openpanel_bang);
      class_addsymbol(openpanel_class, openpanel_symbol);
  }
--- 228,234 ----
      openpanel_class = class_new(gensym("openpanel"),
          (t_newmethod)openpanel_new, (t_method)openpanel_free,
!         sizeof(t_openpanel), 0, A_DEFSYM, 0);
      class_addbang(openpanel_class, openpanel_bang);
+     class_addmethod(openpanel_class, (t_method)openpanel_path, gensym("path"), A_SYMBOL);
      class_addsymbol(openpanel_class, openpanel_symbol);
  }
***************
*** 234,240 ****
      t_object x_obj;
      t_symbol *x_s;
  } t_savepanel;
  
! static void *savepanel_new(void)
  {
      char buf[50];
--- 242,249 ----
      t_object x_obj;
      t_symbol *x_s;
+     t_symbol *x_path;
  } t_savepanel;
  
! static void *savepanel_new(t_symbol*s)
  {
      char buf[50];
***************
*** 242,245 ****
--- 251,255 ----
      sprintf(buf, "d%lx", (t_int)x);
      x->x_s = gensym(buf);
+     x->x_path=s;
      pd_bind(&x->x_obj.ob_pd, x->x_s);
      outlet_new(&x->x_obj, &s_symbol);
***************
*** 249,253 ****
  static void savepanel_bang(t_savepanel *x)
  {
!     sys_vgui("pdtk_savepanel %s\n", x->x_s->s_name);
  }
  
--- 259,264 ----
  static void savepanel_bang(t_savepanel *x)
  {
!   char*path=(x->x_path&&x->x_path->s_name)?x->x_path->s_name:"\"\"";
!   sys_vgui("pdtk_savepanel {%s} {%s}\n", x->x_s->s_name, path);
  }
  
***************
*** 266,271 ****
      savepanel_class = class_new(gensym("savepanel"),
          (t_newmethod)savepanel_new, (t_method)savepanel_free,
!         sizeof(t_savepanel), 0, A_DEFFLOAT, 0);
      class_addbang(savepanel_class, savepanel_bang);
      class_addsymbol(savepanel_class, savepanel_symbol);
  }
--- 277,283 ----
      savepanel_class = class_new(gensym("savepanel"),
          (t_newmethod)savepanel_new, (t_method)savepanel_free,
!         sizeof(t_savepanel), 0, A_DEFSYM, 0);
      class_addbang(savepanel_class, savepanel_bang);
+     class_addmethod(savepanel_class, (t_method)openpanel_path, gensym("path"), A_SYMBOL);
      class_addsymbol(savepanel_class, savepanel_symbol);
  }





More information about the Pd-cvs mailing list