[gtk/columnview-menu: 4/5] Add a header menu to settings demo
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk/columnview-menu: 4/5] Add a header menu to settings demo
- Date: Mon, 1 Jun 2020 19:25:44 +0000 (UTC)
commit 0fe878223c59e5fb649dfd968e7b31ec45b8bca2
Author: Matthias Clasen <mclasen redhat com>
Date: Sun May 31 14:44:42 2020 -0400
Add a header menu to settings demo
Allow toggling column visibility from here.
demos/gtk-demo/listview_settings.c | 20 ++++++++++++++++++++
demos/gtk-demo/listview_settings.ui | 20 ++++++++++++++++++--
2 files changed, 38 insertions(+), 2 deletions(-)
---
diff --git a/demos/gtk-demo/listview_settings.c b/demos/gtk-demo/listview_settings.c
index c00024a68e..24c42ea232 100644
--- a/demos/gtk-demo/listview_settings.c
+++ b/demos/gtk-demo/listview_settings.c
@@ -300,7 +300,11 @@ do_listview_settings (GtkWidget *do_widget)
GtkBuilderScope *scope;
GtkBuilder *builder;
GtkColumnViewColumn *name_column;
+ GtkColumnViewColumn *type_column;
+ GtkColumnViewColumn *default_column;
GtkSorter *sorter;
+ GActionGroup *actions;
+ GAction *action;
g_type_ensure (SETTINGS_TYPE_KEY);
@@ -320,6 +324,22 @@ do_listview_settings (GtkWidget *do_widget)
listview = GTK_WIDGET (gtk_builder_get_object (builder, "listview"));
columnview = GTK_WIDGET (gtk_builder_get_object (builder, "columnview"));
+ type_column = GTK_COLUMN_VIEW_COLUMN (gtk_builder_get_object (builder, "type_column"));
+ default_column = GTK_COLUMN_VIEW_COLUMN (gtk_builder_get_object (builder, "default_column"));
+
+ actions = G_ACTION_GROUP (g_simple_action_group_new ());
+
+ action = G_ACTION (g_property_action_new ("show-type", type_column, "visible"));
+ g_action_map_add_action (G_ACTION_MAP (actions), action);
+ g_object_unref (action);
+
+ action = G_ACTION (g_property_action_new ("show-default", default_column, "visible"));
+ g_action_map_add_action (G_ACTION_MAP (actions), action);
+ g_object_unref (action);
+
+ gtk_widget_insert_action_group (columnview, "columnview", actions);
+ g_object_unref (actions);
+
model = create_settings_model (NULL, NULL);
treemodel = gtk_tree_list_model_new (FALSE,
model,
diff --git a/demos/gtk-demo/listview_settings.ui b/demos/gtk-demo/listview_settings.ui
index cc9f7f8a9c..96d2a22cfe 100644
--- a/demos/gtk-demo/listview_settings.ui
+++ b/demos/gtk-demo/listview_settings.ui
@@ -77,6 +77,7 @@
<child>
<object class="GtkColumnViewColumn" id="name_column">
<property name="title">Name</property>
+ <property name="header-menu">header_menu</property>
<property name="factory">
<object class="GtkBuilderListItemFactory">
<property name="bytes"><![CDATA[
@@ -103,6 +104,7 @@
<child>
<object class="GtkColumnViewColumn">
<property name="title">Value</property>
+ <property name="header-menu">header_menu</property>
<property name="factory">
<object class="GtkBuilderListItemFactory">
<property name="bytes"><![CDATA[
@@ -127,8 +129,9 @@
</object>
</child>
<child>
- <object class="GtkColumnViewColumn">
+ <object class="GtkColumnViewColumn" id="type_column">
<property name="title">Type</property>
+ <property name="header-menu">header_menu</property>
<property name="factory">
<object class="GtkBuilderListItemFactory">
<property name="bytes"><![CDATA[
@@ -153,8 +156,9 @@
</object>
</child>
<child>
- <object class="GtkColumnViewColumn">
+ <object class="GtkColumnViewColumn" id="default_column">
<property name="title">Default</property>
+ <property name="header-menu">header_menu</property>
<property name="factory">
<object class="GtkBuilderListItemFactory">
<property name="bytes"><![CDATA[
@@ -187,4 +191,16 @@
</object>
</child>
</object>
+ <menu id="header_menu">
+ <section>
+ <item>
+ <attribute name="label" translatable="yes">Type</attribute>
+ <attribute name="action">columnview.show-type</attribute>
+ </item>
+ <item>
+ <attribute name="label" translatable="yes">Default value</attribute>
+ <attribute name="action">columnview.show-default</attribute>
+ </item>
+ </section>
+ </menu>
</interface>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]