>
    
    class toolbutton : public button {       // the toolbutton
    public:
      toolbutton(widget* w, char* name) : button(w,name) { 
          text(name);
  	bind(w,name);    // the parent becomes the handler
  	pack(); 
      }
    };
    	
    class toolbox : public frame {               // the toolbox
    public:
      toolbox(widget* w, tablet* t) : c(t), frame(w,"toolbox") { 
          button* b0 = new toolbutton(this,"draw");
          button* b1 = new toolbutton(this,"move");
          button* b2 = new toolbutton(this,"box");
          button* b3 = new toolbutton(this,"circle");
          button* b4 = new toolbutton(this,"arrow");
      }
    
      int operator()() {
  		c->mode( _event->arg(1) );     // transfer to tablet
  		return OK;
  		} 
    private:
      tablet* c;
    };
  

slide: The toolbutton class