14 #ifndef T3_WIDGET_MENU_H
15 #define T3_WIDGET_MENU_H
18 #include <t3widget/interfaces.h>
19 #include <t3widget/widgets/smartlabel.h>
30 struct T3_WIDGET_LOCAL implementation_t {
40 std::vector<menu_panel_t *> menus;
43 implementation_t(
bool _hidden) : current_menu(0), old_menu(0),
44 start_col(0), hidden(_hidden), has_focus(
false), button_down_idx(-1)
47 pimpl_ptr<implementation_t>::t impl;
59 void previous_menu(
void);
62 int coord_to_menu_idx(
int x);
77 virtual bool process_key(
key_t key);
79 virtual void update_contents(
void);
80 virtual void set_focus(focus_t focus);
81 virtual void show(
void);
82 virtual void hide(
void);
83 virtual bool is_hotkey(
key_t key);
84 virtual bool accepts_focus(
void);
97 void set_hidden(
bool _hidden);
106 T3_WIDGET_SIGNAL(activate,
void,
int);