3 #include "imp/action.hpp"
9 typedef sigc::signal<void, ActionToolID> type_signal_action;
10 type_signal_action signal_action()
12 return s_signal_action;
15 virtual void update_key_sequences();
16 virtual void add_action(ActionToolID act) = 0;
17 virtual void set_keep_primary_action(
bool keep)
28 type_signal_action s_signal_action;
29 std::map<ActionToolID, Gtk::Label *> key_labels;
30 const std::map<ActionToolID, ActionConnection> &keys;
35 ActionButton(ActionToolID action,
const std::map<ActionToolID, ActionConnection> &k);
37 void update_key_sequences()
override;
38 void add_action(ActionToolID act)
override;
39 void set_keep_primary_action(
bool keep)
override;
42 const ActionToolID action_orig;
44 Gtk::Button *button =
nullptr;
45 Gtk::MenuButton *menu_button =
nullptr;
47 int button_current = -1;
48 Gtk::MenuItem &add_menu_item(ActionToolID act);
49 void set_primary_action(ActionToolID act);
50 bool keep_primary_action =
false;
55 ActionButtonMenu(
const char *icon_name,
const std::map<ActionToolID, ActionConnection> &k);
57 void add_action(ActionToolID act)
override;
61 int button_current = -1;
62 Gtk::MenuItem &add_menu_item(ActionToolID act);