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.
72 lines
2.1 KiB
72 lines
2.1 KiB
#ifndef Menu_os_H
|
|
#define Menu_os_H
|
|
#include <gtkmm.h>
|
|
#include <map>
|
|
#include <iostream>
|
|
#include <vector>
|
|
#include "util.h"
|
|
using namespace std;
|
|
|
|
class Menu_os
|
|
{
|
|
private:
|
|
Glib::RefPtr<Gtk::Builder> builder;
|
|
vector<tuple<string, vector<string>>> vec_list_os;
|
|
|
|
Gtk::Popover *popoverMenuOS;
|
|
Gtk::Revealer *revealerL1;
|
|
Gtk::Revealer *revealerL2;
|
|
Gtk::Button *btnToLev1;
|
|
Gtk::Revealer *main_revealer;
|
|
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<Gtk::Builder> builder_level_3;
|
|
Glib::RefPtr<Gtk::StyleContext> 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<Gtk::Builder> builder;
|
|
vector<struct struct_menu_level_3*> vec_menu_level_3;
|
|
Glib::RefPtr<Gtk::StyleContext> btnToL2AndLv3_css;
|
|
};
|
|
|
|
std::map<string, struct struct_menu_level1*> map_menu_level_1;
|
|
|
|
|
|
public:
|
|
Menu_os(/* args */);
|
|
void set_builder(Glib::RefPtr<Gtk::Builder>& builder, string path_glade);
|
|
void set_map(vector<tuple<string, vector<string>>> &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_main_revealer(Gtk::Revealer *revealer);
|
|
void set_btnOpenMenuOS(Gtk::Button *btnOpenMenuOS);
|
|
void to_l1();
|
|
~Menu_os();
|
|
};
|
|
#endif
|
|
|