|
|
|
@ -36,6 +36,8 @@ void Menu_os::init() {
|
|
|
|
builder_level_1->get_widget("lblRevL1", map_menu_level_1[key]->lblRevL1);
|
|
|
|
builder_level_1->get_widget("lblRevL1", map_menu_level_1[key]->lblRevL1);
|
|
|
|
builder_level_1->get_widget("btnToL2AndLv3", map_menu_level_1[key]->btnToL2AndLv3);
|
|
|
|
builder_level_1->get_widget("btnToL2AndLv3", map_menu_level_1[key]->btnToL2AndLv3);
|
|
|
|
builder_level_1->get_widget("boxMenuLevel1", map_menu_level_1[key]->boxMenuLevel1);
|
|
|
|
builder_level_1->get_widget("boxMenuLevel1", map_menu_level_1[key]->boxMenuLevel1);
|
|
|
|
|
|
|
|
map_menu_level_1[key]->btnToL2AndLv3_css = map_menu_level_1[key]->btnToL2AndLv3->get_style_context();
|
|
|
|
|
|
|
|
map_menu_level_1[key]->btnToL2AndLv3_css->add_class("noborder");
|
|
|
|
map_menu_level_1[key]->builder = builder_level_1;
|
|
|
|
map_menu_level_1[key]->builder = builder_level_1;
|
|
|
|
map_menu_level_1[key]->lblRevL1->set_text(key);
|
|
|
|
map_menu_level_1[key]->lblRevL1->set_text(key);
|
|
|
|
boxLevel1->pack_end(*(map_menu_level_1[key]->boxMenuLevel1));
|
|
|
|
boxLevel1->pack_end(*(map_menu_level_1[key]->boxMenuLevel1));
|
|
|
|
@ -44,16 +46,16 @@ void Menu_os::init() {
|
|
|
|
sigc::bind<Gtk::Label*, string&, string&> (sigc::mem_fun( *this,
|
|
|
|
sigc::bind<Gtk::Label*, string&, string&> (sigc::mem_fun( *this,
|
|
|
|
&Menu_os::event_template), map_menu_level_1[key]->lblRevL1,
|
|
|
|
&Menu_os::event_template), map_menu_level_1[key]->lblRevL1,
|
|
|
|
name_level_1, map_menu_level_1[key]->name));
|
|
|
|
name_level_1, map_menu_level_1[key]->name));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (vec_value.size()!= 0) {
|
|
|
|
if (vec_value.size()!= 0) {
|
|
|
|
builder_level_1->get_widget("revealerL3", map_menu_level_1[key]->revealer);
|
|
|
|
builder_level_1->get_widget("revealerL3", map_menu_level_1[key]->revealer);
|
|
|
|
builder_level_1->get_widget("boxLevel3", map_menu_level_1[key]->boxLevel3);
|
|
|
|
builder_level_1->get_widget("boxLevel3", map_menu_level_1[key]->boxLevel3);
|
|
|
|
|
|
|
|
boxALLL3->pack_start(*(map_menu_level_1[key]->revealer));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
else {
|
|
|
|
map_menu_level_1[key]->revealer = NULL;
|
|
|
|
map_menu_level_1[key]->revealer = NULL;
|
|
|
|
map_menu_level_1[key]->boxLevel3 = NULL;
|
|
|
|
map_menu_level_1[key]->boxLevel3 = NULL;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
size_t index_l3 = 0;
|
|
|
|
size_t index_l3 = 0;
|
|
|
|
for (string& str_level_2: vec_value) {
|
|
|
|
for (string& str_level_2: vec_value) {
|
|
|
|
auto builder_level_3 = Gtk::Builder::create_from_file(path_glade);
|
|
|
|
auto builder_level_3 = Gtk::Builder::create_from_file(path_glade);
|
|
|
|
@ -62,6 +64,9 @@ void Menu_os::init() {
|
|
|
|
map_menu_level_1[key]->vec_menu_level_3[index_l3]->btnToL3);
|
|
|
|
map_menu_level_1[key]->vec_menu_level_3[index_l3]->btnToL3);
|
|
|
|
builder_level_3->get_widget("lblToL3",
|
|
|
|
builder_level_3->get_widget("lblToL3",
|
|
|
|
map_menu_level_1[key]->vec_menu_level_3[index_l3]->lblToL3);
|
|
|
|
map_menu_level_1[key]->vec_menu_level_3[index_l3]->lblToL3);
|
|
|
|
|
|
|
|
map_menu_level_1[key]->vec_menu_level_3[index_l3]->btnToL3_css =
|
|
|
|
|
|
|
|
map_menu_level_1[key]->vec_menu_level_3[index_l3]->btnToL3->get_style_context();
|
|
|
|
|
|
|
|
map_menu_level_1[key]->vec_menu_level_3[index_l3]->btnToL3_css->add_class("noborder");
|
|
|
|
map_menu_level_1[key]->vec_menu_level_3[index_l3]->lblToL3->set_text(str_level_2);
|
|
|
|
map_menu_level_1[key]->vec_menu_level_3[index_l3]->lblToL3->set_text(str_level_2);
|
|
|
|
map_menu_level_1[key]->boxLevel3->pack_start(
|
|
|
|
map_menu_level_1[key]->boxLevel3->pack_start(
|
|
|
|
*(map_menu_level_1[key]->vec_menu_level_3[index_l3]->btnToL3));
|
|
|
|
*(map_menu_level_1[key]->vec_menu_level_3[index_l3]->btnToL3));
|
|
|
|
@ -69,18 +74,22 @@ void Menu_os::init() {
|
|
|
|
sigc::bind<Gtk::Label*, string&, string&> (sigc::mem_fun(*this,
|
|
|
|
sigc::bind<Gtk::Label*, string&, string&> (sigc::mem_fun(*this,
|
|
|
|
&Menu_os::event_template), map_menu_level_1[key]->vec_menu_level_3[index_l3]->lblToL3,
|
|
|
|
&Menu_os::event_template), map_menu_level_1[key]->vec_menu_level_3[index_l3]->lblToL3,
|
|
|
|
name_level_3, map_menu_level_1[key]->name));
|
|
|
|
name_level_3, map_menu_level_1[key]->name));
|
|
|
|
map_menu_level_1[key]->vec_menu_level_3[index_l3]->builder = builder_level_3;
|
|
|
|
map_menu_level_1[key]->vec_menu_level_3[index_l3]->builder_level_3 = builder_level_3;
|
|
|
|
boxALLL3->pack_start(
|
|
|
|
|
|
|
|
*(map_menu_level_1[key]->revealer));
|
|
|
|
|
|
|
|
index_l3 += 1;
|
|
|
|
index_l3 += 1;
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
index_l1 += 1;
|
|
|
|
index_l1 += 1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
void Menu_os::close_revealer() {
|
|
|
|
|
|
|
|
for (auto& [key, values]: map_menu_level_1) {
|
|
|
|
|
|
|
|
if (values->revealer != NULL) {
|
|
|
|
|
|
|
|
values->revealer->set_reveal_child(false);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
void Menu_os::show() {
|
|
|
|
void Menu_os::show() {
|
|
|
|
|
|
|
|
this->close_revealer();
|
|
|
|
revealerL1->set_reveal_child(true);
|
|
|
|
revealerL1->set_reveal_child(true);
|
|
|
|
revealerL2->set_reveal_child(false);
|
|
|
|
revealerL2->set_reveal_child(false);
|
|
|
|
popoverMenuOS->show_all();
|
|
|
|
popoverMenuOS->show_all();
|
|
|
|
@ -94,22 +103,25 @@ void Menu_os::set_entry(Gtk::Entry *entry) {
|
|
|
|
void Menu_os::event_template(Gtk::Label* label, string& name_level, string& key) {
|
|
|
|
void Menu_os::event_template(Gtk::Label* label, string& name_level, string& key) {
|
|
|
|
name_level = label->get_label();
|
|
|
|
name_level = label->get_label();
|
|
|
|
key_global = key;
|
|
|
|
key_global = key;
|
|
|
|
entry->set_text(name_level_1 + name_level_3);
|
|
|
|
|
|
|
|
Gtk::Revealer *revealer = map_menu_level_1[key]->revealer;
|
|
|
|
Gtk::Revealer *revealer = map_menu_level_1[key]->revealer;
|
|
|
|
if (&name_level == &name_level_1 && map_menu_level_1[key]->vec_menu_level_3.size() != 0) {
|
|
|
|
if (&name_level == &name_level_1 && map_menu_level_1[key]->vec_menu_level_3.size() != 0) {
|
|
|
|
|
|
|
|
this->close_revealer();
|
|
|
|
revealerL1->set_reveal_child(false);
|
|
|
|
revealerL1->set_reveal_child(false);
|
|
|
|
revealerL2->set_reveal_child(true);
|
|
|
|
revealerL2->set_reveal_child(true);
|
|
|
|
revealer->set_reveal_child(true);
|
|
|
|
revealer->set_reveal_child(true);
|
|
|
|
|
|
|
|
name_level_3 = "";
|
|
|
|
|
|
|
|
entry->set_text(name_level_1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
else {
|
|
|
|
popoverMenuOS->hide();
|
|
|
|
popoverMenuOS->hide();
|
|
|
|
|
|
|
|
entry->set_text(name_level_1 + name_level_3);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
void Menu_os::to_l1() {
|
|
|
|
void Menu_os::to_l1() {
|
|
|
|
revealerL1->set_reveal_child(true);
|
|
|
|
revealerL1->set_reveal_child(true);
|
|
|
|
revealerL2->set_reveal_child(false);
|
|
|
|
revealerL2->set_reveal_child(false);
|
|
|
|
map_menu_level_1[key_global]->revealer->set_reveal_child(false);
|
|
|
|
map_menu_level_1[key_global]->revealer->set_reveal_child(false);
|
|
|
|
cout << key_global << endl;
|
|
|
|
|
|
|
|
key_global = "";
|
|
|
|
key_global = "";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|