mirror of https://gitlab.com/cppit/jucipp
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
78 lines
1.3 KiB
78 lines
1.3 KiB
#ifndef JUCI_MENU_H_ |
|
#define JUCI_MENU_H_ |
|
|
|
#include <iostream> |
|
#include "gtkmm.h" |
|
#include "keybindings.h" |
|
#include "api.h" |
|
|
|
|
|
namespace Menu { |
|
class Model { |
|
public: |
|
Model(); |
|
|
|
virtual ~Model(); |
|
|
|
std::string ui_string() { |
|
return ui_string_; |
|
} |
|
|
|
private: |
|
std::string ui_string_; |
|
}; // class Model |
|
|
|
class View { |
|
public: |
|
explicit View(Gtk::Orientation orient); |
|
|
|
virtual ~View(); |
|
|
|
Gtk::Box &view(Glib::RefPtr<Gtk::UIManager> ui_manager); |
|
|
|
protected: |
|
Gtk::Box view_; |
|
}; // class View |
|
// controller |
|
class Controller { |
|
public: |
|
explicit Controller(Keybindings::Controller keybindings); |
|
|
|
virtual ~Controller(); |
|
|
|
Gtk::Box &view(); |
|
|
|
private: |
|
Keybindings::Controller keybindings_; |
|
View menu_view_; |
|
Model menu_model_; |
|
|
|
void OnFileNewEmptyfile(); |
|
|
|
/*Signal handlers*/ |
|
void OnFileNewCCFile(); |
|
|
|
void OnFileNewHeaderFile(); |
|
|
|
void OnFileOpenFile(); |
|
|
|
void OnFileOpenFolder(); |
|
|
|
void OnPluginAddSnippet(); |
|
|
|
void OnWindowCloseTab(); |
|
|
|
void OnEditCopy(); |
|
|
|
void OnEditCut(); |
|
|
|
void OnEditPaste(); |
|
|
|
void OnEditFind(); |
|
|
|
void OnWindowSplitWindow(); |
|
|
|
void OnHelpAbout(); |
|
}; // class Controller |
|
} // namespace Menu |
|
#endif // JUCI_MENU_H_
|
|
|