[PD-cvs] externals/bbogart/entry entry.c,1.24,1.25

Hans-Christoph Steiner eighthave at users.sourceforge.net
Wed Nov 7 06:58:08 CET 2007


Update of /cvsroot/pure-data/externals/bbogart/entry
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28491

Modified Files:
	entry.c 
Log Message:
refactored code to use variables for the widget IDs, should be more readable

Index: entry.c
===================================================================
RCS file: /cvsroot/pure-data/externals/bbogart/entry/entry.c,v
retrieving revision 1.24
retrieving revision 1.25
diff -C2 -d -r1.24 -r1.25
*** entry.c	6 Nov 2007 16:13:54 -0000	1.24
--- entry.c	7 Nov 2007 05:58:05 -0000	1.25
***************
*** 39,42 ****
--- 39,45 ----
  #define BACKGROUNDCOLOR "grey70"
  
+ #define TOTAL_INLETS 1
+ #define TOTAL_OUTLETS 2
+ 
  #define DEBUG(x) x
  
***************
*** 61,69 ****
  
      t_float x_border;
-     t_float x_highlightthickness;
      t_symbol *x_relief;
      t_int x_have_scrollbar;
!     
      t_canvas *canvas;
      
      t_outlet* x_data_outlet;
--- 64,79 ----
  
      t_float x_border;
      t_symbol *x_relief;
      t_int x_have_scrollbar;
! 
      t_canvas *canvas;
+     /* IDs for Tk widgets */
+     char *tcl_namespace;       
+     char *canvas_id;  
+     char *frame_id;       
+     char *text_id;        
+     char *scrollbar_id;   
+     char *handle_id;      
+     char *window_id;      
      
      t_outlet* x_data_outlet;
***************
*** 96,100 ****
  
  
! t_widgetbehavior   entry_widgetbehavior = {
  w_getrectfn:  entry_getrect,
  w_displacefn: entry_displace,
--- 106,110 ----
  
  
! static t_widgetbehavior   entry_widgetbehavior = {
  w_getrectfn:  entry_getrect,
  w_displacefn: entry_displace,
***************
*** 108,173 ****
  /* widget helper functions */
  
! static int calculate_onset(t_entry *x, t_glist *glist, int i, int nplus)
  {
!     return(text_xpix(&x->x_obj, glist) + (x->x_rect_width - IOWIDTH) * i / nplus);
  }
  
! static void draw_inlets(t_entry *x, t_glist *glist, int firsttime, int nin, int nout)
  {
!     DEBUG(post("draw_inlets in: %d  out: %d", nin, nout););
  
!     int nplus, i, onset;
      
-     nplus = (nin == 1 ? 1 : nin-1);
      /* inlets */
!     for (i = 0; i < nin; i++)
      {
!         onset = calculate_onset(x,glist,i,nplus);
          if (firsttime)
          {
!             DEBUG(post(".x%lx.c create rectangle %d %d %d %d -tags {%xi%d %xi}\n",
!                        x->canvas, onset, text_ypix(&x->x_obj, glist) - 2,
!                        onset + IOWIDTH, text_ypix(&x->x_obj, glist) - 1,
!                        x, i, x););
!             sys_vgui(".x%lx.c create rectangle %d %d %d %d -tags {%xi%d %xi}\n",
!                      x->canvas, onset, text_ypix(&x->x_obj, glist) - 2,
!                      onset + IOWIDTH, text_ypix(&x->x_obj, glist) - 1,
                       x, i, x);
          }
          else
          {
!             DEBUG(post(".x%lx.c coords %xi%d %d %d %d %d\n",
!                        x->canvas, x, i, onset, text_ypix(&x->x_obj, glist) - 2,
!                        onset + IOWIDTH, text_ypix(&x->x_obj, glist) - 1););
!             sys_vgui(".x%lx.c coords %xi%d %d %d %d %d\n",
!                      x->canvas, x, i, onset, text_ypix(&x->x_obj, glist) - 2,
!                      onset + IOWIDTH, text_ypix(&x->x_obj, glist)- 1);
          }
      }
!     nplus = (nout == 1 ? 1 : nout-1);
!     for (i = 0; i < nout; i++) /* outlets */
      {
!         onset = calculate_onset(x,glist,i,nplus);
          if (firsttime)
          {
!             DEBUG(post(".x%lx.c create rectangle %d %d %d %d -tags {%xo%d %xo}\n",
!                        x->canvas, onset, text_ypix(&x->x_obj, glist) + x->x_rect_height - 2,
!                        onset + IOWIDTH, text_ypix(&x->x_obj, glist) + x->x_rect_height-1,
!                        x, i, x););
!             sys_vgui(".x%lx.c create rectangle %d %d %d %d -tags {%xo%d %xo}\n",
!                      x->canvas, onset, text_ypix(&x->x_obj, glist) + x->x_rect_height - 2,
!                      onset + IOWIDTH, text_ypix(&x->x_obj, glist) + x->x_rect_height-1,
                       x, i, x);
          }
          else
          {
!             DEBUG(post(".x%lx.c coords %xo%d %d %d %d %d\n",
!                        x->canvas, x, i, 
!                        onset, text_ypix(&x->x_obj, glist) + x->x_rect_height - 2,
!                        onset + IOWIDTH, text_ypix(&x->x_obj, glist) + x->x_rect_height-1););
!             sys_vgui(".x%lx.c coords %xo%d %d %d %d %d\n",
!                      x->canvas, x, i,
!                      onset, text_ypix(&x->x_obj, glist) + x->x_rect_height - 2,
!                      onset + IOWIDTH, text_ypix(&x->x_obj, glist) + x->x_rect_height-1);
          }
      }
--- 118,217 ----
  /* widget helper functions */
  
! static void get_widget_state(t_entry *x)
  {
!     // build list of options in Tcl
!     // make Tcl foreach loop to get those options and create a list with the results
!     // return results via callback receive as one big list
  }
  
! static void set_tk_widget_ids(t_entry *x, t_canvas *canvas)
  {
!     char buf[MAXPDSTRING];
  
!     x->canvas = canvas;
! 
!     /* Tk ID for the current canvas that this object is drawn in */
!     sprintf(buf,".x%lx.c", (long unsigned int) canvas);
!     x->canvas_id = getbytes(strlen(buf));
!     strcpy(x->canvas_id, buf);
! 
!     /* Tk ID for the "frame" the other things are drawn in */
!     sprintf(buf,"%s.frame%lx", x->canvas_id, (long unsigned int)x);
!     x->frame_id = getbytes(strlen(buf));
!     strcpy(x->frame_id, buf);
! 
!     sprintf(buf,"%s.text", x->frame_id);
!     x->text_id = getbytes(strlen(buf));
!     strcpy(x->text_id, buf);    /* Tk ID for the "text", the meat! */
! 
!     sprintf(buf,"%s.window%lx", x->canvas_id, (long unsigned int)x);
!     x->window_id = getbytes(strlen(buf));
!     strcpy(x->window_id, buf);    /* Tk ID for the resizing "window" */
! 
!     sprintf(buf,"%s.handle%lx", x->canvas_id, (long unsigned int)x);
!     x->handle_id = getbytes(strlen(buf));
!     strcpy(x->handle_id, buf);    /* Tk ID for the resizing "handle" */
! 
!     sprintf(buf,"%s.scrollbar", x->frame_id);
!     x->scrollbar_id = getbytes(strlen(buf));
!     strcpy(x->scrollbar_id, buf);    /* Tk ID for the optional "scrollbar" */
! 
!     post("buf: %s  scrollbar_id %s", buf, x->scrollbar_id);
!     post("buf: %s  handle_id %s", buf, x->handle_id);
! }
! 
! static void draw_resize_handle(t_entry *x) 
! {
!     
! }
! 
! static int calculate_onset(t_entry *x, t_glist *glist, 
!                            int current_iolet, int total_iolets)
! {
!     return(text_xpix(&x->x_obj, glist) + (x->x_rect_width - IOWIDTH)    \
!            * current_iolet / (total_iolets == 1 ? 1 : total_iolets - 1));
! }
! 
! static void draw_inlets(t_entry *x, t_glist *glist, int firsttime, 
!                         int total_inlets, int total_outlets)
! {
!     DEBUG(post("draw_inlets in: %d  out: %d", total_inlets, total_outlets););
! 
!     int i, onset;
      
      /* inlets */
!     for (i = 0; i < total_inlets; i++)
      {
!         onset = calculate_onset(x, glist, i, total_inlets);
          if (firsttime)
          {
!             sys_vgui("%s create rectangle %d %d %d %d -tags {%xi%d %xi}\n",
!                      x->canvas_id, onset, text_ypix(&x->x_obj, glist) - 1,
!                      onset + IOWIDTH, text_ypix(&x->x_obj, glist),
                       x, i, x);
          }
          else
          {
!             sys_vgui("%s coords %xi%d %d %d %d %d\n",
!                      x->canvas_id, x, i, onset, text_ypix(&x->x_obj, glist) - 1,
!                      onset + IOWIDTH, text_ypix(&x->x_obj, glist));
          }
      }
!     for (i = 0; i < total_outlets; i++) /* outlets */
      {
!         onset = calculate_onset(x, glist, i, total_outlets);
          if (firsttime)
          {
!             sys_vgui("%s create rectangle %d %d %d %d -tags {%xo%d %xo}\n",
!                      x->canvas_id, onset, text_ypix(&x->x_obj, glist) + x->x_rect_height - 1,
!                      onset + IOWIDTH, text_ypix(&x->x_obj, glist) + x->x_rect_height,
                       x, i, x);
          }
          else
          {
!             sys_vgui("%s coords %xo%d %d %d %d %d\n",
!                      x->canvas_id, x, i,
!                      onset, text_ypix(&x->x_obj, glist) + x->x_rect_height - 1,
!                      onset + IOWIDTH, text_ypix(&x->x_obj, glist) + x->x_rect_height);
          }
      }
***************
*** 179,214 ****
      DEBUG(post("erase_inlets"););
  /* Added tag for all inlets of one instance */
!     DEBUG(post(".x%lx.c delete %xi\n", x->canvas,x););
!     sys_vgui(".x%lx.c delete %xi\n", x->canvas,x); 
!     DEBUG(post(".x%lx.c delete %xo\n", x->canvas,x););
!     sys_vgui(".x%lx.c delete %xo\n", x->canvas,x); 
  /* Added tag for all outlets of one instance */
!     DEBUG(post(".x%lx.c delete  %xhandle\n", x->canvas,x,0););
!     sys_vgui(".x%lx.c delete  %xhandle\n", x->canvas,x,0);
  }
  
- /* currently unused
-    static void draw_handle(t_entry *x, t_glist *glist, int firsttime) {
-    int onset = text_xpix(&x->x_obj, glist) + (x->x_rect_width - IOWIDTH+2);
- 
-    if (firsttime)
-    sys_vgui(".x%lx.c create rectangle %d %d %d %d -tags %xhandle\n",
-    x->canvas,
-    onset, text_ypix(&x->x_obj, glist) + x->x_rect_height - 12,
-    onset + IOWIDTH-2, text_ypix(&x->x_obj, glist) + x->x_rect_height-4,
-    x);
-    else
-    sys_vgui(".x%lx.c coords %xhandle %d %d %d %d\n",
-    x->canvas, x, 
-    onset, text_ypix(&x->x_obj, glist) + x->x_rect_height - 12,
-    onset + IOWIDTH-2, text_ypix(&x->x_obj, glist) + x->x_rect_height-4);
-    }
- */
  static void draw_scrollbar(t_entry *x)
  {
!     DEBUG(post("pack .x%lx.c.s%x.scrollbar -side right -fill y -before .x%lx.c.s%x.text \n",
!                x->canvas, x, x->canvas, x););
!     sys_vgui("pack .x%lx.c.s%x.scrollbar -side right -fill y -before .x%lx.c.s%x.text \n",
!              x->canvas, x, x->canvas, x);
      x->x_have_scrollbar = 1;
  }
--- 223,237 ----
      DEBUG(post("erase_inlets"););
  /* Added tag for all inlets of one instance */
!     sys_vgui("%s delete %xi\n", x->canvas_id, x); 
!     sys_vgui("%s delete %xo\n", x->canvas_id, x); 
  /* Added tag for all outlets of one instance */
!     sys_vgui("%s delete  %xhandle\n", x->canvas_id, x);
! /* TODO are the above even active? */
  }
  
  static void draw_scrollbar(t_entry *x)
  {
!     sys_vgui("pack %s -side right -fill y -before %s \n",
!              x->scrollbar_id, x->text_id);
      x->x_have_scrollbar = 1;
  }
***************
*** 216,221 ****
  static void erase_scrollbar(t_entry *x)
  {
!     DEBUG(post("pack forget .x%lx.c.s%x.scrollbar \n", x->canvas, x););
!     sys_vgui("pack forget .x%lx.c.s%x.scrollbar \n", x->canvas, x);
      x->x_have_scrollbar = 0;
  }
--- 239,243 ----
  static void erase_scrollbar(t_entry *x)
  {
!     sys_vgui("pack forget %s \n", x->scrollbar_id);
      x->x_have_scrollbar = 0;
  }
***************
*** 223,241 ****
  static void bind_button_events(t_entry *x)
  {
!     DEBUG(post("bind .x%lx.c.s%x.text <Button-2> \
! {pdtk_canvas_popup .x%lx [expr %%x + %d] [expr %%y + %d] 0 0} \n",
!                x->canvas, x, x->canvas, x->x_obj.te_xpix, x->x_obj.te_ypix););
!     sys_vgui("bind .x%lx.c.s%x.text <Button-2> \
  {pdtk_canvas_popup .x%lx [expr %%x + %d] [expr %%y + %d] 0 0} \n",
!              x->canvas, x, x->canvas, x->x_obj.te_xpix, x->x_obj.te_ypix);
!     sys_vgui("bind .x%lx.c.s%x.text <Control-Button> \
  {pdtk_canvas_popup .x%lx [expr %%x + %d] [expr %%y + %d] 0 0} \n",
!              x->canvas, x, x->canvas, x->x_obj.te_xpix, x->x_obj.te_ypix);
!     sys_vgui("bind .x%lx.c.s%x.text <Button-3> \
  {pdtk_canvas_popup .x%lx [expr %%x + %d] [expr %%y + %d] 0 0} \n",
!              x->canvas, x, x->canvas, x->x_obj.te_xpix, x->x_obj.te_ypix);
!     sys_vgui("bind .x%lx.c.s%x.text <Control-Button> \
  {pdtk_canvas_popup .x%lx [expr %%x + %d] [expr %%y + %d] 0 0} \n",
!              x->canvas, x, x->canvas, x->x_obj.te_xpix, x->x_obj.te_ypix);
  }
  
--- 245,260 ----
  static void bind_button_events(t_entry *x)
  {
!     sys_vgui("bind %s <Button-2> \
  {pdtk_canvas_popup .x%lx [expr %%x + %d] [expr %%y + %d] 0 0} \n",
!              x->text_id, x->canvas, x->x_obj.te_xpix, x->x_obj.te_ypix);
!     sys_vgui("bind %s <Control-Button> \
  {pdtk_canvas_popup .x%lx [expr %%x + %d] [expr %%y + %d] 0 0} \n",
!              x->text_id, x->canvas, x->x_obj.te_xpix, x->x_obj.te_ypix);
!     sys_vgui("bind %s <Button-3> \
  {pdtk_canvas_popup .x%lx [expr %%x + %d] [expr %%y + %d] 0 0} \n",
!              x->text_id, x->canvas, x->x_obj.te_xpix, x->x_obj.te_ypix);
!     sys_vgui("bind %s <Control-Button> \
  {pdtk_canvas_popup .x%lx [expr %%x + %d] [expr %%y + %d] 0 0} \n",
!              x->text_id, x->canvas, x->x_obj.te_xpix, x->x_obj.te_ypix);
  }
  
***************
*** 246,289 ****
      x->x_rect_width = x->x_width;
      x->x_rect_height =  x->x_height+2;
- 	
-     DEBUG(post("namespace eval entry%lx {} \n", x););
-     sys_vgui("namespace eval entry%lx {} \n", x);
  
      /* Seems we have to delete the widget in case it already exists (Provided by Guenter)*/
!     DEBUG(post("destroy .x%lx.c.s%x\n", x->canvas, x););
!     sys_vgui("destroy .x%lx.c.s%x\n", x->canvas, x);
! 
  
!     DEBUG(post("frame .x%lx.c.s%x \n", x->canvas, x););
!     sys_vgui("frame .x%lx.c.s%x \n", x->canvas, x);
!     DEBUG(post("text .x%lx.c.s%x.text -font {%s %d %s} -border 1 \
!               -highlightthickness 1 -relief sunken -bg \"%s\" -fg \"%s\" \
!               -yscrollcommand {.x%lx.c.s%x.scrollbar set} \n",
!                x->canvas, x, x->x_font_face->s_name, x->x_font_size, 
!                x->x_font_weight->s_name,
!                x->x_bgcolour->s_name,x->x_fgcolour->s_name,
!                x->canvas, x););
!     sys_vgui("text .x%lx.c.s%x.text -font {%s %d %s} -border 1 \
!               -highlightthickness 1 -relief sunken -bg \"%s\" -fg \"%s\" \
!               -yscrollcommand {.x%lx.c.s%x.scrollbar set} \n",
!              x->canvas, x, x->x_font_face->s_name, x->x_font_size, 
!              x->x_font_weight->s_name,
!              x->x_bgcolour->s_name, x->x_fgcolour->s_name,
!              x->canvas, x);
!     DEBUG(post("scrollbar .x%lx.c.s%x.scrollbar -command {.x%lx.c.s%x.text yview} \n",
!                x->canvas, x, x->canvas, x););
!     sys_vgui("scrollbar .x%lx.c.s%x.scrollbar -command {.x%lx.c.s%x.text yview} \n",
!              x->canvas, x ,x->canvas, x);
!     DEBUG(post("pack .x%lx.c.s%x.text -side left -fill both -expand 1 \n",x->canvas, x););
!     sys_vgui("pack .x%lx.c.s%x.text -side left -fill both -expand 1 \n", x->canvas, x);
!     DEBUG(post("pack .x%lx.c.s%x -side bottom -fill both -expand 1 \n", x->canvas, x););
!     sys_vgui("pack .x%lx.c.s%x -side bottom -fill both -expand 1 \n", x->canvas, x);
  
!     DEBUG(post("bind .x%lx.c.s%x.text <KeyRelease> {+pd %s keyup %%N \\;} \n", 
!                x->canvas, x, x->x_receive_name->s_name););
!     sys_vgui("bind .x%lx.c.s%x.text <KeyRelease> {+pd %s keyup %%N \\;} \n", 
!              x->canvas, x, x->x_receive_name->s_name);
!     DEBUG(post("pdtk_standardkeybindings .x%lx.c.s%x.text \n", x->canvas, x););
!     sys_vgui("pdtk_standardkeybindings .x%lx.c.s%x.text \n", x->canvas, x);
  
      bind_button_events(x);
--- 265,291 ----
      x->x_rect_width = x->x_width;
      x->x_rect_height =  x->x_height+2;
  
+     sys_vgui("namespace eval entry%lx {} \n", x);
+     
      /* Seems we have to delete the widget in case it already exists (Provided by Guenter)*/
!     sys_vgui("destroy %s\n", x->frame_id);
!     
  
!     sys_vgui("frame %s \n", x->frame_id);
!     sys_vgui("text %s -font {%s %d %s} -border 1 \
!     -highlightthickness 2 -relief sunken -bg \"%s\" -fg \"%s\"  \
!     -yscrollcommand {%s set} \n",
!              x->text_id, 
!              x->x_font_face->s_name, x->x_font_size, x->x_font_weight->s_name, 
! x->x_bgcolour->s_name, x->x_fgcolour->s_name,
!              x->scrollbar_id);
!    sys_vgui("scrollbar %s -command {%s yview} \n",
!              x->scrollbar_id, x->text_id);
!     sys_vgui("pack %s -side left -fill both -expand 1 \n", x->text_id);
!     sys_vgui("pack %s -side bottom -fill both -expand 1 \n", x->frame_id);
  
!     sys_vgui("bind %s <KeyRelease> {+pd %s keyup %%N \\;} \n", 
!              x->text_id, x->x_receive_name->s_name);
!     sys_vgui("pdtk_standardkeybindings %s \n", x->text_id); 
  
      bind_button_events(x);
***************
*** 292,321 ****
  static void entry_drawme(t_entry *x, t_glist *glist, int firsttime)
  {
!     DEBUG(post("entry_drawme"););
!     DEBUG(post("drawme %d",firsttime););
      if (firsttime) 
      {
!         create_widget(x);	       
!         DEBUG(post(".x%lx.c create window %d %d -anchor nw -window .x%lx.c.s%x \
!                     -tags %xS -width %d -height %d \n", x->canvas,
!                    text_xpix(&x->x_obj, glist), text_ypix(&x->x_obj, glist),
!                    x->canvas, x, x, x->x_width, x->x_height););
!         sys_vgui(".x%lx.c create window %d %d -anchor nw -window .x%lx.c.s%x \
!                   -tags %xS -width %d -height %d \n", x->canvas, 
                   text_xpix(&x->x_obj, glist), text_ypix(&x->x_obj, glist),
!                  x->canvas, x,x, x->x_width, x->x_height);
      }     
      else 
      {
!         DEBUG(post(".x%lx.c coords %xS %d %d\n", x->canvas, x,
!                    text_xpix(&x->x_obj, glist), text_ypix(&x->x_obj, glist)););
!         sys_vgui(".x%lx.c coords %xS %d %d\n", x->canvas, x,
                   text_xpix(&x->x_obj, glist), text_ypix(&x->x_obj, glist));
      }
!     if( (glist->gl_edit) && (x->canvas == glist) ) /* this is buggy logic */
!         draw_inlets(x, glist, firsttime, 1,2);
      else
          erase_inlets(x);
!     //     draw_handle(x, glist, firsttime);
  }
  
--- 294,317 ----
  static void entry_drawme(t_entry *x, t_glist *glist, int firsttime)
  {
!     DEBUG(post("entry_drawme: firsttime %d canvas %s glist %s", firsttime, x->canvas, glist););
!     set_tk_widget_ids(x,glist_getcanvas(glist));	
      if (firsttime) 
      {
!         create_widget(x);	/* TODO: what is this window for? */       
!         sys_vgui("%s create window %d %d -anchor nw -window %s \
!                   -tags %xS -width %d -height %d \n", x->canvas_id, 
                   text_xpix(&x->x_obj, glist), text_ypix(&x->x_obj, glist),
!                  x->frame_id,x, x->x_width, x->x_height);
      }     
      else 
      {
!         sys_vgui("%s coords %xS %d %d\n", x->canvas_id, x,
                   text_xpix(&x->x_obj, glist), text_ypix(&x->x_obj, glist));
      }
!     if(glist->gl_edit) /* this is buggy logic */
!         draw_inlets(x, glist, firsttime, TOTAL_INLETS, TOTAL_OUTLETS);
      else
          erase_inlets(x);
! //    glist_drawiofor(glist, x->x_obj, firsttime, );
  }
  
***************
*** 323,334 ****
  static void entry_erase(t_entry* x,t_glist* glist)
  {
!     DEBUG(post("entry_erase"););
!     DEBUG(post("destroy .x%lx.c.s%x\n", x->canvas, x););
!     sys_vgui("destroy .x%lx.c.s%x\n", x->canvas, x);
! 
!     DEBUG(post(".x%lx.c delete %xS\n", x->canvas, x););
!     sys_vgui(".x%lx.c delete %xS\n", x->canvas, x);
  
      erase_inlets(x);
  }
  	
--- 319,327 ----
  static void entry_erase(t_entry* x,t_glist* glist)
  {
!     DEBUG(post("entry_erase: canvas %s glist %s", x->canvas, glist););
  
      erase_inlets(x);
+     sys_vgui("destroy %s\n", x->frame_id);
+     sys_vgui("%s delete %xS\n", x->canvas_id, x);
  }
  	
***************
*** 341,345 ****
                            int *xp1, int *yp1, int *xp2, int *yp2)
  {
! /*     DEBUG(post("entry_getrect");); */
      int width, height;
      t_entry* s = (t_entry*)z;
--- 334,338 ----
                            int *xp1, int *yp1, int *xp2, int *yp2)
  {
! /*    DEBUG(post("entry_getrect");); */ /* this one is very chatty :D */
      int width, height;
      t_entry* s = (t_entry*)z;
***************
*** 355,369 ****
  static void entry_displace(t_gobj *z, t_glist *glist, int dx, int dy)
  {
-     DEBUG(post("entry_displace"););
      t_entry *x = (t_entry *)z;
      x->x_obj.te_xpix += dx;
      x->x_obj.te_ypix += dy;
      if (glist_isvisible(glist))
      {
!         DEBUG(post(".x%lx.c coords %xSEL %d %d %d %d\n", x->canvas, x,
!                    text_xpix(&x->x_obj, glist), text_ypix(&x->x_obj, glist)-1,
!                    text_xpix(&x->x_obj, glist) + x->x_rect_width, 
!                    text_ypix(&x->x_obj, glist) + x->x_rect_height-2););
!         sys_vgui(".x%lx.c coords %xSEL %d %d %d %d\n", x->canvas, x,
                   text_xpix(&x->x_obj, glist), text_ypix(&x->x_obj, glist)-1,
                   text_xpix(&x->x_obj, glist) + x->x_rect_width, 
--- 348,358 ----
  static void entry_displace(t_gobj *z, t_glist *glist, int dx, int dy)
  {
      t_entry *x = (t_entry *)z;
+     DEBUG(post("entry_displace: canvas %s glist %s", x->canvas, glist););
      x->x_obj.te_xpix += dx;
      x->x_obj.te_ypix += dy;
      if (glist_isvisible(glist))
      {
!         sys_vgui("%s coords %xSEL %d %d %d %d\n", x->canvas_id, x,
                   text_xpix(&x->x_obj, glist), text_ypix(&x->x_obj, glist)-1,
                   text_xpix(&x->x_obj, glist) + x->x_rect_width, 
***************
*** 371,375 ****
        
          entry_drawme(x, glist, 0);
!         canvas_fixlinesfor(x->canvas, (t_text*) x);
      }
      DEBUG(post("displace end"););
--- 360,364 ----
        
          entry_drawme(x, glist, 0);
!         canvas_fixlinesfor(glist_getcanvas(glist), (t_text*) x);
      }
      DEBUG(post("displace end"););
***************
*** 378,392 ****
  static void entry_select(t_gobj *z, t_glist *glist, int state)
  {
-     DEBUG(post("entry_select"););
      t_entry *x = (t_entry *)z;
  
      if (state) {
!         DEBUG(post(".x%lx.c create rectangle %d %d %d %d -tags %xSEL -outline blue\n",
!                    x->canvas,
!                    text_xpix(&x->x_obj, glist), text_ypix(&x->x_obj, glist)-1,
!                    text_xpix(&x->x_obj, glist) + x->x_rect_width, 
!                    text_ypix(&x->x_obj, glist) + x->x_rect_height-2, x););
!         sys_vgui(".x%lx.c create rectangle %d %d %d %d -tags %xSEL -outline blue\n",
!                  x->canvas,
                   text_xpix(&x->x_obj, glist), text_ypix(&x->x_obj, glist)-1,
                   text_xpix(&x->x_obj, glist) + x->x_rect_width, 
--- 367,378 ----
  static void entry_select(t_gobj *z, t_glist *glist, int state)
  {
      t_entry *x = (t_entry *)z;
+     DEBUG(post("entry_select: canvas %s glist %s", x->canvas, glist););
  
      if (state) {
! //        sys_vgui(".x%x.c itemconfigure %s -outline blue -width %f -fill %s\n",
! //                 x->canvas_id, x->x_bgtag, SCOPE_SELBDWIDTH, SCOPE_SELCOLOR);
!         sys_vgui("%s create rectangle %d %d %d %d -tags %xSEL -outline blue\n",
!                  x->canvas_id,
                   text_xpix(&x->x_obj, glist), text_ypix(&x->x_obj, glist)-1,
                   text_xpix(&x->x_obj, glist) + x->x_rect_width, 
***************
*** 394,399 ****
      }
      else {
!         DEBUG(post(".x%lx.c delete %xSEL\n", x->canvas, x););
!         sys_vgui(".x%lx.c delete %xSEL\n", x->canvas, x);
      }
  }
--- 380,384 ----
      }
      else {
!         sys_vgui("%s delete %xSEL\n", x->canvas_id, x);
      }
  }
***************
*** 411,415 ****
  static void entry_delete(t_gobj *z, t_glist *glist)
  {
!     DEBUG(post("entry_delete"););    
      t_text *x = (t_text *)z;
      canvas_deletelinesfor(glist_getcanvas(glist), x);
--- 396,400 ----
  static void entry_delete(t_gobj *z, t_glist *glist)
  {
!     DEBUG(post("entry_delete: glist %s", glist););    
      t_text *x = (t_text *)z;
      canvas_deletelinesfor(glist_getcanvas(glist), x);
***************
*** 419,433 ****
  static void entry_vis(t_gobj *z, t_glist *glist, int vis)
  {
!     DEBUG(post("entry_vis"););
!     t_entry *s = (t_entry*)z;
      t_rtext *y;
-     DEBUG(post("vis: %d",vis););
      if (vis) {
          y = (t_rtext *) rtext_new(glist, (t_text *)z);
!         entry_drawme(s, glist, 1);
      }
      else {
          y = glist_findrtext(glist, (t_text *)z);
!         entry_erase(s,glist);
          rtext_free(y);
      }
--- 404,417 ----
  static void entry_vis(t_gobj *z, t_glist *glist, int vis)
  {
!     t_entry *x = (t_entry*)z;
!     DEBUG(post("entry_vis: vis %d canvas %s glist %s", vis, x->canvas, glist););
      t_rtext *y;
      if (vis) {
          y = (t_rtext *) rtext_new(glist, (t_text *)z);
!         entry_drawme(x, glist, 1);
      }
      else {
          y = glist_findrtext(glist, (t_text *)z);
!         entry_erase(x, glist);
          rtext_free(y);
      }
***************
*** 447,467 ****
          {
              tmp_float = atom_getfloatarg(i, argc , argv);
!             DEBUG(post("lappend ::entry%lx::list %g \n", x, tmp_float ););
!             sys_vgui("lappend ::entry%lx::list %g \n", x, tmp_float );
          }
          else 
          {
!             DEBUG(post("lappend ::entry%lx::list %s \n", x, tmp_symbol->s_name ););
!             sys_vgui("lappend ::entry%lx::list %s \n", x, tmp_symbol->s_name );
          }
      }
!     DEBUG(post("append ::entry%lx::list \" \"\n", x););
!     sys_vgui("append ::entry%lx::list \" \"\n", x);
!     DEBUG(post(".x%lx.c.s%x.text insert end $::entry%lx::list ; unset ::entry%lx::list \n", 
!                x->canvas, x, x, x ););
!     sys_vgui(".x%lx.c.s%x.text insert end $::entry%lx::list ; unset ::entry%lx::list \n", 
!              x->canvas, x, x, x );
!     DEBUG(post(".x%lx.c.s%x.text yview end-2char \n", x->canvas, x ););
!     sys_vgui(".x%lx.c.s%x.text yview end-2char \n", x->canvas, x );
  }
  
--- 431,445 ----
          {
              tmp_float = atom_getfloatarg(i, argc , argv);
!             sys_vgui("lappend ::%s::list %g \n", x->tcl_namespace, tmp_float );
          }
          else 
          {
!             sys_vgui("lappend ::%s::list %s \n", x->tcl_namespace, tmp_symbol->s_name );
          }
      }
!     sys_vgui("append ::%s::list \" \"\n", x->tcl_namespace);
!     sys_vgui("%s insert end $::%s::list ; unset ::%s::list \n", 
!                x->canvas_id, x->tcl_namespace, x->tcl_namespace );
!     sys_vgui("%s yview end-2char \n", x->text_id );
  }
  
***************
*** 478,502 ****
          if(tmp_int < 10)
          {
!             DEBUG(post(".x%lx.c.s%x.text insert end %d\n", x->canvas, x, tmp_int););
!             sys_vgui(".x%lx.c.s%x.text insert end %d\n", x->canvas, x, tmp_int);
          }
          else if(tmp_int == 10)
          {
!             DEBUG(post(".x%lx.c.s%x.text insert end {\n}\n", x->canvas, x););
!             sys_vgui(".x%lx.c.s%x.text insert end {\n}\n", x->canvas, x);
          }
          else
          {
!             DEBUG(post(".x%lx.c.s%x.text insert end [format \"%c\" %d]\n", x->canvas, x, tmp_int););
!             sys_vgui(".x%lx.c.s%x.text insert end [format \"%c\" %d]\n", x->canvas, x, tmp_int);
          }
      }
      else 
      {
!         DEBUG(post(".x%lx.c.s%x.text insert end %s\n", x->canvas, x, tmp_symbol->s_name ););
!         sys_vgui(".x%lx.c.s%x.text insert end %s\n", x->canvas, x, tmp_symbol->s_name );
      }
!     DEBUG(post(".x%lx.c.s%x.text yview end-2char \n", x->canvas, x ););
!     sys_vgui(".x%lx.c.s%x.text yview end-2char \n", x->canvas, x );
  }
  
--- 456,475 ----
          if(tmp_int < 10)
          {
!             sys_vgui("%s insert end %d\n", x->text_id, tmp_int);
          }
          else if(tmp_int == 10)
          {
!             sys_vgui("%s insert end {\n}\n", x->text_id);
          }
          else
          {
!             sys_vgui("%s insert end [format \"%c\" %d]\n", x->text_id, tmp_int);
          }
      }
      else 
      {
!         sys_vgui("%s insert end %s\n", x->text_id, tmp_symbol->s_name );
      }
!     sys_vgui("%s yview end-2char \n", x->text_id );
  }
  
***************
*** 504,509 ****
  static void entry_clear(t_entry* x)
  {
!     DEBUG(post(".x%lx.c.s%x.text delete 0.0 end \n", x->canvas, x););
!     sys_vgui(".x%lx.c.s%x.text delete 0.0 end \n", x->canvas, x);
  }
  
--- 477,481 ----
  static void entry_clear(t_entry* x)
  {
!     sys_vgui("%s delete 0.0 end \n", x->text_id);
  }
  
***************
*** 512,516 ****
  {
      DEBUG(post("entry_set"););
-     int i;
  
      entry_clear(x);
--- 484,487 ----
***************
*** 529,538 ****
  {
      /* With "," and ";" escaping thanks to JMZ */
-     DEBUG(post("pd [concat %s output [string map {\",\" \"\\\\,\" \";\" \"\\\\;\"} \
-                 [.x%lx.c.s%x.text get 0.0 end]] \\;]\n", 
-                x->x_receive_name->s_name, x->canvas, x););
      sys_vgui("pd [concat %s output [string map {\",\" \"\\\\,\" \";\" \"\\\\;\"} \
!               [.x%lx.c.s%x.text get 0.0 end]] \\;]\n", 
!              x->x_receive_name->s_name, x->canvas, x);
  }
  
--- 500,506 ----
  {
      /* With "," and ";" escaping thanks to JMZ */
      sys_vgui("pd [concat %s output [string map {\",\" \"\\\\,\" \";\" \"\\\\;\"} \
!               [%s get 0.0 end]] \\;]\n", 
!              x->x_receive_name->s_name, x->text_id);
  }
  
***************
*** 600,615 ****
  static void entry_option_float(t_entry* x, t_symbol *option, t_float value)
  {
! 	DEBUG(post(".x%lx.c.s%x.text configure -%s %f \n", 
!                x->canvas, x, option->s_name, value););
! 	sys_vgui(".x%lx.c.s%x.text configure -%s %f \n", 
!                x->canvas, x, option->s_name, value);
  }
  
  static void entry_option_symbol(t_entry* x, t_symbol *option, t_symbol *value)
  {
! 	DEBUG(post(".x%lx.c.s%x.text configure -%s {%s} \n", 
!                x->canvas, x, option->s_name, value->s_name););
! 	sys_vgui(".x%lx.c.s%x.text configure -%s {%s} \n", 
!                x->canvas, x, option->s_name, value->s_name);
  }
  
--- 568,579 ----
  static void entry_option_float(t_entry* x, t_symbol *option, t_float value)
  {
! 	sys_vgui("%s configure -%s %f \n", 
!                x->text_id, option->s_name, value);
  }
  
  static void entry_option_symbol(t_entry* x, t_symbol *option, t_symbol *value)
  {
! 	sys_vgui("%s configure -%s {%s} \n", 
!                x->text_id, option->s_name, value->s_name);
  }
  
***************
*** 643,650 ****
  {
  	x->x_bgcolour = bgcol;
! 	DEBUG(post(".x%lx.c.s%x.text configure -background \"%s\" \n", 
!                x->canvas, x, x->x_bgcolour->s_name););
! 	sys_vgui(".x%lx.c.s%x.text configure -background \"%s\" \n", 
!              x->canvas, x, x->x_bgcolour->s_name);
  }
  
--- 607,612 ----
  {
  	x->x_bgcolour = bgcol;
! 	sys_vgui("%s configure -background \"%s\" \n", 
!              x->text_id, x->x_bgcolour->s_name);
  }
  
***************
*** 653,660 ****
  {
  	x->x_fgcolour = fgcol;
! 	DEBUG(post(".x%lx.c.s%x.text configure -foreground \"%s\" \n", 
!                x->canvas, x, x->x_fgcolour->s_name););
! 	sys_vgui(".x%lx.c.s%x.text configure -foreground \"%s\" \n", 
!              x->canvas, x, x->x_fgcolour->s_name);
  }
  
--- 615,620 ----
  {
  	x->x_fgcolour = fgcol;
! 	sys_vgui("%s configure -foreground \"%s\" \n", 
!              x->text_id, x->x_fgcolour->s_name);
  }
  
***************
*** 666,674 ****
      {
          x->x_font_size = (t_int)font_size;
!         DEBUG(post(".x%lx.c.s%x.text configure -font {%s %d %s} \n", 
!                    x->canvas, x,
!                    x->x_font_face->s_name, x->x_font_size, x->x_font_weight->s_name););
!         sys_vgui(".x%lx.c.s%x.text configure -font {%s %d %s} \n", 
!                  x->canvas, x,
                   x->x_font_face->s_name, x->x_font_size, 
                   x->x_font_weight->s_name);
--- 626,631 ----
      {
          x->x_font_size = (t_int)font_size;
!         sys_vgui("%s configure -font {%s %d %s} \n", 
!                  x->text_id,
                   x->x_font_face->s_name, x->x_font_size, 
                   x->x_font_weight->s_name);
***************
*** 720,729 ****
      x->x_data_outlet = outlet_new(&x->x_obj, &s_float);
      x->x_status_outlet = outlet_new(&x->x_obj, &s_symbol);
  
!     snprintf(buf,MAXPDSTRING,"#entry%lx",(long unsigned int)x);
      x->x_receive_name = gensym(buf);
      pd_bind(&x->x_obj.ob_pd, x->x_receive_name);
  
!     x->canvas = canvas_getcurrent();
  
      return (x);
--- 677,692 ----
      x->x_data_outlet = outlet_new(&x->x_obj, &s_float);
      x->x_status_outlet = outlet_new(&x->x_obj, &s_symbol);
+     post("0");
  
!     sprintf(buf,"entry%lx",(long unsigned int)x);
!     x->tcl_namespace = getbytes(strlen(buf));
!     strcpy(x->tcl_namespace, buf);    
!     post("1");
!     sprintf(buf,"#%s", x->tcl_namespace);
      x->x_receive_name = gensym(buf);
      pd_bind(&x->x_obj.ob_pd, x->x_receive_name);
+     post("2");
  
!     set_tk_widget_ids(x, canvas_getcurrent());
  
      return (x);
***************
*** 808,813 ****
  	up_symbol = gensym("up");
  	down_symbol = gensym("down");
-     
- 	post("Text v0.1 Ben Bogart.\nCVS: $Revision$ $Date$");
  }
  
--- 771,774 ----





More information about the Pd-cvs mailing list