[PD-cvs] pd/src g_hdial.c,1.1.1.4.2.2.2.3,1.1.1.4.2.2.2.4 g_vdial.c,1.1.1.4.2.2.2.3,1.1.1.4.2.2.2.4

matju at users.sourceforge.net matju at users.sourceforge.net
Sun Mar 7 21:35:07 CET 2004


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

Modified Files:
      Tag: impd_0_37
	g_hdial.c g_vdial.c 
Log Message:
merging hradio/vradio (and deleting 520 lines)


Index: g_hdial.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/g_hdial.c,v
retrieving revision 1.1.1.4.2.2.2.3
retrieving revision 1.1.1.4.2.2.2.4
diff -C2 -d -r1.1.1.4.2.2.2.3 -r1.1.1.4.2.2.2.4
*** g_hdial.c	7 Mar 2004 19:38:13 -0000	1.1.1.4.2.2.2.3
--- g_hdial.c	7 Mar 2004 20:35:05 -0000	1.1.1.4.2.2.2.4
***************
*** 6,10 ****
  /* thanks to Miller Puckette, Guenther Geiger and Krzystof Czaja */
  
! /* name change to hradio by MSP and changed to
  put out a "float" as in sliders, toggles, etc. */
  
--- 6,10 ----
  /* thanks to Miller Puckette, Guenther Geiger and Krzystof Czaja */
  
! /* name change to hradio by MSP (it's a radio button really) and changed to
  put out a "float" as in sliders, toggles, etc. */
  
***************
*** 21,28 ****
  t_widgetbehavior hradio_widgetbehavior;
  static t_class *hradio_class, *hradio_old_class;
  
  /* widget helper functions */
  
! void hradio_draw_update(t_hradio *x, t_glist *glist)
  {
      if(glist_isvisible(glist)) {
--- 21,36 ----
  t_widgetbehavior hradio_widgetbehavior;
  static t_class *hradio_class, *hradio_old_class;
+ static t_class *vradio_class, *vradio_old_class;
  
  /* widget helper functions */
  
! static int isvert(t_hradio *x) {
! 	t_class *c = x->x_gui.x_obj.te_g.g_pd;
! 	if (c==vradio_class || c==vradio_old_class) return 1;
! 	if (c==hradio_class || c==hradio_old_class) return 0;
! 	abort();
! }
! 
! static void hradio_draw_update(t_hradio *x, t_glist *glist)
  {
      if(glist_isvisible(glist)) {
***************
*** 32,45 ****
  }
  
! void hradio_draw_new(t_hradio *x, t_glist *glist)
  {
      t_canvas *canvas=glist_getcanvas(glist);
      int n=x->x_number;
!     int x1=text_xpix(&x->x_gui.x_obj, glist), x2=x1+x->x_gui.x_w*x->x_number;
!     int y1=text_ypix(&x->x_gui.x_obj, glist), y2=y1+x->x_gui.x_h;
!     sys_vgui("radio_draw .x%x.c %x %d %d %d %d %d %d 0 %d #%6.6x\n",
  	canvas, x, x1, y1, x2, y2,
  	!x->x_gui.x_fsf.x_rcv_able, !x->x_gui.x_fsf.x_snd_able,
! 	x->x_number,x->x_gui.x_bcol);
      sys_vgui("radio_set .x%x.c %x %d\n",canvas,x,x->x_on);
      sys_vgui(".x%x.c create text %d %d -text {%s} -anchor w \
--- 40,53 ----
  }
  
! static void hradio_draw_new(t_hradio *x, t_glist *glist)
  {
      t_canvas *canvas=glist_getcanvas(glist);
      int n=x->x_number;
!     int x1=text_xpix(&x->x_gui.x_obj, glist), x2=x1+x->x_gui.x_w*(isvert(x)?1:x->x_number);
!     int y1=text_ypix(&x->x_gui.x_obj, glist), y2=y1+x->x_gui.x_h*(isvert(x)?x->x_number:1);
!     sys_vgui("radio_draw .x%x.c %x %d %d %d %d %d %d %d %d #%6.6x\n",
  	canvas, x, x1, y1, x2, y2,
  	!x->x_gui.x_fsf.x_rcv_able, !x->x_gui.x_fsf.x_snd_able,
! 	isvert(x),x->x_number,x->x_gui.x_bcol);
      sys_vgui("radio_set .x%x.c %x %d\n",canvas,x,x->x_on);
      sys_vgui(".x%x.c create text %d %d -text {%s} -anchor w \
***************
*** 50,63 ****
  }
  
! void hradio_draw_move(t_hradio *x, t_glist *glist)
  {
      t_canvas *canvas=glist_getcanvas(glist);
      int n=x->x_number;
!     int x1=text_xpix(&x->x_gui.x_obj, glist), x2=x1+x->x_gui.x_w*x->x_number;
!     int y1=text_ypix(&x->x_gui.x_obj, glist), y2=y1+x->x_gui.x_h;
!     sys_vgui("radio_draw .x%x.c %x %d %d %d %d %d %d 0 %d #%6.6x\n",
  	canvas, x, x1, y1, x2, y2,
  	!x->x_gui.x_fsf.x_rcv_able, !x->x_gui.x_fsf.x_snd_able,
! 	x->x_number,x->x_gui.x_bcol);
      sys_vgui("radio_set .x%x.c %x %d\n",canvas,x,x->x_on);
      sys_vgui(".x%x.c coords %xLABEL %d %d\n",
--- 58,71 ----
  }
  
! static void hradio_draw_move(t_hradio *x, t_glist *glist)
  {
      t_canvas *canvas=glist_getcanvas(glist);
      int n=x->x_number;
!     int x1=text_xpix(&x->x_gui.x_obj, glist), x2=x1+x->x_gui.x_w*(isvert(x)?1:x->x_number);
!     int y1=text_ypix(&x->x_gui.x_obj, glist), y2=y1+x->x_gui.x_h*(isvert(x)?x->x_number:1);
!     sys_vgui("radio_draw .x%x.c %x %d %d %d %d %d %d %s %d #%6.6x\n",
  	canvas, x, x1, y1, x2, y2,
  	!x->x_gui.x_fsf.x_rcv_able, !x->x_gui.x_fsf.x_snd_able,
! 	isvert(x), x->x_number,x->x_gui.x_bcol);
      sys_vgui("radio_set .x%x.c %x %d\n",canvas,x,x->x_on);
      sys_vgui(".x%x.c coords %xLABEL %d %d\n",
***************
*** 65,69 ****
  }
  
! void hradio_draw_erase(t_hradio* x, t_glist* glist)
  {
      t_canvas *canvas=glist_getcanvas(glist);
--- 73,77 ----
  }
  
! static void hradio_draw_erase(t_hradio* x, t_glist* glist)
  {
      t_canvas *canvas=glist_getcanvas(glist);
***************
*** 72,81 ****
  }
  
! void hradio_draw_config(t_hradio* x, t_glist* glist)
  {
      hradio_draw_new(x,glist);
  }
  
! void hradio_draw_select(t_hradio* x, t_glist* glist)
  {
      t_canvas *canvas=glist_getcanvas(glist);
--- 80,89 ----
  }
  
! static void hradio_draw_config(t_hradio* x, t_glist* glist)
  {
      hradio_draw_new(x,glist);
  }
  
! static void hradio_draw_select(t_hradio* x, t_glist* glist)
  {
      t_canvas *canvas=glist_getcanvas(glist);
***************
*** 83,87 ****
  }
  
! void hradio_draw(t_hradio *x, t_glist *glist, int mode)
  {
      if     (mode == IEM_GUI_DRAW_MODE_UPDATE)	hradio_draw_update(x, glist);
--- 91,95 ----
  }
  
! static void hradio_draw(t_hradio *x, t_glist *glist, int mode)
  {
      if     (mode == IEM_GUI_DRAW_MODE_UPDATE)	hradio_draw_update(x, glist);
***************
*** 102,107 ****
      *xp1 = text_xpix(&x->x_gui.x_obj, glist);
      *yp1 = text_ypix(&x->x_gui.x_obj, glist);
!     *xp2 = *xp1 + x->x_gui.x_w*x->x_number;
!     *yp2 = *yp1 + x->x_gui.x_h;
  }
  
--- 110,115 ----
      *xp1 = text_xpix(&x->x_gui.x_obj, glist);
      *yp1 = text_ypix(&x->x_gui.x_obj, glist);
!     *xp2 = *xp1 + x->x_gui.x_w*(isvert(x)?1:x->x_number);
!     *yp2 = *yp1 + x->x_gui.x_h*(isvert(x)?x->x_number:1);
  }
  
***************
*** 116,119 ****
--- 124,130 ----
  		(t_int)text_xpix(&x->x_gui.x_obj, x->x_gui.x_glist),
  		(t_int)text_ypix(&x->x_gui.x_obj, x->x_gui.x_glist),
+ 		isvert(x) ?
+ 		(pd_class(&x->x_gui.x_obj.ob_pd) == hradio_old_class ?
+ 		    gensym("vdl") : gensym("vradio")) :
  		(pd_class(&x->x_gui.x_obj.ob_pd) == hradio_old_class ?
  		    gensym("hdl") : gensym("hradio")),
***************
*** 332,338 ****
      t_floatarg shift, t_floatarg ctrl, t_floatarg alt)
  {
      int xx = (int)xpos - (int)text_xpix(&x->x_gui.x_obj, x->x_gui.x_glist);
      hradio_fout(x, (float)(xx / x->x_gui.x_w));
! }
  
  static int hradio_newclick(t_gobj *z, struct _glist *glist,
--- 343,353 ----
      t_floatarg shift, t_floatarg ctrl, t_floatarg alt)
  {
+ if (isvert(x)) {
+     int yy = (int)ypos - (int)text_ypix(&x->x_gui.x_obj, x->x_gui.x_glist);
+     hradio_fout(x, (float)(yy / x->x_gui.x_h));
+ } else {
      int xx = (int)xpos - (int)text_xpix(&x->x_gui.x_obj, x->x_gui.x_glist);
      hradio_fout(x, (float)(xx / x->x_gui.x_w));
! }}
  
  static int hradio_newclick(t_gobj *z, struct _glist *glist,
***************
*** 412,418 ****
  {x->x_change = 0;}
  
! static void *hradio_donew(t_symbol *s, int argc, t_atom *argv, int old)
  {
-     t_hradio *x = (t_hradio *)pd_new(old? hradio_old_class : hradio_class);
      int bflcol[]={-262144, -1, -1};
      int a=IEM_GUI_DEFAULTSIZE, on=0, f=0;
--- 427,432 ----
  {x->x_change = 0;}
  
! static void *hradio_donew(t_symbol *s, int argc, t_atom *argv, t_hradio *x)
  {
      int bflcol[]={-262144, -1, -1};
      int a=IEM_GUI_DEFAULTSIZE, on=0, f=0;
***************
*** 474,485 ****
  
  static void *hradio_new(t_symbol *s, int argc, t_atom *argv)
! {
!     return (hradio_donew(s, argc, argv, 0));
! }
! 
  static void *hdial_new(t_symbol *s, int argc, t_atom *argv)
! {
!     return (hradio_donew(s, argc, argv, 1));
! }
  
  static void hradio_ff(t_hradio *x)
--- 488,498 ----
  
  static void *hradio_new(t_symbol *s, int argc, t_atom *argv)
! {return hradio_donew(s, argc, argv, (t_hradio *)pd_new(hradio_class));}
  static void *hdial_new(t_symbol *s, int argc, t_atom *argv)
! {return hradio_donew(s, argc, argv, (t_hradio *)pd_new(hradio_old_class));}
! static void *vradio_new(t_symbol *s, int argc, t_atom *argv)
! {return hradio_donew(s, argc, argv, (t_hradio *)pd_new(vradio_class));}
! static void *vdial_new(t_symbol *s, int argc, t_atom *argv)
! {return hradio_donew(s, argc, argv, (t_hradio *)pd_new(vradio_old_class));}
  
  static void hradio_ff(t_hradio *x)
***************
*** 490,533 ****
  }
  
  void g_hradio_setup(void)
  {
      hradio_class = class_new(gensym("hradio"), (t_newmethod)hradio_new,
      	(t_method)hradio_ff, sizeof(t_hradio), 0, A_GIMME, 0);
!     class_addbang(hradio_class, hradio_bang);
!     class_addfloat(hradio_class, hradio_float);
!     class_addmethod(hradio_class, (t_method)hradio_click, gensym("click"),
! 		    A_FLOAT, A_FLOAT, A_FLOAT, A_FLOAT, A_FLOAT, 0);
!     class_addmethod(hradio_class, (t_method)hradio_dialog, gensym("dialog"),
! 		    A_GIMME, 0);
!     class_addmethod(hradio_class, (t_method)hradio_loadbang,
!     	gensym("loadbang"), 0);
!     class_addmethod(hradio_class, (t_method)hradio_set,
!     	gensym("set"), A_FLOAT, 0);
!     class_addmethod(hradio_class, (t_method)hradio_size,
!     	gensym("size"), A_GIMME, 0);
!     class_addmethod(hradio_class, (t_method)hradio_delta,
!     	gensym("delta"), A_GIMME, 0);
!     class_addmethod(hradio_class, (t_method)hradio_pos,
!     	gensym("pos"), A_GIMME, 0);
!     class_addmethod(hradio_class, (t_method)hradio_color,
!     	gensym("color"), A_GIMME, 0);
!     class_addmethod(hradio_class, (t_method)hradio_send,
!     	gensym("send"), A_DEFSYM, 0);
!     class_addmethod(hradio_class, (t_method)hradio_receive,
!     	gensym("receive"), A_DEFSYM, 0);
!     class_addmethod(hradio_class, (t_method)hradio_label,
!     	gensym("label"), A_DEFSYM, 0);
!     class_addmethod(hradio_class, (t_method)hradio_label_pos,
!     	gensym("label_pos"), A_GIMME, 0);
!     class_addmethod(hradio_class, (t_method)hradio_label_font,
!     	gensym("label_font"), A_GIMME, 0);
!     class_addmethod(hradio_class, (t_method)hradio_init,
!     	gensym("init"), A_FLOAT, 0);
!     class_addmethod(hradio_class, (t_method)hradio_number,
!     	gensym("number"), A_FLOAT, 0);
!     class_addmethod(hradio_class, (t_method)hradio_single_change,
!     	gensym("single_change"), 0);
!     class_addmethod(hradio_class, (t_method)hradio_double_change,
!     	gensym("double_change"), 0);
      hradio_widgetbehavior.w_getrectfn = hradio_getrect;
      hradio_widgetbehavior.w_displacefn = iemgui_displace;
--- 503,561 ----
  }
  
+ static void hradio_methods(t_class *c, t_class *o) {
+     class_addbang(c, hradio_bang);
+     class_addfloat(c, hradio_float);
+     class_addmethod(c, (t_method)hradio_click, gensym("click"), A_FLOAT, A_FLOAT, A_FLOAT, A_FLOAT, A_FLOAT, 0);
+     class_addmethod(c, (t_method)hradio_dialog, gensym("dialog"), A_GIMME, 0);
+     class_addmethod(c, (t_method)hradio_loadbang, gensym("loadbang"), 0);
+     class_addmethod(c, (t_method)hradio_set, gensym("set"), A_FLOAT, 0);
+     class_addmethod(c, (t_method)hradio_size, gensym("size"), A_GIMME, 0);
+     class_addmethod(c, (t_method)hradio_delta, gensym("delta"), A_GIMME, 0);
+     class_addmethod(c, (t_method)hradio_pos, gensym("pos"), A_GIMME, 0);
+     class_addmethod(c, (t_method)hradio_color, gensym("color"), A_GIMME, 0);
+     class_addmethod(c, (t_method)hradio_send, gensym("send"), A_DEFSYM, 0);
+     class_addmethod(c, (t_method)hradio_receive, gensym("receive"), A_DEFSYM, 0);
+     class_addmethod(c, (t_method)hradio_label, gensym("label"), A_DEFSYM, 0);
+     class_addmethod(c, (t_method)hradio_label_pos, gensym("label_pos"), A_GIMME, 0);
+     class_addmethod(c, (t_method)hradio_label_font, gensym("label_font"), A_GIMME, 0);
+     class_addmethod(c, (t_method)hradio_init, gensym("init"), A_FLOAT, 0);
+     class_addmethod(c, (t_method)hradio_number, gensym("number"), A_FLOAT, 0);
+     class_addmethod(c, (t_method)hradio_single_change, gensym("single_change"), 0);
+     class_addmethod(c, (t_method)hradio_double_change, gensym("double_change"), 0);
+     class_addbang(o, hradio_bang);
+     class_addfloat(o, hradio_float);
+     class_addmethod(o, (t_method)hradio_click, gensym("click"),
+ 		    A_FLOAT, A_FLOAT, A_FLOAT, A_FLOAT, A_FLOAT, 0);
+     class_addmethod(o, (t_method)hradio_dialog, gensym("dialog"), A_GIMME, 0);
+     class_addmethod(o, (t_method)hradio_loadbang, gensym("loadbang"), 0);
+     class_addmethod(o, (t_method)hradio_set, gensym("set"), A_FLOAT, 0);
+     class_addmethod(o, (t_method)hradio_size, gensym("size"), A_GIMME, 0);
+     class_addmethod(o, (t_method)hradio_delta, gensym("delta"), A_GIMME, 0);
+     class_addmethod(o, (t_method)hradio_pos, gensym("pos"), A_GIMME, 0);
+     class_addmethod(o, (t_method)hradio_color, gensym("color"), A_GIMME, 0);
+     class_addmethod(o, (t_method)hradio_send, gensym("send"), A_DEFSYM, 0);
+     class_addmethod(o, (t_method)hradio_receive, gensym("receive"), A_DEFSYM, 0);
+     class_addmethod(o, (t_method)hradio_label, gensym("label"), A_DEFSYM, 0);
+     class_addmethod(o, (t_method)hradio_label_pos, gensym("label_pos"), A_GIMME, 0);
+     class_addmethod(o, (t_method)hradio_label_font, gensym("label_font"), A_GIMME, 0);
+     class_addmethod(o, (t_method)hradio_init, gensym("init"), A_FLOAT, 0);
+     class_addmethod(o, (t_method)hradio_number, gensym("number"), A_FLOAT, 0);
+     class_addmethod(o, (t_method)hradio_single_change, gensym("single_change"), 0);
+     class_addmethod(o, (t_method)hradio_double_change, gensym("double_change"), 0);
+ }
+ 
  void g_hradio_setup(void)
  {
      hradio_class = class_new(gensym("hradio"), (t_newmethod)hradio_new,
      	(t_method)hradio_ff, sizeof(t_hradio), 0, A_GIMME, 0);
!     vradio_class = class_new(gensym("vradio"), (t_newmethod)vradio_new,
!     	(t_method)hradio_ff, sizeof(t_hradio), 0, A_GIMME, 0);
!     hradio_old_class = class_new(gensym("hdl"), (t_newmethod)hdial_new,
!     	(t_method)hradio_ff, sizeof(t_hradio), 0, A_GIMME, 0);
!     vradio_old_class = class_new(gensym("vdl"), (t_newmethod)vdial_new,
!     	(t_method)hradio_ff, sizeof(t_hradio), 0, A_GIMME, 0);
! 
!     hradio_methods(hradio_class,hradio_old_class);
!     hradio_methods(vradio_class,vradio_old_class);
      hradio_widgetbehavior.w_getrectfn = hradio_getrect;
      hradio_widgetbehavior.w_displacefn = iemgui_displace;
***************
*** 537,573 ****
      hradio_widgetbehavior.w_visfn = iemgui_vis;
      hradio_widgetbehavior.w_clickfn = hradio_newclick;
      class_setwidget(hradio_class, &hradio_widgetbehavior);
      class_sethelpsymbol(hradio_class, gensym("hradio"));
      class_setsavefn(hradio_class, hradio_save);
      class_setpropertiesfn(hradio_class, hradio_properties);
  
-     	/*obsolete version (0.34-0.35) */
-     hradio_old_class = class_new(gensym("hdl"), (t_newmethod)hdial_new,
-     	(t_method)hradio_ff, sizeof(t_hradio), 0, A_GIMME, 0);
      class_addcreator((t_newmethod)hradio_new, gensym("rdb"), A_GIMME, 0);
      class_addcreator((t_newmethod)hradio_new, gensym("radiobut"), A_GIMME, 0);
!     class_addcreator((t_newmethod)hradio_new, gensym("radiobutton"),
!     	A_GIMME, 0);
!     class_addbang(hradio_old_class, hradio_bang);
!     class_addfloat(hradio_old_class, hradio_float);
!     class_addmethod(hradio_old_class, (t_method)hradio_click, gensym("click"),
! 		    A_FLOAT, A_FLOAT, A_FLOAT, A_FLOAT, A_FLOAT, 0);
!     class_addmethod(hradio_old_class, (t_method)hradio_dialog, gensym("dialog"), A_GIMME, 0);
!     class_addmethod(hradio_old_class, (t_method)hradio_loadbang, gensym("loadbang"), 0);
!     class_addmethod(hradio_old_class, (t_method)hradio_set, gensym("set"), A_FLOAT, 0);
!     class_addmethod(hradio_old_class, (t_method)hradio_size, gensym("size"), A_GIMME, 0);
!     class_addmethod(hradio_old_class, (t_method)hradio_delta, gensym("delta"), A_GIMME, 0);
!     class_addmethod(hradio_old_class, (t_method)hradio_pos, gensym("pos"), A_GIMME, 0);
!     class_addmethod(hradio_old_class, (t_method)hradio_color, gensym("color"), A_GIMME, 0);
!     class_addmethod(hradio_old_class, (t_method)hradio_send, gensym("send"), A_DEFSYM, 0);
!     class_addmethod(hradio_old_class, (t_method)hradio_receive, gensym("receive"), A_DEFSYM, 0);
!     class_addmethod(hradio_old_class, (t_method)hradio_label, gensym("label"), A_DEFSYM, 0);
!     class_addmethod(hradio_old_class, (t_method)hradio_label_pos, gensym("label_pos"), A_GIMME, 0);
!     class_addmethod(hradio_old_class, (t_method)hradio_label_font, gensym("label_font"), A_GIMME, 0);
!     class_addmethod(hradio_old_class, (t_method)hradio_init, gensym("init"), A_FLOAT, 0);
!     class_addmethod(hradio_old_class, (t_method)hradio_number, gensym("number"), A_FLOAT, 0);
!     class_addmethod(hradio_old_class, (t_method)hradio_single_change, gensym("single_change"), 0);
!     class_addmethod(hradio_old_class, (t_method)hradio_double_change, gensym("double_change"), 0);
      class_setwidget(hradio_old_class, &hradio_widgetbehavior);
      class_sethelpsymbol(hradio_old_class, gensym("hradio"));
  }
--- 565,586 ----
      hradio_widgetbehavior.w_visfn = iemgui_vis;
      hradio_widgetbehavior.w_clickfn = hradio_newclick;
+ 
      class_setwidget(hradio_class, &hradio_widgetbehavior);
+     class_setwidget(vradio_class, &hradio_widgetbehavior);
      class_sethelpsymbol(hradio_class, gensym("hradio"));
+     class_sethelpsymbol(vradio_class, gensym("vradio"));
      class_setsavefn(hradio_class, hradio_save);
+     class_setsavefn(vradio_class, hradio_save);
      class_setpropertiesfn(hradio_class, hradio_properties);
+     class_setpropertiesfn(vradio_class, hradio_properties);
  
      class_addcreator((t_newmethod)hradio_new, gensym("rdb"), A_GIMME, 0);
      class_addcreator((t_newmethod)hradio_new, gensym("radiobut"), A_GIMME, 0);
!     class_addcreator((t_newmethod)hradio_new, gensym("radiobutton"), A_GIMME, 0);
      class_setwidget(hradio_old_class, &hradio_widgetbehavior);
+     class_setwidget(vradio_old_class, &hradio_widgetbehavior);
      class_sethelpsymbol(hradio_old_class, gensym("hradio"));
+     class_sethelpsymbol(vradio_old_class, gensym("vradio"));
  }
+ 
+ void g_vradio_setup(void) {}

Index: g_vdial.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/g_vdial.c,v
retrieving revision 1.1.1.4.2.2.2.3
retrieving revision 1.1.1.4.2.2.2.4
diff -C2 -d -r1.1.1.4.2.2.2.3 -r1.1.1.4.2.2.2.4
*** g_vdial.c	7 Mar 2004 19:38:13 -0000	1.1.1.4.2.2.2.3
--- g_vdial.c	7 Mar 2004 20:35:05 -0000	1.1.1.4.2.2.2.4
***************
*** 1,569 ****
- /* Copyright (c) 1997-1999 Miller Puckette.
-  * For information on usage and redistribution, and for a DISCLAIMER OF ALL
-  * WARRANTIES, see the file, "LICENSE.txt," in this distribution. */
- 
- /* vdial.c written by Thomas Musil (c) IEM KUG Graz Austria 2000-2001 */
- /* thanks to Miller Puckette, Guenther Geiger and Krzystof Czaja */
- 
- /* name change to vradio by MSP (it's a radio button really) and changed to
- put out a "float" as in sliders, toggles, etc. */
- 
- #include <stdlib.h>
- #include <string.h>
- #include <stdio.h>
- #include <ctype.h>
- #include "m_pd.h"
- #include "g_canvas.h"
- #include "t_tk.h"
- #include "g_all_guis.h"
- #include <math.h>
- 
- t_widgetbehavior vradio_widgetbehavior;
- static t_class *vradio_class, *vradio_old_class;
- 
- /* widget helper functions */
- 
- void vradio_draw_update(t_vradio *x, t_glist *glist)
- {
-     if(glist_isvisible(glist)) {
- 	t_canvas *canvas=glist_getcanvas(glist);
-         sys_vgui("radio_set .x%x.c %x %d\n",canvas,x,x->x_on);
-     }
- }
- 
- void vradio_draw_new(t_vradio *x, t_glist *glist)
- {
-     t_canvas *canvas=glist_getcanvas(glist);
-     int n=x->x_number;
-     int x1=text_xpix(&x->x_gui.x_obj, glist), x2=x1+x->x_gui.x_w;
-     int y1=text_ypix(&x->x_gui.x_obj, glist), y2=y1+x->x_gui.x_h*x->x_number;
-     sys_vgui("radio_draw .x%x.c %x %d %d %d %d %d %d 1 %d #%6.6x\n",
- 	canvas, x, x1, y1, x2, y2,
- 	!x->x_gui.x_fsf.x_rcv_able, !x->x_gui.x_fsf.x_snd_able,
- 	x->x_number,x->x_gui.x_bcol);
-     sys_vgui("radio_set .x%x.c %x %d\n",canvas,x,x->x_on);
-     sys_vgui(".x%x.c create text %d %d -text {%s} -anchor w \
- 	-font {%s %d bold} -fill #%6.6x -tags %xLABEL\n",
- 	canvas, x1+x->x_gui.x_ldx, y1+x->x_gui.x_ldy,
- 	strcmp(x->x_gui.x_lab->s_name, "empty")?x->x_gui.x_lab->s_name:"",
- 	x->x_gui.x_font, x->x_gui.x_fontsize, x->x_gui.x_lcol, x);
- }
- 
- void vradio_draw_move(t_vradio *x, t_glist *glist)
- {
-     t_canvas *canvas=glist_getcanvas(glist);
-     int n=x->x_number;
-     int x1=text_xpix(&x->x_gui.x_obj, glist), x2=x1+x->x_gui.x_w;
-     int y1=text_ypix(&x->x_gui.x_obj, glist), y2=y1+x->x_gui.x_h*x->x_number;
-     sys_vgui("radio_draw .x%x.c %x %d %d %d %d %d %d 1 %d #%6.6x\n",
- 	canvas, x, x1, y1, x2, y2,
- 	!x->x_gui.x_fsf.x_rcv_able, !x->x_gui.x_fsf.x_snd_able,
- 	x->x_number,x->x_gui.x_bcol);
-     sys_vgui("radio_set .x%x.c %x %d\n",canvas,x,x->x_on);
-     sys_vgui(".x%x.c coords %xLABEL %d %d\n",
- 	     canvas, x, x1+x->x_gui.x_ldx, y1+x->x_gui.x_ldy);
- }
- 
- void vradio_draw_erase(t_vradio* x, t_glist* glist)
- {
-     t_canvas *canvas=glist_getcanvas(glist);
-     sys_vgui("radio_erase .x%x.c %x\n", canvas, x);
-     sys_vgui(".x%x.c delete %xLABEL\n", canvas, x);
- }
- 
- void vradio_draw_config(t_vradio* x, t_glist* glist)
- {
-     vradio_draw_new(x,glist);
- }
- 
- void vradio_draw_select(t_vradio* x, t_glist* glist)
- {
-     t_canvas *canvas=glist_getcanvas(glist);
-     sys_vgui("bluebox_select .x%x.c %xBASE %d\n", canvas, x, x->x_gui.x_fsf.x_selected);
- }
- 
- void vradio_draw(t_vradio *x, t_glist *glist, int mode)
- {
-     if     (mode == IEM_GUI_DRAW_MODE_UPDATE)	vradio_draw_update(x, glist);
-     else if(mode == IEM_GUI_DRAW_MODE_MOVE)	vradio_draw_move(x, glist);
-     else if(mode == IEM_GUI_DRAW_MODE_NEW)	vradio_draw_new(x, glist);
-     else if(mode == IEM_GUI_DRAW_MODE_SELECT)	vradio_draw_select(x, glist);
-     else if(mode == IEM_GUI_DRAW_MODE_ERASE)	vradio_draw_erase(x, glist);
-     else if(mode == IEM_GUI_DRAW_MODE_CONFIG)	vradio_draw_config(x, glist);
-     else if(mode >= IEM_GUI_DRAW_MODE_IO)	vradio_draw_move(x, glist);
- }
- 
- /* ------------------------ vdl widgetbehaviour----------------------------- */
- 
- static void vradio_getrect(t_gobj *z, t_glist *glist, int *xp1, int *yp1, int *xp2, int *yp2)
- {
-     t_vradio *x = (t_vradio *)z;
- 
-     *xp1 = text_xpix(&x->x_gui.x_obj, glist);
-     *yp1 = text_ypix(&x->x_gui.x_obj, glist);
-     *xp2 = *xp1 + x->x_gui.x_w;
-     *yp2 = *yp1 + x->x_gui.x_h*x->x_number;
- }
- 
- static void vradio_save(t_gobj *z, t_binbuf *b)
- {
-     t_vradio *x = (t_vradio *)z;
-     int bflcol[3];
-     t_symbol *srl[3];
- 
-     iemgui_save(&x->x_gui, srl, bflcol);
-     binbuf_addv(b, "ssiisiiiisssiiiiiiii", gensym("#X"),gensym("obj"),
- 		(t_int)text_xpix(&x->x_gui.x_obj, x->x_gui.x_glist),
- 		(t_int)text_ypix(&x->x_gui.x_obj, x->x_gui.x_glist),
- 		(pd_class(&x->x_gui.x_obj.ob_pd) == vradio_old_class ?
- 		    gensym("vdl") : gensym("vradio")),
- 		x->x_gui.x_w,
- 		x->x_change, iem_symargstoint(&x->x_gui.x_isa), x->x_number,
- 		srl[0], srl[1], srl[2],
- 		x->x_gui.x_ldx, x->x_gui.x_ldy,
- 		iem_fstyletoint(&x->x_gui.x_fsf), x->x_gui.x_fontsize,
- 		bflcol[0], bflcol[1], bflcol[2], x->x_on);
-     binbuf_addv(b, ";");
- }
- 
- static void vradio_properties(t_gobj *z, t_glist *owner)
- {
-     t_vradio *x = (t_vradio *)z;
-     char buf[800];
-     t_symbol *srl[3];
- 
-     iemgui_properties(&x->x_gui, srl);
-     sprintf(buf, "pdtk_iemgui_dialog %%s vradio \
- 	    ----------dimensions(pix):----------- %d %d size: 0 0 empty \
- 	    empty 0.0 empty 0.0 empty %d \
- 	    %d new-only new&old %d %d number: %d \
- 	    %s %s \
- 	    %s %d %d \
- 	    %d %d \
- 	    %d %d %d\n",
- 	    x->x_gui.x_w, IEM_GUI_MINSIZE,
- 	    0,/*no_schedule*/
- 	    x->x_change, x->x_gui.x_isa.x_loadinit, -1, x->x_number,
- 	    srl[0]->s_name, srl[1]->s_name,
- 	    srl[2]->s_name, x->x_gui.x_ldx, x->x_gui.x_ldy,
- 	    x->x_gui.x_fsf.x_font_style, x->x_gui.x_fontsize,
- 	    0xffffff & x->x_gui.x_bcol, 0xffffff & x->x_gui.x_fcol, 0xffffff & x->x_gui.x_lcol);
-     gfxstub_new(&x->x_gui.x_obj.ob_pd, x, buf);
- }
- 
- static void vradio_dialog(t_vradio *x, t_symbol *s, int argc, t_atom *argv)
- {
-     t_symbol *srl[3];
-     int a   = (int)atom_getintarg(0, argc, argv);
-     int chg = (int)atom_getintarg(4, argc, argv);
-     int num = (int)atom_getintarg(6, argc, argv);
-     int sr_flags;
- 
-     if(chg != 0) chg = 1;
-     x->x_change = chg;
-     sr_flags = iemgui_dialog(&x->x_gui, srl, argc, argv);
-     x->x_gui.x_w = iemgui_clip_size(a);
-     x->x_gui.x_h = x->x_gui.x_w;
-     if(x->x_number != num)
-     {
- 	(*x->x_gui.x_draw)(x, x->x_gui.x_glist, IEM_GUI_DRAW_MODE_ERASE);
- 	x->x_number = num;
- 	if(x->x_on >= x->x_number)
- 	{
- 	    x->x_on = x->x_number - 1;
- 	    x->x_on_old = x->x_on;
- 	}
- 	(*x->x_gui.x_draw)(x, x->x_gui.x_glist, IEM_GUI_DRAW_MODE_NEW);
-     }
-     else
-     {
- 	(*x->x_gui.x_draw)(x, x->x_gui.x_glist, IEM_GUI_DRAW_MODE_CONFIG);
-         (*x->x_gui.x_draw)(x, x->x_gui.x_glist, IEM_GUI_DRAW_MODE_IO + sr_flags);
- 	(*x->x_gui.x_draw)(x, x->x_gui.x_glist, IEM_GUI_DRAW_MODE_MOVE);
- 	canvas_fixlinesfor(glist_getcanvas(x->x_gui.x_glist), (t_text*)x);
-     }
- }
- 
- static void vradio_set(t_vradio *x, t_floatarg f)
- {
-     int i=(int)f;
-     int old=x->x_on_old;
- 
-     if(i < 0)
- 	i = 0;
-     if(i >= x->x_number)
- 	i = x->x_number-1;
-     if(x->x_on != x->x_on_old)
-     {
- 	old = x->x_on_old;
- 	x->x_on_old = x->x_on;
- 	x->x_on = i;
- 	(*x->x_gui.x_draw)(x, x->x_gui.x_glist, IEM_GUI_DRAW_MODE_UPDATE);
- 	x->x_on_old = old;
-     }
-     else
-     {
- 	x->x_on = i;
- 	(*x->x_gui.x_draw)(x, x->x_gui.x_glist, IEM_GUI_DRAW_MODE_UPDATE);
-     }
- }
- 
- static void vradio_bang(t_vradio *x)
- {
-     	/* compatibility with earlier  "vdial" behavior */
-     if (pd_class(&x->x_gui.x_obj.ob_pd) == vradio_old_class)
-     {
- 	if((x->x_change)&&(x->x_on != x->x_on_old))
- 	{
- 	    SETFLOAT(x->x_at, (float)x->x_on_old);
- 	    SETFLOAT(x->x_at+1, 0.0);
- 	    outlet_list(x->x_gui.x_obj.ob_outlet, &s_list, 2, x->x_at);
- 	    if(x->x_gui.x_fsf.x_snd_able && x->x_gui.x_snd->s_thing)
- 		pd_list(x->x_gui.x_snd->s_thing, &s_list, 2, x->x_at);
- 	}
- 	x->x_on_old = x->x_on;
- 	SETFLOAT(x->x_at, (float)x->x_on);
- 	SETFLOAT(x->x_at+1, 1.0);
- 	outlet_list(x->x_gui.x_obj.ob_outlet, &s_list, 2, x->x_at);
- 	if(x->x_gui.x_fsf.x_snd_able && x->x_gui.x_snd->s_thing)
- 	    pd_list(x->x_gui.x_snd->s_thing, &s_list, 2, x->x_at);
-     }
-     else
-     {
-     	outlet_float(x->x_gui.x_obj.ob_outlet, x->x_on);
- 	if(x->x_gui.x_fsf.x_snd_able && x->x_gui.x_snd->s_thing)
- 	    pd_float(x->x_gui.x_snd->s_thing, x->x_on);
-     }
- }
- 
- static void vradio_fout(t_vradio *x, t_floatarg f)
- {
-     int i=(int)f;
- 
-     if(i < 0)
- 	i = 0;
-     if(i >= x->x_number)
- 	i = x->x_number-1;
- 
-     if (pd_class(&x->x_gui.x_obj.ob_pd) == vradio_old_class)
-     {
-     	    /* compatibility with earlier  "vdial" behavior */
- 	if((x->x_change)&&(i != x->x_on_old))
- 	{
-             SETFLOAT(x->x_at, (float)x->x_on_old);
- 	    SETFLOAT(x->x_at+1, 0.0);
- 	    outlet_list(x->x_gui.x_obj.ob_outlet, &s_list, 2, x->x_at);
- 	    if(x->x_gui.x_fsf.x_snd_able && x->x_gui.x_snd->s_thing)
- 		pd_list(x->x_gui.x_snd->s_thing, &s_list, 2, x->x_at);
- 	}
- 	if(x->x_on != x->x_on_old)
- 	    x->x_on_old = x->x_on;
- 	x->x_on = i;
- 	(*x->x_gui.x_draw)(x, x->x_gui.x_glist, IEM_GUI_DRAW_MODE_UPDATE);
- 	x->x_on_old = x->x_on;
- 	SETFLOAT(x->x_at, (float)x->x_on);
- 	SETFLOAT(x->x_at+1, 1.0);
- 	outlet_list(x->x_gui.x_obj.ob_outlet, &s_list, 2, x->x_at);
- 	if(x->x_gui.x_fsf.x_snd_able && x->x_gui.x_snd->s_thing)
- 	    pd_list(x->x_gui.x_snd->s_thing, &s_list, 2, x->x_at);
-     }
-     else
-     {
-     	outlet_float(x->x_gui.x_obj.ob_outlet, x->x_on = i);
- 	if(x->x_gui.x_fsf.x_snd_able && x->x_gui.x_snd->s_thing)
- 	    pd_float(x->x_gui.x_snd->s_thing, x->x_on);
- 	(*x->x_gui.x_draw)(x, x->x_gui.x_glist, IEM_GUI_DRAW_MODE_UPDATE);
- 	x->x_on_old = x->x_on;
-     }
- }
- 
- static void vradio_float(t_vradio *x, t_floatarg f)
- {
-     int i=(int)f;
- 
-     if(i < 0)
- 	i = 0;
-     if(i >= x->x_number)
- 	i = x->x_number-1;
- 
-     if (pd_class(&x->x_gui.x_obj.ob_pd) == vradio_old_class)
-     {
-     	    /* compatibility with earlier  "vdial" behavior */
- 	if((x->x_change)&&(i != x->x_on_old))
- 	{
- 	    if(x->x_gui.x_fsf.x_put_in2out)
- 	    {
-         	SETFLOAT(x->x_at, (float)x->x_on_old);
- 		SETFLOAT(x->x_at+1, 0.0);
- 		outlet_list(x->x_gui.x_obj.ob_outlet, &s_list, 2, x->x_at);
- 		if(x->x_gui.x_fsf.x_snd_able && x->x_gui.x_snd->s_thing)
- 		    pd_list(x->x_gui.x_snd->s_thing, &s_list, 2, x->x_at);
- 	    }
- 	}
- 	if(x->x_on != x->x_on_old)
- 	    x->x_on_old = x->x_on;
- 	x->x_on = i;
- 	(*x->x_gui.x_draw)(x, x->x_gui.x_glist, IEM_GUI_DRAW_MODE_UPDATE);
- 	x->x_on_old = x->x_on;
- 	if(x->x_gui.x_fsf.x_put_in2out)
- 	{
- 	    SETFLOAT(x->x_at, (float)x->x_on);
-             SETFLOAT(x->x_at+1, 1.0);
- 	    outlet_list(x->x_gui.x_obj.ob_outlet, &s_list, 2, x->x_at);
- 	    if(x->x_gui.x_fsf.x_snd_able && x->x_gui.x_snd->s_thing)
- 		pd_list(x->x_gui.x_snd->s_thing, &s_list, 2, x->x_at);
- 	}
-     }
-     else
-     {
-     	x->x_on = i;
- 	if (x->x_gui.x_fsf.x_put_in2out)
- 	{
- 	    outlet_float(x->x_gui.x_obj.ob_outlet, x->x_on);
- 	    if(x->x_gui.x_fsf.x_snd_able && x->x_gui.x_snd->s_thing)
- 		pd_float(x->x_gui.x_snd->s_thing, x->x_on);
- 	}
- 	(*x->x_gui.x_draw)(x, x->x_gui.x_glist, IEM_GUI_DRAW_MODE_UPDATE);
- 	x->x_on_old = x->x_on;
-     }
- }
  
- static void vradio_click(t_vradio *x, t_floatarg xpos, t_floatarg ypos,
-     t_floatarg shift, t_floatarg ctrl, t_floatarg alt)
- {
-     int yy = (int)ypos - (int)text_ypix(&x->x_gui.x_obj, x->x_gui.x_glist);
-     vradio_fout(x, (float)(yy / x->x_gui.x_h));
- }
  
- static int vradio_newclick(t_gobj *z, struct _glist *glist,
-     int xpix, int ypix, int shift, int alt, int dbl, int doit)
- {
-     if(doit)
- 	vradio_click((t_vradio *)z, (t_floatarg)xpix, (t_floatarg)ypix,
- 	    (t_floatarg)shift, 0, (t_floatarg)alt);
-     return (1);
- }
  
- static void vradio_loadbang(t_vradio *x)
- {
-     if(!sys_noloadbang && x->x_gui.x_isa.x_loadinit)
- 	vradio_bang(x);
- }
  
- static void vradio_number(t_vradio *x, t_floatarg num)
- {
-     int n=(int)num;
  
-     if(n < 1)
- 	n = 1;
-     if(n > IEM_RADIO_MAX)
- 	n = IEM_RADIO_MAX;
-     if(n != x->x_number)
-     {
- 	(*x->x_gui.x_draw)(x, x->x_gui.x_glist, IEM_GUI_DRAW_MODE_ERASE);
- 	x->x_number = n;
- 	if(x->x_on >= x->x_number)
- 	    x->x_on = x->x_number - 1;
- 	x->x_on_old = x->x_on;
- 	(*x->x_gui.x_draw)(x, x->x_gui.x_glist, IEM_GUI_DRAW_MODE_NEW);
-     }
- }
  
- static void vradio_size(t_vradio *x, t_symbol *s, int ac, t_atom *av)
- {
-     x->x_gui.x_w = iemgui_clip_size((int)atom_getintarg(0, ac, av));
-     x->x_gui.x_h = x->x_gui.x_w;
-     iemgui_size((void *)x, &x->x_gui);
- }
  
- static void vradio_delta(t_vradio *x, t_symbol *s, int ac, t_atom *av)
- {iemgui_delta((void *)x, &x->x_gui, s, ac, av);}
  
- static void vradio_pos(t_vradio *x, t_symbol *s, int ac, t_atom *av)
- {iemgui_pos((void *)x, &x->x_gui, s, ac, av);}
  
- static void vradio_color(t_vradio *x, t_symbol *s, int ac, t_atom *av)
- {iemgui_color((void *)x, &x->x_gui, s, ac, av);}
  
- static void vradio_send(t_vradio *x, t_symbol *s)
- {iemgui_send(x, &x->x_gui, s);}
  
- static void vradio_receive(t_vradio *x, t_symbol *s)
- {iemgui_receive(x, &x->x_gui, s);}
  
- static void vradio_label(t_vradio *x, t_symbol *s)
- {iemgui_label((void *)x, &x->x_gui, s);}
  
- static void vradio_label_pos(t_vradio *x, t_symbol *s, int ac, t_atom *av)
- {iemgui_label_pos((void *)x, &x->x_gui, s, ac, av);}
  
- static void vradio_label_font(t_vradio *x, t_symbol *s, int ac, t_atom *av)
- {iemgui_label_font((void *)x, &x->x_gui, s, ac, av);}
  
- static void vradio_init(t_vradio *x, t_floatarg f)
- {
-     x->x_gui.x_isa.x_loadinit = (f==0.0)?0:1;
- }
  
- static void vradio_double_change(t_vradio *x)
- {x->x_change = 1;}
  
- static void vradio_single_change(t_vradio *x)
- {x->x_change = 0;}
  
- static void *vradio_donew(t_symbol *s, int argc, t_atom *argv, int old)
- {
-     t_vradio *x = (t_vradio *)pd_new(old? vradio_old_class : vradio_class);
-     int bflcol[]={-262144, -1, -1};
-     int a=IEM_GUI_DEFAULTSIZE, on=0, f=0;
-     int ldx=0, ldy=-6, chg=1, num=8;
-     int fs=8;
-     int ftbreak=IEM_BNG_DEFAULTBREAKFLASHTIME, fthold=IEM_BNG_DEFAULTHOLDFLASHTIME;
-     char str[144];
  
-     iem_inttosymargs(&x->x_gui.x_isa, 0);
-     iem_inttofstyle(&x->x_gui.x_fsf, 0);
  
-     if(pd_scanargs(argc,argv,"iiFi???iiFiiiii",
-         &a,&chg,&num,&ldx,&ldy,&fs,&bflcol[0],&bflcol[1],&bflcol[2],&on))
-     {
- 	iem_inttosymargs(&x->x_gui.x_isa, atom_getintarg(2, argc, argv));
- 	iemgui_new_getnames(&x->x_gui, 4, argv);
- 	iem_inttofstyle(&x->x_gui.x_fsf, atom_getintarg(9, argc, argv));
-     }
-     else iemgui_new_getnames(&x->x_gui, 4, 0);
-     x->x_gui.x_draw = (t_iemfunptr)vradio_draw;
-     x->x_gui.x_fsf.x_snd_able = 1;
-     x->x_gui.x_fsf.x_rcv_able = 1;
-     x->x_gui.x_glist = (t_glist *)canvas_getcurrent();
-     if (!strcmp(x->x_gui.x_snd->s_name, "empty")) x->x_gui.x_fsf.x_snd_able = 0;
-     if (!strcmp(x->x_gui.x_rcv->s_name, "empty")) x->x_gui.x_fsf.x_rcv_able = 0;
-     if(x->x_gui.x_fsf.x_font_style == 1) strcpy(x->x_gui.x_font, "helvetica");
-     else if(x->x_gui.x_fsf.x_font_style == 2) strcpy(x->x_gui.x_font, "times");
-     else { x->x_gui.x_fsf.x_font_style = 0;
- 	strcpy(x->x_gui.x_font, "courier"); }
-     if(num < 1)
- 	num = 1;
-     if(num > IEM_RADIO_MAX)
- 	num = IEM_RADIO_MAX;
-     x->x_number = num;
-     if(on < 0)
- 	on = 0;
-     if(on >= x->x_number)
- 	on = x->x_number - 1;
-     if(x->x_gui.x_isa.x_loadinit)
- 	x->x_on = on;
-     else
- 	x->x_on = 0;
-     x->x_on_old = x->x_on;
-     x->x_change = (chg==0)?0:1;
-     if (x->x_gui.x_fsf.x_rcv_able)
-     	pd_bind(&x->x_gui.x_obj.ob_pd, x->x_gui.x_rcv);
-     x->x_gui.x_ldx = ldx;
-     x->x_gui.x_ldy = ldy;
-     if(fs < 4)
- 	fs = 4;
-     x->x_gui.x_fontsize = fs;
-     x->x_gui.x_w = iemgui_clip_size(a);
-     x->x_gui.x_h = x->x_gui.x_w;
-     iemgui_verify_snd_ne_rcv(&x->x_gui);
-     iemgui_all_colfromload(&x->x_gui, bflcol);
-     outlet_new(&x->x_gui.x_obj, &s_list);
-     return (x);
- }
  
- static void *vradio_new(t_symbol *s, int argc, t_atom *argv)
- {
-     return (vradio_donew(s, argc, argv, 0));
- }
  
- static void *vdial_new(t_symbol *s, int argc, t_atom *argv)
- {
-     return (vradio_donew(s, argc, argv, 1));
- }
  
- static void vradio_ff(t_vradio *x)
- {
-     if(x->x_gui.x_fsf.x_rcv_able)
- 	pd_unbind(&x->x_gui.x_obj.ob_pd, x->x_gui.x_rcv);
-     gfxstub_deleteforkey(x);
- }
  
- void g_vradio_setup(void)
- {
-     vradio_class = class_new(gensym("vradio"), (t_newmethod)vradio_new,
-     	(t_method)vradio_ff, sizeof(t_vradio), 0, A_GIMME, 0);
-     class_addbang(vradio_class, vradio_bang);
-     class_addfloat(vradio_class, vradio_float);
-     class_addmethod(vradio_class, (t_method)vradio_click, gensym("click"),
- 		    A_FLOAT, A_FLOAT, A_FLOAT, A_FLOAT, A_FLOAT, 0);
-     class_addmethod(vradio_class, (t_method)vradio_dialog, gensym("dialog"),
- 		    A_GIMME, 0);
-     class_addmethod(vradio_class, (t_method)vradio_loadbang,
-     	gensym("loadbang"), 0);
-     class_addmethod(vradio_class, (t_method)vradio_set,
-     	gensym("set"), A_FLOAT, 0);
-     class_addmethod(vradio_class, (t_method)vradio_size,
-     	gensym("size"), A_GIMME, 0);
-     class_addmethod(vradio_class, (t_method)vradio_delta,
-     	gensym("delta"), A_GIMME, 0);
-     class_addmethod(vradio_class, (t_method)vradio_pos,
-     	gensym("pos"), A_GIMME, 0);
-     class_addmethod(vradio_class, (t_method)vradio_color,
-     	gensym("color"), A_GIMME, 0);
-     class_addmethod(vradio_class, (t_method)vradio_send,
-     	gensym("send"), A_DEFSYM, 0);
-     class_addmethod(vradio_class, (t_method)vradio_receive,
-     	gensym("receive"), A_DEFSYM, 0);
-     class_addmethod(vradio_class, (t_method)vradio_label,
-     	gensym("label"), A_DEFSYM, 0);
-     class_addmethod(vradio_class, (t_method)vradio_label_pos,
-     	gensym("label_pos"), A_GIMME, 0);
-     class_addmethod(vradio_class, (t_method)vradio_label_font,
-     	gensym("label_font"), A_GIMME, 0);
-     class_addmethod(vradio_class, (t_method)vradio_init,
-     	gensym("init"), A_FLOAT, 0);
-     class_addmethod(vradio_class, (t_method)vradio_number,
-     	gensym("number"), A_FLOAT, 0);
-     class_addmethod(vradio_class, (t_method)vradio_single_change,
-     	gensym("single_change"), 0);
-     class_addmethod(vradio_class, (t_method)vradio_double_change,
-     	gensym("double_change"), 0);
-     vradio_widgetbehavior.w_getrectfn = vradio_getrect;
-     vradio_widgetbehavior.w_displacefn = iemgui_displace;
-     vradio_widgetbehavior.w_selectfn = iemgui_select;
-     vradio_widgetbehavior.w_activatefn = NULL;
-     vradio_widgetbehavior.w_deletefn = iemgui_delete;
-     vradio_widgetbehavior.w_visfn = iemgui_vis;
-     vradio_widgetbehavior.w_clickfn = vradio_newclick;
-     class_setwidget(vradio_class, &vradio_widgetbehavior);
-     class_sethelpsymbol(vradio_class, gensym("vradio"));
-     class_setsavefn(vradio_class, vradio_save);
-     class_setpropertiesfn(vradio_class, vradio_properties);
  
-     	/* obsolete version (0.34-0.35) */
-     vradio_old_class = class_new(gensym("vdl"), (t_newmethod)vdial_new,
- 	(t_method)vradio_ff, sizeof(t_vradio), 0, A_GIMME, 0);
-     class_addbang(vradio_old_class, vradio_bang);
-     class_addfloat(vradio_old_class, vradio_float);
-     class_addmethod(vradio_old_class, (t_method)vradio_click, gensym("click"),
- 		    A_FLOAT, A_FLOAT, A_FLOAT, A_FLOAT, A_FLOAT, 0);
-     class_addmethod(vradio_old_class, (t_method)vradio_dialog, gensym("dialog"), A_GIMME, 0);
-     class_addmethod(vradio_old_class, (t_method)vradio_loadbang, gensym("loadbang"), 0);
-     class_addmethod(vradio_old_class, (t_method)vradio_set, gensym("set"), A_FLOAT, 0);
-     class_addmethod(vradio_old_class, (t_method)vradio_size, gensym("size"), A_GIMME, 0);
-     class_addmethod(vradio_old_class, (t_method)vradio_delta, gensym("delta"), A_GIMME, 0);
-     class_addmethod(vradio_old_class, (t_method)vradio_pos, gensym("pos"), A_GIMME, 0);
-     class_addmethod(vradio_old_class, (t_method)vradio_color, gensym("color"), A_GIMME, 0);
-     class_addmethod(vradio_old_class, (t_method)vradio_send, gensym("send"), A_DEFSYM, 0);
-     class_addmethod(vradio_old_class, (t_method)vradio_receive, gensym("receive"), A_DEFSYM, 0);
-     class_addmethod(vradio_old_class, (t_method)vradio_label, gensym("label"), A_DEFSYM, 0);
-     class_addmethod(vradio_old_class, (t_method)vradio_label_pos, gensym("label_pos"), A_GIMME, 0);
-     class_addmethod(vradio_old_class, (t_method)vradio_label_font, gensym("label_font"), A_GIMME, 0);
-     class_addmethod(vradio_old_class, (t_method)vradio_init, gensym("init"), A_FLOAT, 0);
-     class_addmethod(vradio_old_class, (t_method)vradio_number, gensym("number"), A_FLOAT, 0);
-     class_addmethod(vradio_old_class, (t_method)vradio_single_change, gensym("single_change"), 0);
-     class_addmethod(vradio_old_class, (t_method)vradio_double_change, gensym("double_change"), 0);
-     class_setwidget(vradio_old_class, &vradio_widgetbehavior);
-     class_sethelpsymbol(vradio_old_class, gensym("vradio"));
- }
--- 1,25 ----





More information about the Pd-cvs mailing list