mirror of https://gitlab.com/cppit/jucipp
8 changed files with 114 additions and 58 deletions
@ -1,33 +1,80 @@ |
|||||||
#include "controller.h" |
#include "controller.h" |
||||||
|
|
||||||
Controller::Menu::Menu() : |
Controller::Menu::Menu() : |
||||||
menu_view(Gtk::ORIENTATION_VERTICAL), |
menu_view_(Gtk::ORIENTATION_VERTICAL), |
||||||
menu_model() { |
menu_model_() { |
||||||
/*Add action to menues*/ |
/*Add action to menues*/ |
||||||
menu_view.get_action_group()->add(Gtk::Action::create("FileMenu", "File")); |
/*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.get_action_group()->add(Gtk::Action::create("FileNewStandard", |
menu_view_.action_group()->add(Gtk::Action::create("FileNewStandard", |
||||||
Gtk::Stock::NEW, "New empty file", "Create a new file"), |
Gtk::Stock::NEW, "New empty file", "Create a new file"), |
||||||
[this]() { |
[this]() { |
||||||
onNewEmptyfile(); |
onFileNewEmptyfile(); |
||||||
}); |
}); |
||||||
|
menu_view_.action_group()->add(Gtk::Action::create("FileNewCC", |
||||||
|
Gtk::Stock::NEW, "New cc file", "Create a new cc file"), |
||||||
|
Gtk::AccelKey("<control><alt>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("<control><alt>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("<alt>space"), |
||||||
|
[this]() { |
||||||
|
onPluginAddSnippet(); |
||||||
|
}); |
||||||
|
|
||||||
|
|
||||||
menu_view.set_ui_manager_action_group(menu_view.get_action_group()); |
menu_view_.set_ui_manager_action_group(menu_view_.action_group()); |
||||||
menu_view.set_ui_manger_string(menu_model.get_ui_string()); |
menu_view_.set_ui_manger_string(menu_model_.ui_string()); |
||||||
} |
} |
||||||
|
|
||||||
Controller::Menu::~Menu() { |
Controller::Menu::~Menu() { |
||||||
|
|
||||||
} |
} |
||||||
|
|
||||||
Gtk::Box &Controller::Menu::get_view() { |
Gtk::Box &Controller::Menu::view() { |
||||||
return menu_view.get_view(); |
return menu_view_.view(); |
||||||
} |
} |
||||||
|
|
||||||
void Controller::Menu::onNewEmptyfile() { |
void Controller::Menu::onFileNewEmptyfile() { |
||||||
std::cout << "New file clicked" << std::endl; |
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)
|
||||||
|
} |
||||||
|
|||||||
@ -1,15 +1,29 @@ |
|||||||
#include "model.h" |
#include "model.h" |
||||||
|
|
||||||
Model::Menu::Menu() { |
Model::Menu::Menu() { |
||||||
ui_string = |
ui_string_ = |
||||||
"<ui> " |
"<ui> " |
||||||
" <menubar name='MenuBar'> " |
" <menubar name='MenuBar'> " |
||||||
" <menu action='FileMenu'> " |
" <menu action='FileMenu'> " |
||||||
|
" <menu action='FileNew'> " |
||||||
" <menuitem action='FileNewStandard'/> " |
" <menuitem action='FileNewStandard'/> " |
||||||
|
" <menuitem action='FileNewCC'/> " |
||||||
|
" <menuitem action='FileNewH'/> " |
||||||
|
" </menu> " |
||||||
|
// " <menuitem action='FileOpenFile'/> "
|
||||||
|
//" <menuitem action='FileOpenFolder'/> "
|
||||||
|
" <separator/> " |
||||||
" <menuitem action='FileQuit'/> " |
" <menuitem action='FileQuit'/> " |
||||||
" </menu> " |
" </menu> " |
||||||
|
" <menu action='PluginMenu'> " |
||||||
|
" <menu action='PluginSnippet'> " |
||||||
|
" <menuitem action='PluginAddSnippet'/> " |
||||||
|
" </menu> " |
||||||
|
" </menu> " |
||||||
" </menubar> " |
" </menubar> " |
||||||
"</ui> "; |
"</ui> "; |
||||||
|
|
||||||
|
// TODO(oyvang) legg til <menuitem action='FileCloseTab'/> under en meny Window
|
||||||
} |
} |
||||||
|
|
||||||
Model::Menu::~Menu() { |
Model::Menu::~Menu() { |
||||||
|
|||||||
Loading…
Reference in new issue