1 #ifndef __libgtkmm2ext_bindings_h__
2 #define __libgtkmm2ext_bindings_h__
6 #include <gdk/gdkkeysyms.h>
7 #include <gtkmm/action.h>
8 #include <gtkmm/action.h>
9 #include <gtkmm/radioaction.h>
10 #include <gtkmm/toggleaction.h>
22 _val = GDK_VoidSymbol;
27 uint32_t
state()
const {
return _val >> 32; }
28 uint32_t
key()
const {
return _val & 0xffff; }
31 return _val < other.
_val;
35 return _val == other.
_val;
38 std::string
name()
const;
39 static bool make_key (
const std::string&,
KeyboardKey&);
51 MouseButton (uint32_t state, uint32_t button_number);
52 uint32_t
state()
const {
return _val >> 32; }
53 uint32_t
button()
const {
return _val & 0xffff; }
56 return _val < other.
_val;
60 return _val == other.
_val;
63 std::string
name()
const;
64 static bool make_button (
const std::string&,
MouseButton&);
76 const char*
name,
const char* label, sigc::slot<void> sl);
78 const char*
name,
const char* label,
79 sigc::slot<void,GtkAction*> sl,
82 const char*
name,
const char* label, sigc::slot<void> sl);
84 Glib::RefPtr<Gtk::Action> find_action (
const std::string&
name);
87 typedef std::map<std::string, Glib::RefPtr<Gtk::Action> >
_ActionMap;
101 void add (
KeyboardKey, Operation, Glib::RefPtr<Gtk::Action>);
105 void add (
MouseButton, Operation, Glib::RefPtr<Gtk::Action>);
109 bool load (
const std::string& path);
110 void load (
const XMLNode& node);
111 bool save (
const std::string& path);
117 _ignored_state = mask;
MouseButtonBindingMap button_press_bindings
static uint32_t _ignored_state
std::map< std::string, Glib::RefPtr< Gtk::Action > > _ActionMap
bool operator<(const KeyboardKey &other) const
std::map< KeyboardKey, Glib::RefPtr< Gtk::Action > > KeybindingMap
LIBGTKMM2EXT_API Glib::RefPtr< Gtk::Action > register_radio_action(Glib::RefPtr< Gtk::ActionGroup > group, Gtk::RadioAction::Group &, const char *name, const char *label, sigc::slot< void > sl, guint key, Gdk::ModifierType mods)
LIBGTKMM2EXT_API uint64_t Bindings
static void set_ignored_state(int mask)
bool operator==(const KeyboardKey &other) const
static uint32_t ignored_state()
KeybindingMap release_bindings
LIBGTKMM2EXT_API Glib::RefPtr< Gtk::Action > register_toggle_action(Glib::RefPtr< Gtk::ActionGroup > group, const char *name, const char *label, sigc::slot< void > sl, guint key, Gdk::ModifierType mods)
std::map< MouseButton, Glib::RefPtr< Gtk::Action > > MouseButtonBindingMap
LIBGTKMM2EXT_API Glib::RefPtr< Gtk::Action > register_action(Glib::RefPtr< Gtk::ActionGroup > group, const char *name, const char *label)
MouseButtonBindingMap button_release_bindings
KeybindingMap press_bindings