interface menu : widget {
menu(char* p, char* options = "");
menu(widget* w, char* p, char* options = "");
menu* add(char* s, char* options = "");
menu* entry(char* s, char* args ="", char* options="");
menu* entry(char* s, binding* ac, char* args="", char* opts="");
menu* cascade(char* s, char* m, char* options = "");
menu* cascade(char* s, menu* m, char* options = "");
char* entryconfigure(int i, char* options);
int index(char *s);
int active(); // returns active index
void del(int i); // delete entry with index i
void del(char* s); // delete entry with tag s
char* invoke(int i); // invoke entry with index i
char* invoke(char *s ); // invoke entry with tag s
void post(int x = 500, int y = 500);
void unpost();
protected:
install(binding*, char* args);
};
slide: The menu class