#ifndef Menu_os_H #define Menu_os_H #include #include #include #include #include "util.h" using namespace std; class Menu_os { private: Glib::RefPtr builder; vector>> vec_list_os; Gtk::Popover *popoverMenuOS; Gtk::Revealer *revealerL1; Gtk::Revealer *revealerL2; Gtk::Button *btnToLev1; string str_last_launched_os = ""; private: string name_level_1 = ""; string name_level_3 = ""; string key_global = ""; Gtk::Entry *entry; string path_glade = ""; Gtk::Box *boxALLL3; Gtk::Box *boxLevel1; Gtk::Button *btnOpenMenuOS; struct struct_menu_level_3 { Gtk::Button *btnToL3; Gtk::Label *lblToL3; Glib::RefPtr builder_level_3; Glib::RefPtr btnToL3_css; }; struct struct_menu_level1 { Gtk::Label *lblRevL1; Gtk::Button *btnToL2AndLv3; Gtk::Revealer *revealer; Gtk::Box *boxLevel3; Gtk::Box *boxMenuLevel1; string name; Glib::RefPtr builder; vector vec_menu_level_3; Glib::RefPtr btnToL2AndLv3_css; }; std::map map_menu_level_1; public: Menu_os(/* args */); void set_builder(Glib::RefPtr& builder, string path_glade); void set_map(vector>> &vec_list_os); void init(); void show(); void close_revealer(); void settings(); void html_last_launched_os(string name_os, Gtk::Label *label); void set_last_launched_os(string str_last_launched_os); void set_entry(Gtk::Entry *entry); void event_template(Gtk::Label* label, string& name_level, string& key); void event(); void set_btnOpenMenuOS(Gtk::Button *btnOpenMenuOS); void to_l1(); ~Menu_os(); }; #endif