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.
 
 

30 lines
592 B

#ifndef JUCI_MENU_H_
#define JUCI_MENU_H_
#include <string>
#include <unordered_map>
#include <gtkmm.h>
class Menu {
private:
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;
private:
Glib::RefPtr<Gtk::Builder> builder;
std::string ui_xml;
};
#endif // JUCI_MENU_H_