4 changed files with 134 additions and 81 deletions
@ -1,24 +1,86 @@ |
|||||||
#include "keybindings.h" |
#include "keybindings.h" |
||||||
|
|
||||||
|
Keybindings::Model::Model() { |
||||||
|
std::cout<<"Keybindings: Model constructor run"<<std::endl; |
||||||
|
menu_ui_string_ = |
||||||
|
"<ui> " |
||||||
|
" <menubar name='MenuBar'> " |
||||||
|
" <menu action='FileMenu'> " |
||||||
|
" <menu action='FileNew'> " |
||||||
|
" <menuitem action='FileNewStandard'/> " |
||||||
|
" <menuitem action='FileNewCC'/> " |
||||||
|
" <menuitem action='FileNewH'/> " |
||||||
|
" </menu> " |
||||||
|
" <menuitem action='FileOpenFile'/> " |
||||||
|
" <menuitem action='FileOpenFolder'/> " |
||||||
|
" <separator/> " |
||||||
|
" <menuitem action='FileQuit'/> " |
||||||
|
" </menu> " |
||||||
|
" <menu action='EditMenu'> " |
||||||
|
" <menuitem action='EditCopy'/> " |
||||||
|
" <menuitem action='EditCut'/> " |
||||||
|
" <menuitem action='EditPaste'/> " |
||||||
|
" <separator/> " |
||||||
|
" <menuitem action='EditFind'/> " |
||||||
|
" </menu> " |
||||||
|
" <menu action='WindowMenu'> " |
||||||
|
" <menuitem action='WindowCloseTab'/> " |
||||||
|
" <menuitem action='WindowSplitWindow'/> " |
||||||
|
" </menu> " |
||||||
|
" <menu action='PluginMenu'> " |
||||||
|
" <menu action='PluginSnippet'> " |
||||||
|
" <menuitem action='PluginAddSnippet'/> " |
||||||
|
" </menu> " |
||||||
|
" </menu> " |
||||||
|
" <menu action='HelpMenu'> " |
||||||
|
" <menuitem action='HelpAbout'/> " |
||||||
|
" </menu> " |
||||||
|
" </menubar> " |
||||||
|
"</ui> "; |
||||||
|
|
||||||
|
hidden_ui_string_ = |
||||||
|
"<ui> " |
||||||
|
" <menubar name='MenuBar'> " |
||||||
|
" <menuitem action='Test'/> " |
||||||
|
" </menubar> " |
||||||
|
"</ui> "; |
||||||
|
}; |
||||||
|
|
||||||
|
Keybindings::Model::~Model() { |
||||||
|
} |
||||||
|
|
||||||
Keybindings::Controller::Controller() { |
Keybindings::Controller::Controller() { |
||||||
action_group_ = Gtk::ActionGroup::create(); |
std::cout<<"Keybindings: Controller constructor run"<<std::endl; |
||||||
ui_manager_ = Gtk::UIManager::create(); |
action_group_menu_ = Gtk::ActionGroup::create(); |
||||||
|
ui_manager_menu_ = Gtk::UIManager::create(); |
||||||
|
|
||||||
|
action_group_hidden_ = Gtk::ActionGroup::create(); |
||||||
|
ui_manager_hidden_ = Gtk::UIManager::create(); |
||||||
|
|
||||||
} |
} |
||||||
|
|
||||||
Keybindings::Controller::~Controller(){ |
Keybindings::Controller::~Controller(){ |
||||||
|
|
||||||
} |
} |
||||||
void Keybindings::Controller::set_ui_manager_action_group(Glib::RefPtr<Gtk::ActionGroup> action_group) { |
|
||||||
|
|
||||||
ui_manager_->insert_action_group(action_group); |
void Keybindings::Controller::BuildMenu() { |
||||||
|
try { |
||||||
|
ui_manager_menu_->add_ui_from_string(model_.menu_ui_string()); |
||||||
} |
} |
||||||
void Keybindings::Controller::set_ui_manger_string(std::string ui_string) { |
catch (const Glib::Error &ex) { |
||||||
|
std::cerr << "building menu failed" << ex.what(); |
||||||
|
} |
||||||
|
ui_manager_menu_->insert_action_group(action_group_menu_); |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
void Keybindings::Controller::BuildHiddenMenu() { |
||||||
try { |
try { |
||||||
ui_manager_->add_ui_from_string(ui_string); |
ui_manager_hidden_->add_ui_from_string(model_.hidden_ui_string()); |
||||||
} |
} |
||||||
catch (const Glib::Error &ex) { |
catch (const Glib::Error &ex) { |
||||||
std::cerr << "building menus failed: " << ex.what(); |
std::cerr << "building hidden menu failed" << ex.what(); |
||||||
} |
} |
||||||
|
ui_manager_hidden_->insert_action_group(action_group_hidden_); |
||||||
} |
} |
||||||
|
|
||||||
|
|||||||
Loading…
Reference in new issue