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.
52 lines
1.3 KiB
52 lines
1.3 KiB
#ifndef Menu_os_H
|
|
#define Menu_os_H
|
|
#include <gtkmm.h>
|
|
#include <map>
|
|
#include <vector>
|
|
using namespace std;
|
|
|
|
class Menu_os
|
|
{
|
|
private:
|
|
struct map_reviler_L1 {
|
|
Gtk::Box *boxL1;
|
|
Gtk::Label *lblRevL1;
|
|
Gtk::Button *btnToL2AndLv3;
|
|
};
|
|
struct map_reviler_L3 {
|
|
Gtk::Revealer *revealerL3;
|
|
Gtk::Box *box_L3;
|
|
vector<Gtk::Button*> vec_buttons;
|
|
vector<Gtk::Label*> vec_labels;
|
|
vector<string> vec_names;
|
|
size_t len_data;
|
|
};
|
|
struct stuct_all_reviler {
|
|
struct map_reviler_L1 obj_map_reviler_L1;
|
|
struct map_reviler_L3 obj_map_reviler_L3;
|
|
};
|
|
struct stuct_all_reviler obj_stuct_all_reviler;
|
|
vector<map_reviler_L1> vec_map_reviler_L1;
|
|
Glib::RefPtr<Gtk::Builder> builder;
|
|
std::map <string, vector<string>> map_list_os;
|
|
Gtk::Box *boxALLL3;
|
|
Gtk::Popover *popoverMenuOS;
|
|
Gtk::Revealer *revealerL1;
|
|
Gtk::Revealer *revealerL2;
|
|
Gtk::Button *btnToLev1;
|
|
string name_level_1 = "";
|
|
string name_level_3 = "";
|
|
public:
|
|
Menu_os(/* args */);
|
|
void set_builder(Glib::RefPtr<Gtk::Builder> const& builder);
|
|
void set_map(std::map <string, vector<string>> &map_list_os);
|
|
void init();
|
|
void show();
|
|
void event_template(Gtk::Button* button, Gtk::Label* label, string& name_level);
|
|
void event();
|
|
void to_l1();
|
|
~Menu_os();
|
|
};
|
|
#endif
|
|
|