>
slide: The toolbutton class
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;
};