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

Hans-Christoph Steiner eighthave at users.sourceforge.net
Tue Nov 13 06:31:52 CET 2007


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

Modified Files:
	entry.c 
Log Message:
got selecting with a click working, but not deselecting afterwards

Index: entry.c
===================================================================
RCS file: /cvsroot/pure-data/externals/bbogart/entry/entry.c,v
retrieving revision 1.25
retrieving revision 1.26
diff -C2 -d -r1.25 -r1.26
*** entry.c	7 Nov 2007 05:58:05 -0000	1.25
--- entry.c	13 Nov 2007 05:31:50 -0000	1.26
***************
*** 27,30 ****
--- 27,32 ----
  /* TODO: set message doesnt work with a loadbang */
  /* TODO: complete inlet draw/erase logic */
+ /* TODO: unbind text from all key events when selected */
+ /* TODO try binding to FocusIn and FocusOut for making selection */
  
  #ifdef _MSC_VER
***************
*** 39,42 ****
--- 41,53 ----
  #define BACKGROUNDCOLOR "grey70"
  
+ #define TKW_HANDLE_HEIGHT 10
+ #define TKW_HANDLE_WIDTH 10
+ 
+ #define SCOPE_SELBDWIDTH     3.0
+ #define SCOPE_DEFWIDTH     130  /* CHECKED */
+ #define SCOPE_MINWIDTH      66
+ #define SCOPE_DEFHEIGHT    130  /* CHECKED */
+ #define SCOPE_MINHEIGHT     34
+ 
  #define TOTAL_INLETS 1
  #define TOTAL_OUTLETS 2
***************
*** 47,50 ****
--- 58,63 ----
  {
      t_object x_obj;
+     t_canvas *x_canvas;
+     t_glist *x_glist;
      
      int x_rect_width;
***************
*** 52,55 ****
--- 65,72 ----
      t_symbol*  x_receive_name;
  
+     int        h_dragon;
+     int        h_dragx;
+     int        h_dragy;
+ 
  /* TODO: these all should be settable by messages */
      int x_height;
***************
*** 66,71 ****
      t_symbol *x_relief;
      t_int x_have_scrollbar;
! 
!     t_canvas *canvas;
      /* IDs for Tk widgets */
      char *tcl_namespace;       
--- 83,88 ----
      t_symbol *x_relief;
      t_int x_have_scrollbar;
!     t_int x_selected;
!     
      /* IDs for Tk widgets */
      char *tcl_namespace;       
***************
*** 75,79 ****
      char *scrollbar_id;   
      char *handle_id;      
!     char *window_id;      
      
      t_outlet* x_data_outlet;
--- 92,98 ----
      char *scrollbar_id;   
      char *handle_id;      
!     char *window_tag;      
!     char *all_tag;
!     char *outline_tag;      
      
      t_outlet* x_data_outlet;
***************
*** 103,106 ****
--- 122,127 ----
  static void entry_delete(t_gobj *z, t_glist *glist);
  static void entry_vis(t_gobj *z, t_glist *glist, int vis);
+ static void entry_activate(t_gobj *x, struct _glist *glist, int state);
+ //static int entry_click(t_gobj *x, struct _glist *glist, int xpix, int ypix, int shift, int alt, int dbl, int doit);
  static void entry_save(t_gobj *z, t_binbuf *b);
  
***************
*** 129,133 ****
      char buf[MAXPDSTRING];
  
!     x->canvas = canvas;
  
      /* Tk ID for the current canvas that this object is drawn in */
--- 150,154 ----
      char buf[MAXPDSTRING];
  
!     x->x_canvas = canvas;
  
      /* Tk ID for the current canvas that this object is drawn in */
***************
*** 141,151 ****
      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);
--- 162,173 ----
      strcpy(x->frame_id, buf);
  
!     sprintf(buf,"%s.text%lx", x->frame_id, (long unsigned int)x);
      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_tag = getbytes(strlen(buf));
!     strcpy(x->window_tag, buf);    /* Tk ID for the resizing "window" */
!     post("");
  
      sprintf(buf,"%s.handle%lx", x->canvas_id, (long unsigned int)x);
***************
*** 153,167 ****
      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) 
! {
!     
  }
  
--- 175,185 ----
      strcpy(x->handle_id, buf);    /* Tk ID for the resizing "handle" */
  
!     sprintf(buf,"%s.scrollbar%lx", x->frame_id, (long unsigned int)x);
      x->scrollbar_id = getbytes(strlen(buf));
      strcpy(x->scrollbar_id, buf);    /* Tk ID for the optional "scrollbar" */
  
!     sprintf(buf,"all%lx", (long unsigned int)x);
!     x->all_tag = getbytes(strlen(buf));
!     strcpy(x->all_tag, buf);    /* Tk ID for the optional "scrollbar" */
  }
  
***************
*** 186,200 ****
          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 */
--- 204,218 ----
          if (firsttime)
          {
!             sys_vgui("%s create rectangle %d %d %d %d -tags {%xi%d %xi %s}\n",
                       x->canvas_id, onset, text_ypix(&x->x_obj, glist) - 1,
                       onset + IOWIDTH, text_ypix(&x->x_obj, glist),
!                      x, i, x, x->all_tag);
          }
! /*        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 */
***************
*** 203,212 ****
          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",
--- 221,230 ----
          if (firsttime)
          {
!             sys_vgui("%s create rectangle %d %d %d %d -tags {%xo%d %xo %s}\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, x->all_tag);
          }
! /*        else
          {
              sys_vgui("%s coords %xo%d %d %d %d %d\n",
***************
*** 214,218 ****
                       onset, text_ypix(&x->x_obj, glist) + x->x_rect_height - 1,
                       onset + IOWIDTH, text_ypix(&x->x_obj, glist) + x->x_rect_height);
!         }
      }
      DEBUG(post("draw inlet end"););
--- 232,236 ----
                       onset, text_ypix(&x->x_obj, glist) + x->x_rect_height - 1,
                       onset + IOWIDTH, text_ypix(&x->x_obj, glist) + x->x_rect_height);
!                      }*/
      }
      DEBUG(post("draw inlet end"););
***************
*** 243,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);
  }
  
--- 261,289 ----
  }
  
+ static void draw_resize_handle(t_entry *x)
+ {
+ }
+ 
+ static void erase_resize_handle(t_entry *x)
+ {
+ }
+ 
+ 
  static void bind_button_events(t_entry *x)
  {
+     sys_vgui("bind %s <Button> {pd [concat %s click 1 \\;]}\n",
+              x->text_id, x->x_receive_name->s_name);
      sys_vgui("bind %s <Button-2> \
  {pdtk_canvas_popup .x%lx [expr %%x + %d] [expr %%y + %d] 0 0} \n",
!              x->text_id, x->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->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->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->x_canvas, x->x_obj.te_xpix, x->x_obj.te_ypix);
  }
  
***************
*** 277,284 ****
      -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);
--- 306,313 ----
      -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);
***************
*** 294,311 ****
  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 */
--- 323,341 ----
  static void entry_drawme(t_entry *x, t_glist *glist, int firsttime)
  {
!     DEBUG(post("entry_drawme: firsttime %d canvas %lx glist %lx", firsttime, x->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 {%s %s} -width %d -height %d \n", x->canvas_id, 
                   text_xpix(&x->x_obj, glist), text_ypix(&x->x_obj, glist),
!                  x->frame_id, x->window_tag, x->all_tag, x->x_width, x->x_height);
      }     
      else 
      {
!         post("NO MORE COORDS");
! //        sys_vgui("%s coords %s %d %d\n", x->canvas_id, x->all_tag,
! //                 text_xpix(&x->x_obj, glist), text_ypix(&x->x_obj, glist));
      }
      if(glist->gl_edit) /* this is buggy logic */
***************
*** 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);
  }
  	
--- 349,358 ----
  static void entry_erase(t_entry* x,t_glist* glist)
  {
!     DEBUG(post("entry_erase: canvas %lx glist %lx", x->x_canvas, glist););
  
!     set_tk_widget_ids(x,glist_getcanvas(glist));
! //    erase_inlets(x);
      sys_vgui("destroy %s\n", x->frame_id);
!     sys_vgui("%s delete %s\n", x->canvas_id, x->all_tag);
  }
  	
***************
*** 349,363 ****
  {
      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, 
!                  text_ypix(&x->x_obj, glist) + x->x_rect_height-2);
!       
!         entry_drawme(x, glist, 0);
          canvas_fixlinesfor(glist_getcanvas(glist), (t_text*) x);
      }
--- 380,395 ----
  {
      t_entry *x = (t_entry *)z;
!     DEBUG(post("entry_displace: canvas %lx glist %lx", x->x_canvas, glist););
      x->x_obj.te_xpix += dx;
      x->x_obj.te_ypix += dy;
      if (glist_isvisible(glist))
      {
!         set_tk_widget_ids(x,glist_getcanvas(glist));
!         sys_vgui("%s move %s %d %d\n", x->canvas_id, x->all_tag, dx, dy);
! /*        sys_vgui("%s coords %s %d %d %d %d\n", x->canvas_id, x->all_tag,
                   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);*/
! //        entry_drawme(x, glist, 0);
          canvas_fixlinesfor(glist_getcanvas(glist), (t_text*) x);
      }
***************
*** 368,384 ****
  {
      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, 
!                  text_ypix(&x->x_obj, glist) + x->x_rect_height-2, x);
      }
!     else {
          sys_vgui("%s delete %xSEL\n", x->canvas_id, x);
      }
  }
--- 400,439 ----
  {
      t_entry *x = (t_entry *)z;
!  	int x1, y1, x2, y2;
!     DEBUG(post("entry_select: canvas %lx glist %lx state %d", x->x_canvas, glist, state););
!     
! //    set_tk_widget_ids(x,glist_getcanvas(glist));
!     if( (state) && (!x->x_selected))
!     {
!         entry_getrect(z, glist, &x1, &y1, &x2, &y2);
!         sys_vgui("%s configure -bg #bdbddd -state disabled\n", x->text_id);
!         sys_vgui("canvas %s -width %d -height %d -bg #fedc00 -bd 0 -cursor top_left_arrow\n",
!                  x->handle_id, TKW_HANDLE_WIDTH, TKW_HANDLE_HEIGHT);
!         sys_vgui("%s create window %f %f -anchor nw -width %d -height %d -window %s -tags %s\n",
!                  x->canvas_id, x2 - (TKW_HANDLE_WIDTH - SCOPE_SELBDWIDTH),
!                  y2 - (TKW_HANDLE_HEIGHT - SCOPE_SELBDWIDTH),
!                  TKW_HANDLE_WIDTH, TKW_HANDLE_HEIGHT,
!                  x->handle_id, x->all_tag);
!         sys_vgui("bind %s <Button> {pd [concat %s resize_click 1 \\;]}\n",
!                  x->handle_id, x->x_receive_name->s_name);
!         sys_vgui("bind %s <ButtonRelease> {pd [concat %s resize_click 0 \\;]}\n",
!                  x->handle_id, x->x_receive_name->s_name);
!         sys_vgui("bind %s <Motion> {pd [concat %s resize_motion %%x %%y \\;]}\n",
!                  x->handle_id, x->x_receive_name->s_name);
! /* */
!         sys_vgui("%s create rectangle %d %d %d %d -tags {%xSEL %s} -outline blue -width 2\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, 
!                  text_ypix(&x->x_obj, glist) + x->x_rect_height-2, 
!                  x, x->all_tag);
!         x->x_selected = 1;
      }
!     else if (!state)
!     {
!         sys_vgui("%s configure -bg grey -state normal\n", x->text_id);
          sys_vgui("%s delete %xSEL\n", x->canvas_id, x);
+         sys_vgui("destroy %s\n", x->handle_id);
+         x->x_selected = 0;
      }
  }
***************
*** 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);
--- 451,455 ----
  static void entry_delete(t_gobj *z, t_glist *glist)
  {
!     DEBUG(post("entry_delete: glist %lx", glist););    
      t_text *x = (t_text *)z;
      canvas_deletelinesfor(glist_getcanvas(glist), x);
***************
*** 405,409 ****
  {
      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) {
--- 460,464 ----
  {
      t_entry *x = (t_entry*)z;
!     DEBUG(post("entry_vis: vis %d canvas %lx glist %lx", vis, x->x_canvas, glist););
      t_rtext *y;
      if (vis) {
***************
*** 640,643 ****
--- 695,767 ----
      x->x_height = height;
      x->x_width = width;
+ //    sys_vgui("%s configure -width %d -height %d \n", x->text_id, (int)width, (int)height);
+     sys_vgui("%s itemconfigure %s -width %d -height %d \n", 
+              x->canvas_id, x->all_tag, (int)width, (int)height);
+ }
+ 
+ static void entry_click_callback(t_entry *x, t_floatarg f)
+ {
+     if( (x->x_glist->gl_edit) && (x->x_glist == x->x_canvas) )
+     {	
+         entry_select((t_gobj *)x, x->x_glist, f);
+     }
+ }
+ 
+ static void entry_resize_click_callback(t_entry *x, t_floatarg f)
+ {
+ /*
+     t_canvas *canvas = (glist_isvisible(x->x_glist) ? x->x_canvas : 0);
+     int newstate = (int)f;
+     if (x->h_dragon && newstate == 0)
+     {
+         x->x_width += x->h_dragx;
+         x->x_height += x->h_dragy;
+         if (canvas)
+         {
+             sys_vgui(".x%x.c delete %s\n", canvas, x->outline_tag);
+             scope_revis(x, canvas);
+             sys_vgui("destroy %s\n", x->handle_id);
+             entry_select((t_gobj *)x, x->x_glist, 1);
+             canvas_fixlinesfor(x->x_glist, (t_text *)x);  // 2nd inlet
+         }
+     }
+     else if (!x->h_dragon && newstate)
+     {
+         if (canvas)
+         {
+             int x1, y1, x2, y2;
+             entry_getrect((t_gobj *)x, x->x_glist, &x1, &y1, &x2, &y2);
+             sys_vgui("lower %s\n", x->handle_id);
+             sys_vgui(".x%x.c create rectangle %d %d %d %d -outline blue -width %f -tags %s\n",
+                      canvas, x1, y1, x2, y2, SCOPE_SELBDWIDTH, x->outline_tag);
+         }
+         x->h_dragx = 0;
+         x->h_dragy = 0;
+     }
+     x->h_dragon = newstate;
+ */
+ }
+ 
+ static void entry_resize_motion_callback(t_entry *x, t_floatarg f1, t_floatarg f2)
+ {
+ /*
+     if (x->h_dragon)
+     {
+         int dx = (int)f1, dy = (int)f2;
+         int x1, y1, x2, y2, newx, newy;
+         entry_getrect((t_gobj *)x, x->x_glist, &x1, &y1, &x2, &y2);
+         newx = x2 + dx;
+         newy = y2 + dy;
+         if (newx > x1 + SCOPE_MINWIDTH && newy > y1 + SCOPE_MINHEIGHT)
+         {
+             t_canvas *canvas = (glist_isvisible(x->x_glist) ? x->x_canvas : 0);
+             if (canvas)
+                 sys_vgui(".x%x.c coords %s %d %d %d %d\n",
+                          canvas, x->outline_tag, x1, y1, newx, newy);
+             x->h_dragx = dx;
+             x->h_dragy = dy;
+         }
+     }
+ */
  }
  
***************
*** 658,661 ****
--- 782,786 ----
      x->x_font_weight = gensym("normal");
      x->x_have_scrollbar = 0;
+     x->x_selected = 0;
  	
  	if (argc < 4)
***************
*** 688,692 ****
      post("2");
  
!     set_tk_widget_ids(x, canvas_getcurrent());
  
      return (x);
--- 813,818 ----
      post("2");
  
!     x->x_glist = canvas_getcurrent();
!     set_tk_widget_ids(x, x->x_glist);
  
      return (x);
***************
*** 758,761 ****
--- 884,894 ----
                      A_DEFSYMBOL,
                      0);
+ 
+     class_addmethod(entry_class, (t_method)entry_click_callback,
+                     gensym("click"), A_FLOAT, 0);
+     class_addmethod(entry_class, (t_method)entry_resize_click_callback,
+                     gensym("resize_click"), A_FLOAT, 0);
+     class_addmethod(entry_class, (t_method)entry_resize_motion_callback,
+                     gensym("resize_motion"), A_FLOAT, A_FLOAT, 0);
  								  
      class_setwidget(entry_class,&entry_widgetbehavior);





More information about the Pd-cvs mailing list