[iagno/arnaudb/wip/gtk4: 44/54] GtkStack is not subclassable anymore.
- From: Arnaud B. <arnaudb src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [iagno/arnaudb/wip/gtk4: 44/54] GtkStack is not subclassable anymore.
- Date: Thu, 30 Apr 2020 13:21:08 +0000 (UTC)
commit addd6e805e188c8ed47d88a7155766f202b7c1bf
Author: Arnaud Bonatti <arnaud bonatti gmail com>
Date: Sun Apr 19 15:27:18 2020 +0200
GtkStack is not subclassable anymore.
data/ui/base-view.ui | 30 ++++++++++++++++++------------
src/base-view.vala | 15 +++++++++++----
2 files changed, 29 insertions(+), 16 deletions(-)
---
diff --git a/data/ui/base-view.ui b/data/ui/base-view.ui
index e5236d4..74d71bc 100644
--- a/data/ui/base-view.ui
+++ b/data/ui/base-view.ui
@@ -17,21 +17,27 @@
-->
<interface>
<requires lib="gtk+" version="3.96"/>
- <template class="BaseView" parent="GtkStack">
- <property name="transition-type">over-down-up</property>
- <property name="transition-duration">300</property>
+ <template class="BaseView" parent="GtkWidget">
+ <property name="hexpand">True</property>
+ <property name="vexpand">True</property>
<child>
- <object class="GtkStackPage">
- <property name="name">main-view</property>
- <property name="child">
- <object class="GtkOverlay" id="notifications_overlay">
- <child>
- <object class="GtkGrid" id="main_grid">
- <property name="orientation">vertical</property>
+ <object class="GtkStack" id="stack">
+ <property name="transition-type">over-down-up</property>
+ <property name="transition-duration">300</property>
+ <child>
+ <object class="GtkStackPage">
+ <property name="name">main-view</property>
+ <property name="child">
+ <object class="GtkOverlay" id="notifications_overlay">
+ <child>
+ <object class="GtkGrid" id="main_grid">
+ <property name="orientation">vertical</property>
+ </object>
+ </child>
</object>
- </child>
+ </property>
</object>
- </property>
+ </child>
</object>
</child>
</template>
diff --git a/src/base-view.vala b/src/base-view.vala
index 09604dc..7edfc78 100644
--- a/src/base-view.vala
+++ b/src/base-view.vala
@@ -18,8 +18,9 @@
using Gtk;
[GtkTemplate (ui = "/org/gnome/Reversi/ui/base-view.ui")]
-private class BaseView : Stack, AdaptativeWidget
+private class BaseView : Widget, AdaptativeWidget
{
+ [GtkChild] private Stack stack;
[GtkChild] protected Grid main_grid;
internal virtual bool handle_copy_text (out string copy_text)
@@ -32,6 +33,12 @@ private class BaseView : Stack, AdaptativeWidget
internal virtual void close_popovers () {}
+ construct
+ {
+ BinLayout layout = new BinLayout ();
+ set_layout_manager (layout);
+ }
+
/*\
* * adaptative stuff
\*/
@@ -55,7 +62,7 @@ private class BaseView : Stack, AdaptativeWidget
if (in_window_about)
{
in_window_about = false;
- set_visible_child (notifications_overlay); // or set_visible_child_name ("main-view");
+ stack.set_visible_child (notifications_overlay); // or set_visible_child_name ("main-view");
}
else
assert_not_reached ();
@@ -92,7 +99,7 @@ private class BaseView : Stack, AdaptativeWidget
ref artists, ref authors, ref comments, ref copyright, ref documenters,
ref logo_icon_name, ref program_name, ref translator_credits, ref version, ref website, ref website_label);
about_list.set_window_size (saved_window_size);
about_list.show ();
- add (about_list);
+ stack.add (about_list);
about_list_created = true;
}
@@ -101,7 +108,7 @@ private class BaseView : Stack, AdaptativeWidget
requires (in_window_about == false)
{
about_list.reset ();
- set_visible_child (about_list);
+ stack.set_visible_child (about_list);
in_window_about = true;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]