#include "controller.h" Controller::Menu::Menu() : menu_view_(Gtk::ORIENTATION_VERTICAL), menu_model_() { /*Add action to menues*/ /*File menu*/ menu_view_.action_group()->add(Gtk::Action::create("FileMenu", Gtk::Stock::FILE)); /*File->New files*/ menu_view_.action_group()->add(Gtk::Action::create("FileNew", "New")); menu_view_.action_group()->add(Gtk::Action::create("FileNewStandard", Gtk::Stock::NEW, "New empty file", "Create a new file"), [this]() { onFileNewEmptyfile(); }); menu_view_.action_group()->add(Gtk::Action::create("FileNewCC", Gtk::Stock::NEW, "New cc file", "Create a new cc file"), Gtk::AccelKey("c"), [this]() { onFileNewCCFile(); }); menu_view_.action_group()->add(Gtk::Action::create("FileNewH", Gtk::Stock::NEW, "New h file", "Create a new h file"), Gtk::AccelKey("h"), [this]() { onFileNewHeaderFile(); }); /* File-> New files end */ menu_view_.action_group()->add(Gtk::Action::create("FileOpenFile", Gtk::Stock::OPEN), [this]() { onFileNewEmptyfile(); }); menu_view_.action_group()->add(Gtk::Action::create("FileOpenFolder", "Open folder"), [this]() { onFileNewEmptyfile(); }); menu_view_.action_group()->add(Gtk::Action::create("FileQuit", Gtk::Stock::QUIT), [this]() { onSystemQuit(); }); menu_view_.action_group()->add(Gtk::Action::create("PluginMenu", "Plugins")); menu_view_.action_group()->add(Gtk::Action::create("PluginSnippet", "Snippet")); menu_view_.action_group()->add(Gtk::Action::create("PluginAddSnippet", "Add snippet"), Gtk::AccelKey("space"), [this]() { onPluginAddSnippet(); }); menu_view_.set_ui_manager_action_group(menu_view_.action_group()); menu_view_.set_ui_manger_string(menu_model_.ui_string()); } Controller::Menu::~Menu() { } Gtk::Box &Controller::Menu::view() { return menu_view_.view(); } void Controller::Menu::onFileNewEmptyfile() { std::cout << "New file clicked" << std::endl; } void Controller::Menu::onFileNewCCFile() { std::cout << "New cc file clicked" << std::endl; } void Controller::Menu::onFileNewHeaderFile() { std::cout << "New cc file clicked" << std::endl; } void Controller::Menu::onSystemQuit(){ //TODO(Oyvang, Zalox, Forgie) Add everything that needs to be done before quiting /*Quit the system*/ Gtk::Main::quit(); //TODO(Oyvang, Zalox, Forgie) methode is depricated, find a better solution. } void Controller::Menu::onPluginAddSnippet() { std::cout << "Add snipper" << std::endl; //TODO(Forgi add you snippet magic code) }