[libadwaita/wip/exalm/demo-cleanups: 6/20] demo: Split lists page into a separate class
- From: Alexander Mikhaylenko <alexm src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [libadwaita/wip/exalm/demo-cleanups: 6/20] demo: Split lists page into a separate class
- Date: Thu, 9 Dec 2021 14:21:07 +0000 (UTC)
commit cb986edb6e300574257ec13a6c07b0a30b349de9
Author: Alexander Mikhaylenko <alexm gnome org>
Date: Thu Dec 9 16:04:24 2021 +0500
demo: Split lists page into a separate class
demo/adw-demo-window.c | 2 +
demo/adw-demo-window.ui | 162 +-----------------------------
demo/adwaita-demo.gresources.xml | 1 +
demo/meson.build | 1 +
demo/pages/lists/adw-demo-page-lists.c | 24 +++++
demo/pages/lists/adw-demo-page-lists.h | 11 +++
demo/pages/lists/adw-demo-page-lists.ui | 169 ++++++++++++++++++++++++++++++++
7 files changed, 209 insertions(+), 161 deletions(-)
---
diff --git a/demo/adw-demo-window.c b/demo/adw-demo-window.c
index fc121f23..cecc194b 100644
--- a/demo/adw-demo-window.c
+++ b/demo/adw-demo-window.c
@@ -3,6 +3,7 @@
#include <glib/gi18n.h>
#include "pages/clamp/adw-demo-page-clamp.h"
#include "pages/leaflet/adw-demo-page-leaflet.h"
+#include "pages/lists/adw-demo-page-lists.h"
#include "pages/welcome/adw-demo-page-welcome.h"
#include "adw-flap-demo-window.h"
#include "adw-style-demo-window.h"
@@ -924,6 +925,7 @@ adw_demo_window_init (AdwDemoWindow *self)
g_type_ensure (ADW_TYPE_DEMO_PAGE_CLAMP);
g_type_ensure (ADW_TYPE_DEMO_PAGE_LEAFLET);
+ g_type_ensure (ADW_TYPE_DEMO_PAGE_LISTS);
g_type_ensure (ADW_TYPE_DEMO_PAGE_WELCOME);
gtk_widget_init_template (GTK_WIDGET (self));
diff --git a/demo/adw-demo-window.ui b/demo/adw-demo-window.ui
index 0c0f9f7a..30103f8f 100644
--- a/demo/adw-demo-window.ui
+++ b/demo/adw-demo-window.ui
@@ -149,169 +149,9 @@
</child>
<child>
<object class="GtkStackPage">
- <property name="name">lists</property>
<property name="title" translatable="yes">Lists</property>
<property name="child">
- <object class="AdwStatusPage">
- <property name="icon-name">widget-list-symbolic</property>
- <property name="title" translatable="yes">Lists</property>
- <property name="description" translatable="yes">Rows and helpers for
GtkListBox.</property>
- <property name="child">
- <object class="AdwClamp">
- <property name="maximum-size">400</property>
- <property name="tightening-threshold">300</property>
- <property name="child">
- <object class="GtkBox">
- <property name="orientation">vertical</property>
- <property name="spacing">12</property>
- <child>
- <object class="AdwPreferencesGroup">
- <child>
- <object class="AdwActionRow">
- <property
name="icon-name">row-preferences-symbolic</property>
- <property name="subtitle" translatable="yes">They also have
a subtitle and an icon</property>
- <property name="title" translatable="yes">Rows have a
title</property>
- </object>
- </child>
- <child>
- <object class="AdwActionRow">
- <property name="title" translatable="yes">Rows can have
suffix widgets</property>
- <child>
- <object class="GtkButton">
- <property name="label"
translatable="yes">Frobnicate</property>
- <property name="valign">center</property>
- </object>
- </child>
- </object>
- </child>
- </object>
- </child>
- <child>
- <object class="AdwPreferencesGroup">
- <child>
- <object class="AdwActionRow">
- <property name="activatable_widget">radio_button_1</property>
- <property name="title" translatable="yes">Rows can have
prefix widgets</property>
- <child type="prefix">
- <object class="GtkCheckButton" id="radio_button_1">
- <property name="valign">center</property>
- <property name="active">True</property>
- </object>
- </child>
- </object>
- </child>
- <child>
- <object class="AdwActionRow">
- <property name="activatable_widget">radio_button_2</property>
- <property name="title" translatable="yes">Rows can have
prefix widgets</property>
- <child type="prefix">
- <object class="GtkCheckButton" id="radio_button_2">
- <property name="group">radio_button_1</property>
- <property name="valign">center</property>
- </object>
- </child>
- </object>
- </child>
- </object>
- </child>
- <child>
- <object class="AdwPreferencesGroup">
- <property name="title" translatable="yes">Combo Rows</property>
- <child>
- <object class="AdwComboRow" id="combo_row">
- <property name="title" translatable="yes">Combo
Row</property>
- <property name="model">
- <object class="GtkStringList">
- <items>
- <item>Foo</item>
- <item>Bar</item>
- <item>Baz</item>
- </items>
- </object>
- </property>
- </object>
- </child>
- <child>
- <object class="AdwComboRow" id="enum_combo_row">
- <property name="subtitle" translatable="yes">This combo row
was created from an enumeration</property>
- <property name="title" translatable="yes">Enumeration Combo
Row</property>
- <property name="model">
- <object class="AdwEnumListModel">
- <property name="enum-type">GtkLicense</property>
- </object>
- </property>
- <property name="expression">
- <lookup type="AdwEnumListItem" name="nick"/>
- </property>
- </object>
- </child>
- </object>
- </child>
- <child>
- <object class="AdwPreferencesGroup">
- <property name="title" translatable="yes">Expander
Rows</property>
- <child>
- <object class="AdwExpanderRow" id="expander_row">
- <property name="title" translatable="yes">Expander
Row</property>
- <child>
- <object class="AdwActionRow">
- <property name="title" translatable="yes">A Nested
Row</property>
- </object>
- </child>
- <child>
- <object class="AdwActionRow">
- <property name="title" translatable="yes">Another Nested
Row</property>
- </object>
- </child>
- </object>
- </child>
- <child>
- <object class="AdwExpanderRow" id="action_expander_row">
- <property name="title" translatable="yes">Expander Row With
an Action</property>
- <child type="action">
- <object class="GtkButton">
- <property name="valign">center</property>
- <property name="icon-name">row-copy-symbolic</property>
- <style>
- <class name="flat"/>
- </style>
- </object>
- </child>
- <child>
- <object class="AdwActionRow">
- <property name="title" translatable="yes">A Nested
Row</property>
- </object>
- </child>
- <child>
- <object class="AdwActionRow">
- <property name="title" translatable="yes">Another Nested
Row</property>
- </object>
- </child>
- </object>
- </child>
- <child>
- <object class="AdwExpanderRow" id="enable_expander_row">
- <property name="show_enable_switch">True</property>
- <property name="title" translatable="yes">Toggleable
Expander Row</property>
- <child>
- <object class="AdwActionRow">
- <property name="title" translatable="yes">A Nested
Row</property>
- </object>
- </child>
- <child>
- <object class="AdwActionRow">
- <property name="title" translatable="yes">Another Nested
Row</property>
- </object>
- </child>
- </object>
- </child>
- </object>
- </child>
- </object>
- </property>
- </object>
- </property>
- </object>
+ <object class="AdwDemoPageLists"/>
</property>
</object>
</child>
diff --git a/demo/adwaita-demo.gresources.xml b/demo/adwaita-demo.gresources.xml
index c3f5d793..d73e1f1c 100644
--- a/demo/adwaita-demo.gresources.xml
+++ b/demo/adwaita-demo.gresources.xml
@@ -43,6 +43,7 @@
<gresource prefix="/org/gnome/Adwaita1/Demo/ui">
<file preprocess="xml-stripblanks">pages/clamp/adw-demo-page-clamp.ui</file>
<file preprocess="xml-stripblanks">pages/leaflet/adw-demo-page-leaflet.ui</file>
+ <file preprocess="xml-stripblanks">pages/lists/adw-demo-page-lists.ui</file>
<file preprocess="xml-stripblanks">pages/welcome/adw-demo-page-welcome.ui</file>
<file preprocess="xml-stripblanks">adw-demo-preferences-window.ui</file>
<file preprocess="xml-stripblanks">adw-demo-window.ui</file>
diff --git a/demo/meson.build b/demo/meson.build
index 3e05af16..659c3f38 100644
--- a/demo/meson.build
+++ b/demo/meson.build
@@ -14,6 +14,7 @@ adwaita_demo_sources = [
'pages/clamp/adw-demo-page-clamp.c',
'pages/leaflet/adw-demo-page-leaflet.c',
+ 'pages/lists/adw-demo-page-lists.c',
'pages/welcome/adw-demo-page-welcome.c',
'adwaita-demo.c',
diff --git a/demo/pages/lists/adw-demo-page-lists.c b/demo/pages/lists/adw-demo-page-lists.c
new file mode 100644
index 00000000..594fa2ca
--- /dev/null
+++ b/demo/pages/lists/adw-demo-page-lists.c
@@ -0,0 +1,24 @@
+#include "adw-demo-page-lists.h"
+
+#include <glib/gi18n.h>
+
+struct _AdwDemoPageLists
+{
+ AdwBin parent_instance;
+};
+
+G_DEFINE_TYPE (AdwDemoPageLists, adw_demo_page_lists, ADW_TYPE_BIN)
+
+static void
+adw_demo_page_lists_class_init (AdwDemoPageListsClass *klass)
+{
+ GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
+
+ gtk_widget_class_set_template_from_resource (widget_class,
"/org/gnome/Adwaita1/Demo/ui/pages/lists/adw-demo-page-lists.ui");
+}
+
+static void
+adw_demo_page_lists_init (AdwDemoPageLists *self)
+{
+ gtk_widget_init_template (GTK_WIDGET (self));
+}
diff --git a/demo/pages/lists/adw-demo-page-lists.h b/demo/pages/lists/adw-demo-page-lists.h
new file mode 100644
index 00000000..711169d2
--- /dev/null
+++ b/demo/pages/lists/adw-demo-page-lists.h
@@ -0,0 +1,11 @@
+#pragma once
+
+#include <adwaita.h>
+
+G_BEGIN_DECLS
+
+#define ADW_TYPE_DEMO_PAGE_LISTS (adw_demo_page_lists_get_type())
+
+G_DECLARE_FINAL_TYPE (AdwDemoPageLists, adw_demo_page_lists, ADW, DEMO_PAGE_LISTS, AdwBin)
+
+G_END_DECLS
diff --git a/demo/pages/lists/adw-demo-page-lists.ui b/demo/pages/lists/adw-demo-page-lists.ui
new file mode 100644
index 00000000..637f120e
--- /dev/null
+++ b/demo/pages/lists/adw-demo-page-lists.ui
@@ -0,0 +1,169 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+ <requires lib="gtk" version="4.0"/>
+ <requires lib="libadwaita" version="1.0"/>
+ <template class="AdwDemoPageLists" parent="AdwBin">
+ <property name="child">
+ <object class="AdwStatusPage">
+ <property name="icon-name">widget-list-symbolic</property>
+ <property name="title" translatable="yes">Lists</property>
+ <property name="description" translatable="yes">Rows and helpers for GtkListBox.</property>
+ <property name="child">
+ <object class="AdwClamp">
+ <property name="maximum-size">400</property>
+ <property name="tightening-threshold">300</property>
+ <property name="child">
+ <object class="GtkBox">
+ <property name="orientation">vertical</property>
+ <property name="spacing">12</property>
+ <child>
+ <object class="AdwPreferencesGroup">
+ <child>
+ <object class="AdwActionRow">
+ <property name="icon-name">row-preferences-symbolic</property>
+ <property name="subtitle" translatable="yes">They also have a subtitle and an
icon</property>
+ <property name="title" translatable="yes">Rows have a title</property>
+ </object>
+ </child>
+ <child>
+ <object class="AdwActionRow">
+ <property name="title" translatable="yes">Rows can have suffix widgets</property>
+ <child>
+ <object class="GtkButton">
+ <property name="label" translatable="yes">Frobnicate</property>
+ <property name="valign">center</property>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="AdwPreferencesGroup">
+ <child>
+ <object class="AdwActionRow">
+ <property name="activatable_widget">radio_button_1</property>
+ <property name="title" translatable="yes">Rows can have prefix widgets</property>
+ <child type="prefix">
+ <object class="GtkCheckButton" id="radio_button_1">
+ <property name="valign">center</property>
+ <property name="active">True</property>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="AdwActionRow">
+ <property name="activatable_widget">radio_button_2</property>
+ <property name="title" translatable="yes">Rows can have prefix widgets</property>
+ <child type="prefix">
+ <object class="GtkCheckButton" id="radio_button_2">
+ <property name="group">radio_button_1</property>
+ <property name="valign">center</property>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="AdwPreferencesGroup">
+ <property name="title" translatable="yes">Combo Rows</property>
+ <child>
+ <object class="AdwComboRow" id="combo_row">
+ <property name="title" translatable="yes">Combo Row</property>
+ <property name="model">
+ <object class="GtkStringList">
+ <items>
+ <item>Foo</item>
+ <item>Bar</item>
+ <item>Baz</item>
+ </items>
+ </object>
+ </property>
+ </object>
+ </child>
+ <child>
+ <object class="AdwComboRow" id="enum_combo_row">
+ <property name="subtitle" translatable="yes">This combo row was created from an
enumeration</property>
+ <property name="title" translatable="yes">Enumeration Combo Row</property>
+ <property name="model">
+ <object class="AdwEnumListModel">
+ <property name="enum-type">GtkLicense</property>
+ </object>
+ </property>
+ <property name="expression">
+ <lookup type="AdwEnumListItem" name="nick"/>
+ </property>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="AdwPreferencesGroup">
+ <property name="title" translatable="yes">Expander Rows</property>
+ <child>
+ <object class="AdwExpanderRow" id="expander_row">
+ <property name="title" translatable="yes">Expander Row</property>
+ <child>
+ <object class="AdwActionRow">
+ <property name="title" translatable="yes">A Nested Row</property>
+ </object>
+ </child>
+ <child>
+ <object class="AdwActionRow">
+ <property name="title" translatable="yes">Another Nested Row</property>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="AdwExpanderRow" id="action_expander_row">
+ <property name="title" translatable="yes">Expander Row With an Action</property>
+ <child type="action">
+ <object class="GtkButton">
+ <property name="valign">center</property>
+ <property name="icon-name">row-copy-symbolic</property>
+ <style>
+ <class name="flat"/>
+ </style>
+ </object>
+ </child>
+ <child>
+ <object class="AdwActionRow">
+ <property name="title" translatable="yes">A Nested Row</property>
+ </object>
+ </child>
+ <child>
+ <object class="AdwActionRow">
+ <property name="title" translatable="yes">Another Nested Row</property>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="AdwExpanderRow" id="enable_expander_row">
+ <property name="show_enable_switch">True</property>
+ <property name="title" translatable="yes">Toggleable Expander Row</property>
+ <child>
+ <object class="AdwActionRow">
+ <property name="title" translatable="yes">A Nested Row</property>
+ </object>
+ </child>
+ <child>
+ <object class="AdwActionRow">
+ <property name="title" translatable="yes">Another Nested Row</property>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ </property>
+ </object>
+ </property>
+ </object>
+ </property>
+ </template>
+</interface>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]