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.
29 lines
668 B
29 lines
668 B
#ifndef JUCI_MENU_H_ |
|
#define JUCI_MENU_H_ |
|
|
|
#include <string> |
|
#include <unordered_map> |
|
#include <gtkmm.h> |
|
|
|
class Menu { |
|
Menu() {} |
|
public: |
|
static Menu &get() { |
|
static Menu singleton; |
|
return singleton; |
|
} |
|
|
|
void add_action(const std::string &name, std::function<void()> action); |
|
std::unordered_map<std::string, Glib::RefPtr<Gio::SimpleAction> > actions; |
|
void set_keys(); |
|
|
|
void build(); |
|
|
|
Glib::RefPtr<Gio::Menu> juci_menu; |
|
Glib::RefPtr<Gio::Menu> window_menu; |
|
std::unique_ptr<Gtk::Menu> right_click_line_menu; |
|
std::unique_ptr<Gtk::Menu> right_click_selected_menu; |
|
private: |
|
Glib::RefPtr<Gtk::Builder> builder; |
|
}; |
|
#endif // JUCI_MENU_H_
|
|
|