From 77448bd07da814bfb6be9d9cd4fb56627f460ee5 Mon Sep 17 00:00:00 2001 From: daleclack Date: Fri, 28 May 2021 16:17:08 +0800 Subject: [PATCH] Update gtk82 --- Gtkmm3/gtk82_stacks/res/window.ui | 74 ++++++++++++++++++++++- Gtkmm3/gtk82_stacks/res/window.ui~ | 94 +++++++++++++++++++++++++++++- Gtkmm3/gtk82_stacks/src/MyApp.cc | 23 ++++++-- Gtkmm3/gtk82_stacks/src/MyApp.hh | 7 ++- 4 files changed, 188 insertions(+), 10 deletions(-) diff --git a/Gtkmm3/gtk82_stacks/res/window.ui b/Gtkmm3/gtk82_stacks/res/window.ui index 230d8ac..dee4cc5 100644 --- a/Gtkmm3/gtk82_stacks/res/window.ui +++ b/Gtkmm3/gtk82_stacks/res/window.ui @@ -61,7 +61,8 @@ - + + page2 True True True @@ -172,6 +173,77 @@ 1 + + + True + False + 0 + none + + + + True + False + 10 + 10 + True + True + + + prev + 90 + 90 + True + True + True + + + 0 + 0 + + + + + True + True + True + + + 1 + 0 + + + + + True + True + True + + + 0 + 1 + + + + + True + True + True + + + 1 + 1 + + + + + + + page2 + page2 + 2 + + True diff --git a/Gtkmm3/gtk82_stacks/res/window.ui~ b/Gtkmm3/gtk82_stacks/res/window.ui~ index f4251b9..914f485 100644 --- a/Gtkmm3/gtk82_stacks/res/window.ui~ +++ b/Gtkmm3/gtk82_stacks/res/window.ui~ @@ -13,7 +13,15 @@ vertical 10 - + + True + False + + + False + True + 0 + @@ -53,7 +61,8 @@ - + + page2 True True True @@ -164,6 +173,77 @@ 1 + + + True + False + 0 + none + + + + True + False + 10 + 10 + True + True + + + prev + 90 + 90 + True + True + True + + + 0 + 0 + + + + + True + True + True + + + 1 + 0 + + + + + True + True + True + + + 0 + 1 + + + + + True + True + True + + + 1 + 1 + + + + + + + page2 + page2 + 2 + + True @@ -172,7 +252,15 @@ - + + True + False + + + False + True + 2 + diff --git a/Gtkmm3/gtk82_stacks/src/MyApp.cc b/Gtkmm3/gtk82_stacks/src/MyApp.cc index 1962bb3..f80cecc 100644 --- a/Gtkmm3/gtk82_stacks/src/MyApp.cc +++ b/Gtkmm3/gtk82_stacks/src/MyApp.cc @@ -22,21 +22,36 @@ void MyApp::on_activate(){ ref_builder->get_widget("main_window",main_window); ref_builder->get_widget("btn_1",btn1); ref_builder->get_widget("btn_2",btn2); + ref_builder->get_widget("btn_3",btn3); + ref_builder->get_widget("main_stack",main_stack); + ref_builder->get_widget("btn_pg2",btnpg2); ref_builder->get_widget("frame1",frame1); ref_builder->get_widget("frame2",frame2); + ref_builder->get_widget("frame3",frame3); + //Default Page + main_stack->set_visible_child(*frame1); //Click signal btn1->signal_clicked().connect(sigc::mem_fun(*this,&MyApp::btn1_clicked)); btn2->signal_clicked().connect(sigc::mem_fun(*this,&MyApp::btn2_clicked)); + btn3->signal_clicked().connect(sigc::mem_fun(*this,&MyApp::btn3_clicked)); + btnpg2->signal_clicked().connect(sigc::mem_fun(*this,&MyApp::btnpg2_clicked)); add_window(*main_window); main_window->show_all(); } void MyApp::btn1_clicked(){ - frame1->hide(); - frame2->show(); + + main_stack->set_visible_child(*frame2); } void MyApp::btn2_clicked(){ - frame2->hide(); - frame1->show(); + main_stack->set_visible_child(*frame1); +} + +void MyApp::btn3_clicked(){ + main_stack->set_visible_child(*frame1); +} + +void MyApp::btnpg2_clicked(){ + main_stack->set_visible_child(*frame3); } diff --git a/Gtkmm3/gtk82_stacks/src/MyApp.hh b/Gtkmm3/gtk82_stacks/src/MyApp.hh index d4ee4df..c6ebacb 100644 --- a/Gtkmm3/gtk82_stacks/src/MyApp.hh +++ b/Gtkmm3/gtk82_stacks/src/MyApp.hh @@ -13,9 +13,12 @@ private: //Main Builder Glib::RefPtr ref_builder; //Child widgets - Gtk::Button *btn1,*btn2; - Gtk::AspectFrame *frame1,*frame2; + Gtk::Button *btn1,*btn2,*btn3,*btnpg2; + Gtk::AspectFrame *frame1,*frame2,*frame3; + Gtk::Stack *main_stack; //Signal Handlers void btn1_clicked(); void btn2_clicked(); + void btn3_clicked(); + void btnpg2_clicked(); }; \ No newline at end of file