mirror of https://gitlab.com/cppit/jucipp
9 changed files with 197 additions and 231 deletions
@ -1,50 +0,0 @@
|
||||
/*juCi++ controller header file*/ |
||||
#ifndef CONTROLLER_H |
||||
#define CONTROLLER_H |
||||
|
||||
#include "view.h" |
||||
#include "model.h" |
||||
|
||||
/* -------------------------- HOW TO ----------------------------- */ |
||||
/* Controll classes under Controller->public */ |
||||
/* Model object under Controller::class->private name:class_model */ |
||||
/* View object under Controller::class->private name:class_view */ |
||||
/* ------------------ Remove these comments ---------------------- */ |
||||
|
||||
class Controller { |
||||
public: |
||||
class Menu { |
||||
public: |
||||
Menu(); |
||||
|
||||
virtual ~Menu(); |
||||
Gtk::Box &view(); |
||||
|
||||
Glib::RefPtr<Gtk::UIManager> ui_manager() { |
||||
return menu_view_.ui_manager(); |
||||
}; |
||||
|
||||
private: |
||||
View::Menu menu_view_; |
||||
Model::Menu menu_model_; |
||||
/*Signal handlers*/ |
||||
void onFileNewEmptyfile(); |
||||
void onFileNewCCFile(); |
||||
void onFileNewHeaderFile(); |
||||
void onFileOpenFile(); |
||||
void onFileOpenFolder(); |
||||
void onSystemQuit(); |
||||
void onPluginAddSnippet(); |
||||
void onWindowCloseTab(); |
||||
void onEditCopy(); |
||||
void onEditCut(); |
||||
void onEditPaste(); |
||||
void onEditFind(); |
||||
void onWindowSplitWindow(); |
||||
void onHelpAbout(); |
||||
|
||||
}; |
||||
}; |
||||
|
||||
|
||||
#endif //CONTROLLER_H
|
||||
@ -0,0 +1,90 @@
|
||||
#include <iostream> |
||||
#include "gtkmm.h" |
||||
namespace Menu { |
||||
class Model { |
||||
public: |
||||
Model(); |
||||
|
||||
virtual~Model(); |
||||
|
||||
std::string ui_string() { |
||||
return ui_string_; |
||||
}; |
||||
private: |
||||
std::string ui_string_; |
||||
}; |
||||
|
||||
|
||||
class View { |
||||
public: |
||||
View(Gtk::Orientation orient); |
||||
|
||||
virtual ~View(); |
||||
|
||||
Gtk::Box &view(); |
||||
|
||||
Glib::RefPtr <Gtk::ActionGroup> action_group() { |
||||
return action_group_; |
||||
}; |
||||
|
||||
Glib::RefPtr <Gtk::UIManager> ui_manager() { |
||||
return ui_manager_; |
||||
}; |
||||
|
||||
void set_ui_manger_string(std::string ui_string); |
||||
|
||||
void set_ui_manager_action_group(Glib::RefPtr <Gtk::ActionGroup> action_group); |
||||
|
||||
protected: |
||||
Gtk::Box view_; |
||||
Glib::RefPtr <Gtk::UIManager> ui_manager_; |
||||
Glib::RefPtr <Gtk::ActionGroup> action_group_; |
||||
}; |
||||
|
||||
class Controller { |
||||
public: |
||||
Controller(); |
||||
|
||||
virtual ~Controller(); |
||||
|
||||
Gtk::Box &view(); |
||||
|
||||
Glib::RefPtr <Gtk::UIManager> ui_manager() { |
||||
return menu_view_.ui_manager(); |
||||
}; |
||||
|
||||
private: |
||||
Menu::View menu_view_; |
||||
Menu::Model menu_model_; |
||||
|
||||
/*Signal handlers*/ |
||||
void onFileNewEmptyfile(); |
||||
|
||||
void onFileNewCCFile(); |
||||
|
||||
void onFileNewHeaderFile(); |
||||
|
||||
void onFileOpenFile(); |
||||
|
||||
void onFileOpenFolder(); |
||||
|
||||
void onSystemQuit(); |
||||
|
||||
void onPluginAddSnippet(); |
||||
|
||||
void onWindowCloseTab(); |
||||
|
||||
void onEditCopy(); |
||||
|
||||
void onEditCut(); |
||||
|
||||
void onEditPaste(); |
||||
|
||||
void onEditFind(); |
||||
|
||||
void onWindowSplitWindow(); |
||||
|
||||
void onHelpAbout(); |
||||
|
||||
}; |
||||
} |
||||
@ -1,28 +0,0 @@
|
||||
/*juCi++ model header file*/ |
||||
#ifndef MODEL_H |
||||
#define MODEL_H |
||||
|
||||
#include "gtkmm.h" |
||||
|
||||
/* -------------------------- HOW TO -------------------------- */ |
||||
/* Model classes under Model if possible */ |
||||
/* ------------------ Remove these comments ------------------- */ |
||||
|
||||
class Model { |
||||
public: |
||||
class Menu { |
||||
public: |
||||
Menu(); |
||||
|
||||
virtual~Menu(); |
||||
|
||||
std::string ui_string() { |
||||
return ui_string_; |
||||
}; |
||||
private: |
||||
std::string ui_string_; |
||||
}; |
||||
|
||||
}; |
||||
|
||||
#endif //MODEL_H
|
||||
@ -1,44 +0,0 @@
|
||||
#include "model.h" |
||||
|
||||
Model::Menu::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> "; |
||||
|
||||
// TODO(oyvang) legg til <menuitem action='FileCloseTab'/> under en meny Window
|
||||
} |
||||
|
||||
Model::Menu::~Menu() { |
||||
} |
||||
@ -1,43 +0,0 @@
|
||||
/*juCi++ view header file*/ |
||||
#ifndef VIEW_H |
||||
#define VIEW_H |
||||
|
||||
#include "gtkmm.h" |
||||
#include "iostream" |
||||
|
||||
/* -------------------------- HOW TO -------------------------- */ |
||||
/* All view shall be under View if possible */ |
||||
/* ------------------ Remove these comments ------------------- */ |
||||
|
||||
|
||||
class View { |
||||
public: |
||||
class Menu { |
||||
public: |
||||
Menu(Gtk::Orientation orient); |
||||
|
||||
virtual ~Menu(); |
||||
|
||||
Gtk::Box &view(); |
||||
Glib::RefPtr<Gtk::ActionGroup> action_group() { |
||||
return action_group_; |
||||
}; |
||||
|
||||
Glib::RefPtr<Gtk::UIManager> ui_manager() { |
||||
return ui_manager_; |
||||
}; |
||||
|
||||
void set_ui_manger_string(std::string ui_string); |
||||
|
||||
void set_ui_manager_action_group(Glib::RefPtr<Gtk::ActionGroup> action_group); |
||||
|
||||
protected: |
||||
Gtk::Box view_; |
||||
Glib::RefPtr<Gtk::UIManager> ui_manager_; |
||||
Glib::RefPtr<Gtk::ActionGroup> action_group_; |
||||
}; |
||||
|
||||
|
||||
}; |
||||
|
||||
#endif // VIEW_H
|
||||
@ -1,36 +0,0 @@
|
||||
#include "view.h" |
||||
|
||||
|
||||
/***********************************/ |
||||
/* MENU */ |
||||
/***********************************/ |
||||
View::Menu::Menu(Gtk::Orientation orientation) : |
||||
view_(orientation) { |
||||
|
||||
action_group_ = Gtk::ActionGroup::create(); |
||||
ui_manager_ = Gtk::UIManager::create(); |
||||
|
||||
|
||||
} |
||||
|
||||
void View::Menu::set_ui_manger_string(std::string ui_string) { |
||||
try { |
||||
ui_manager_->add_ui_from_string(ui_string); |
||||
} |
||||
catch (const Glib::Error &ex) { |
||||
std::cerr << "building menus failed: " << ex.what(); |
||||
} |
||||
} |
||||
|
||||
void View::Menu::set_ui_manager_action_group(Glib::RefPtr<Gtk::ActionGroup> action_group) { |
||||
ui_manager_->insert_action_group(action_group); |
||||
} |
||||
|
||||
Gtk::Box &View::Menu::view() { |
||||
view_.pack_start(*ui_manager_->get_widget("/MenuBar"), Gtk::PACK_SHRINK); |
||||
return view_; |
||||
} |
||||
|
||||
|
||||
View::Menu::~Menu() { |
||||
} |
||||
Loading…
Reference in new issue