class file_menu : public menubutton {
public:
file_menu(widget* w, tablet* t) : c(t), menubutton(w,"file") {
configure("-relief sunken"); text("File"); pack("-side left");
f = new file_handler(c); // create a file_handler
class menu* m = new class menu(this,"menu");
this->menu(m); // declares it for the menubutton
m->bind(this); // installs this as the handler
m->entry("Open");
m->entry("Save");
m->entry("Quit");
}
int operator()() {
if (!strcmp( _event->arg(1),"Quit")) tk->quit();
else f->dispatch( _event ); // transfer to file_handler
return OK;
}
protected:
tablet* c;
file_handler* f;
};
slide: The file_menu class