//juCi++ class that holds every keybinding. #ifndef JUCI_KEYBINDINGS_H_ #define JUCI_KEYBINDINGS_H_ #include #include "gtkmm.h" #include //#include "config.h" //TODO :: remove? namespace Keybindings { class Config { public: Config(Config &original); Config(); std::string& menu_xml() { return menu_xml_; } std::unordered_map& key_map() { return key_map_; } void AppendXml(std::string &child); void SetMenu(std::string &menu_xml); void SetKeyMap(std::unordered_map &key_map); private: std::unordered_map key_map_; std::string menu_xml_; std::string hidden_ui_string_; };//Config class Model { public: Model(Keybindings::Config &config); virtual ~Model(); std::string menu_ui_string() { return menu_ui_string_; } std::string hidden_ui_string() { return hidden_ui_string_; } //private: std::string menu_ui_string_; std::string hidden_ui_string_; }; // Model class Controller { public: explicit Controller(Keybindings::Config &config); virtual ~Controller(); Glib::RefPtr action_group_menu() { return action_group_menu_; }; Glib::RefPtr ui_manager_menu() { return ui_manager_menu_; }; Glib::RefPtr action_group_hidden() { return action_group_hidden_; }; Glib::RefPtr ui_manager_hidden() { return ui_manager_hidden_; }; void BuildMenu(); void BuildHiddenMenu(); // protected: Glib::RefPtr ui_manager_menu_; Glib::RefPtr action_group_menu_; Glib::RefPtr ui_manager_hidden_; Glib::RefPtr action_group_hidden_; // private: Keybindings::Config config_; Keybindings::Model model_; };//Controller } #endif // JUCI_KEYBINDINGS_H_