Подключил событие кнопок меню ос

pull/18/head
Igor Belitskiy 3 years ago
parent 7b908e0614
commit 8aaa2a2363

@ -17,6 +17,7 @@ void Menu_os::set_builder(Glib::RefPtr<Gtk::Builder>& builder, string path_glade
builder->get_widget("revealerL2", revealerL2); builder->get_widget("revealerL2", revealerL2);
builder->get_widget("boxALLL3", boxALLL3); builder->get_widget("boxALLL3", boxALLL3);
builder->get_widget("boxLevel1", boxLevel1); builder->get_widget("boxLevel1", boxLevel1);
builder->get_widget("btnToLev1", btnToLev1);
revealerL1->set_reveal_child(true); revealerL1->set_reveal_child(true);
} }
@ -38,11 +39,12 @@ void Menu_os::init() {
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));
map_menu_level_1[key]->name = key;
map_menu_level_1[key]->btnToL2AndLv3->signal_clicked().connect( map_menu_level_1[key]->btnToL2AndLv3->signal_clicked().connect(
sigc::bind<Gtk::Label*, 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)); name_level_1, map_menu_level_1[key]->name));
map_menu_level_1[key]->name = key;
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);
@ -64,9 +66,9 @@ void Menu_os::init() {
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));
map_menu_level_1[key]->vec_menu_level_3[index_l3]->btnToL3->signal_clicked().connect( map_menu_level_1[key]->vec_menu_level_3[index_l3]->btnToL3->signal_clicked().connect(
sigc::bind<Gtk::Label*, 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)); 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 = builder_level_3;
boxALLL3->pack_start( boxALLL3->pack_start(
*(map_menu_level_1[key]->revealer)); *(map_menu_level_1[key]->revealer));
@ -89,12 +91,25 @@ void Menu_os::event() {
void Menu_os::set_entry(Gtk::Entry *entry) { void Menu_os::set_entry(Gtk::Entry *entry) {
this->entry = entry; this->entry = entry;
} }
void Menu_os::event_template(Gtk::Label* label, string& name_level) { 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;
entry->set_text(name_level_1 + name_level_3); entry->set_text(name_level_1 + name_level_3);
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) {
revealerL1->set_reveal_child(false);
revealerL2->set_reveal_child(true);
revealer->set_reveal_child(true);
}
else {
popoverMenuOS->hide();
}
} }
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);
cout << key_global << endl;
key_global = "";
} }

@ -21,6 +21,7 @@ private:
private: private:
string name_level_1 = ""; string name_level_1 = "";
string name_level_3 = ""; string name_level_3 = "";
string key_global = "";
Gtk::Entry *entry; Gtk::Entry *entry;
string path_glade = ""; string path_glade = "";
Gtk::Box *boxALLL3; Gtk::Box *boxALLL3;
@ -53,7 +54,7 @@ public:
void show(); void show();
void settings(); void settings();
void set_entry(Gtk::Entry *entry); void set_entry(Gtk::Entry *entry);
void event_template(Gtk::Label* label, string& name_level); void event_template(Gtk::Label* label, string& name_level, string& key);
void event(); void event();
void to_l1(); void to_l1();
~Menu_os(); ~Menu_os();

@ -104,6 +104,7 @@ void MainWindow::settings(){
obj_menu_os.set_map(map_list_os); obj_menu_os.set_map(map_list_os);
obj_menu_os.set_entry(entrListOS); obj_menu_os.set_entry(entrListOS);
obj_menu_os.init(); obj_menu_os.init();
obj_menu_os.event();
this->write_list_entry_os(os_control_list); this->write_list_entry_os(os_control_list);
this->download_local_cfg(); this->download_local_cfg();
this->download_globl_cfg(); this->download_globl_cfg();

@ -150,7 +150,10 @@ specified priority</property>
<object class="GtkImage" id="btnToLev2"> <object class="GtkImage" id="btnToLev2">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="stock">gtk-missing-image</property> <property name="stock">gtk-goto-last</property>
<style>
<class name="border: none"/>
</style>
</object> </object>
</child> </child>
</object> </object>
@ -165,16 +168,11 @@ specified priority</property>
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">True</property> <property name="can-focus">True</property>
<property name="receives-default">True</property> <property name="receives-default">True</property>
<property name="margin-left">4</property>
<property name="margin-right">5</property>
<property name="margin-start">5</property>
<property name="margin-end">5</property>
<property name="margin-top">6</property>
<property name="margin-bottom">6</property>
<child> <child>
<object class="GtkLabel" id="lblToL3"> <object class="GtkLabel" id="lblToL3">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="xalign">0</property>
</object> </object>
</child> </child>
</object> </object>
@ -512,7 +510,7 @@ specified priority</property>
<property name="margin-bottom">6</property> <property name="margin-bottom">6</property>
</object> </object>
<packing> <packing>
<property name="expand">False</property> <property name="expand">True</property>
<property name="fill">True</property> <property name="fill">True</property>
<property name="position">2</property> <property name="position">2</property>
</packing> </packing>
@ -1351,7 +1349,7 @@ specified priority</property>
<object class="GtkImage"> <object class="GtkImage">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="stock">gtk-missing-image</property> <property name="stock">gtk-goto-first</property>
</object> </object>
</child> </child>
</object> </object>

Loading…
Cancel
Save