[gtk+] widget-factory: Add some row activation to the listbox example
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] widget-factory: Add some row activation to the listbox example
- Date: Sat, 12 Jul 2014 18:48:05 +0000 (UTC)
commit 9b6563dcdccf0aa561f1e490365fcf06c5123bca
Author: Matthias Clasen <mclasen redhat com>
Date: Sat Jul 12 12:54:21 2014 -0400
widget-factory: Add some row activation to the listbox example
This shows some fallout from the gesture conversion.
demos/widget-factory/widget-factory.c | 24 +++++
demos/widget-factory/widget-factory.ui | 169 ++++++++++++++++++++------------
2 files changed, 130 insertions(+), 63 deletions(-)
---
diff --git a/demos/widget-factory/widget-factory.c b/demos/widget-factory/widget-factory.c
index 698acfb..53ce767 100644
--- a/demos/widget-factory/widget-factory.c
+++ b/demos/widget-factory/widget-factory.c
@@ -488,11 +488,27 @@ populate_colors (GtkWidget *widget)
}
static void
+activate_row3 (GtkListBoxRow *row, GtkWidget *image)
+{
+ if (gtk_widget_get_opacity (image) > 0)
+ gtk_widget_set_opacity (image, 0);
+ else
+ gtk_widget_set_opacity (image, 1);
+}
+
+static void
+activate_row4 (GtkListBoxRow *row, GtkWidget *dialog)
+{
+ gtk_window_present (GTK_WINDOW (dialog));
+}
+
+static void
activate (GApplication *app)
{
GtkBuilder *builder;
GtkWindow *window;
GtkWidget *widget;
+ GtkWidget *widget2;
GtkWidget *stack;
GtkWidget *dialog;
GtkAdjustment *adj;
@@ -540,6 +556,14 @@ activate (GApplication *app)
widget = (GtkWidget *)gtk_builder_get_object (builder, "listbox");
gtk_list_box_set_header_func (GTK_LIST_BOX (widget), update_header, NULL, NULL);
+ widget = gtk_widget_get_parent ((GtkWidget *)gtk_builder_get_object (builder, "listboxrow3"));
+ widget2 = (GtkWidget *)gtk_builder_get_object (builder, "listboxrow3image");
+ g_signal_connect (widget, "activate",
+ G_CALLBACK (activate_row3), widget2);
+ widget = gtk_widget_get_parent ((GtkWidget *)gtk_builder_get_object (builder, "listboxrow4"));
+ widget2 = (GtkWidget *)gtk_builder_get_object (builder, "info_dialog");
+ g_signal_connect (widget, "activate",
+ G_CALLBACK (activate_row4), widget2);
widget = (GtkWidget *)gtk_builder_get_object (builder, "toolbar");
g_object_set_data (G_OBJECT (window), "toolbar", widget);
diff --git a/demos/widget-factory/widget-factory.ui b/demos/widget-factory/widget-factory.ui
index e5bbf4d..a411cf2 100644
--- a/demos/widget-factory/widget-factory.ui
+++ b/demos/widget-factory/widget-factory.ui
@@ -2100,6 +2100,7 @@ Suspendisse feugiat quam quis dolor accumsan cursus. </property>
<object class="GtkListBox" id="listbox">
<property name="visible">True</property>
<property name="selection-mode">none</property>
+ <property name="activate-on-single-click">True</property>
<child>
<object class="GtkBox" id="listboxrow1">
<property name="visible">True</property>
@@ -2107,7 +2108,7 @@ Suspendisse feugiat quam quis dolor accumsan cursus. </property>
<child>
<object class="GtkLabel">
<property name="visible">True</property>
- <property name="label">Row 1</property>
+ <property name="label" translatable="yes">Row 1</property>
<property name="halign">start</property>
<property name="margin">6</property>
</object>
@@ -2130,7 +2131,7 @@ Suspendisse feugiat quam quis dolor accumsan cursus. </property>
<child>
<object class="GtkLabel">
<property name="visible">True</property>
- <property name="label">Row 2</property>
+ <property name="label" translatable="yes">Row 2</property>
<property name="halign">start</property>
<property name="margin">6</property>
</object>
@@ -2157,14 +2158,55 @@ Suspendisse feugiat quam quis dolor accumsan cursus. </property>
<child>
<object class="GtkLabel">
<property name="visible">True</property>
- <property name="label">Row 3</property>
+ <property name="label" translatable="yes">Row 3</property>
<property name="halign">start</property>
+ <property name="valign">center</property>
<property name="margin">6</property>
</object>
<packing>
<property name="expand">True</property>
</packing>
</child>
+ <child>
+ <object class="GtkImage" id="listboxrow3image">
+ <property name="visible">True</property>
+ <property name="icon-name">object-select-symbolic</property>
+ <property name="icon-size">1</property>
+ <property name="margin">6</property>
+ <property name="halign">end</property>
+ <property name="valign">center</property>
+ <property name="opacity">0</property>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkBox" id="listboxrow4">
+ <property name="visible">True</property>
+ <property name="orientation">horizontal</property>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Row 4</property>
+ <property name="halign">start</property>
+ <property name="valign">center</property>
+ <property name="margin">6</property>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkImage">
+ <property name="visible">True</property>
+ <property name="icon-name">object-select-symbolic</property>
+ <property name="icon-size">1</property>
+ <property name="margin">6</property>
+ <property name="halign">end</property>
+ <property name="valign">center</property>
+ <property name="opacity">0</property>
+ </object>
+ </child>
</object>
</child>
</object>
@@ -2816,81 +2858,81 @@ Suspendisse feugiat quam quis dolor accumsan cursus. </property>
<property name="visible">True</property>
<property name="orientation">vertical</property>
<property name="spacing">10</property>
- <child>
- <object class="GtkBox">
- <property name="visible">True</property>
- <property name="orientation">vertical</property>
- <property name="spacing">4</property>
<child>
- <object class="GtkScrolledWindow">
+ <object class="GtkBox">
<property name="visible">True</property>
- <property name="hscrollbar-policy">never</property>
- <property name="vscrollbar-policy">always</property>
- <property name="height-request">300</property>
- <property name="halign">start</property>
- <property name="shadow-type">in</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">4</property>
<child>
- <object class="GtkTreeView" id="charletree">
- <property name="visible">True</property>
- <property name="enable-grid-lines">vertical</property>
- <property name="enable-tree-lines">True</property>
- <property name="rules-hint">True</property>
- <property name="rubber-banding">True</property>
- <property name="model">charlemodel</property>
- <child internal-child="selection">
- <object class="GtkTreeSelection">
- <property name="mode">multiple</property>
- </object>
- </child>
+ <object class="GtkScrolledWindow">
+ <property name="visible">True</property>
+ <property name="hscrollbar-policy">never</property>
+ <property name="vscrollbar-policy">always</property>
+ <property name="height-request">300</property>
+ <property name="halign">start</property>
+ <property name="shadow-type">in</property>
<child>
- <object class="GtkTreeViewColumn">
+ <object class="GtkTreeView" id="charletree">
<property name="visible">True</property>
- <property name="title" translatable="yes">Name</property>
+ <property name="enable-grid-lines">vertical</property>
+ <property name="enable-tree-lines">True</property>
+ <property name="rules-hint">True</property>
+ <property name="rubber-banding">True</property>
+ <property name="model">charlemodel</property>
+ <child internal-child="selection">
+ <object class="GtkTreeSelection">
+ <property name="mode">multiple</property>
+ </object>
+ </child>
<child>
- <object class="GtkCellRendererText"/>
- <attributes>
- <attribute name="text">0</attribute>
- </attributes>
+ <object class="GtkTreeViewColumn">
+ <property name="visible">True</property>
+ <property name="title" translatable="yes">Name</property>
+ <child>
+ <object class="GtkCellRendererText"/>
+ <attributes>
+ <attribute name="text">0</attribute>
+ </attributes>
+ </child>
+ </object>
</child>
- </object>
- </child>
- <child>
- <object class="GtkTreeViewColumn">
- <property name="visible">True</property>
- <property name="title" translatable="yes">Birth</property>
<child>
- <object class="GtkCellRendererText"/>
- <attributes>
- <attribute name="text">1</attribute>
- </attributes>
+ <object class="GtkTreeViewColumn">
+ <property name="visible">True</property>
+ <property name="title" translatable="yes">Birth</property>
+ <child>
+ <object class="GtkCellRendererText"/>
+ <attributes>
+ <attribute name="text">1</attribute>
+ </attributes>
+ </child>
+ </object>
</child>
- </object>
- </child>
- <child>
- <object class="GtkTreeViewColumn">
- <property name="visible">True</property>
- <property name="title" translatable="yes">Death</property>
<child>
- <object class="GtkCellRendererText"/>
- <attributes>
- <attribute name="text">2</attribute>
- </attributes>
+ <object class="GtkTreeViewColumn">
+ <property name="visible">True</property>
+ <property name="title" translatable="yes">Death</property>
+ <child>
+ <object class="GtkCellRendererText"/>
+ <attributes>
+ <attribute name="text">2</attribute>
+ </attributes>
+ </child>
+ </object>
</child>
</object>
</child>
</object>
</child>
- </object>
- </child>
- <child>
- <object class="GtkLabel">
- <property name="visible">True</property>
- <property name="selectable">True</property>
- <property name="halign">start</property>
- <property name="use-markup">True</property>
- <property name="label" translatable="True"><![CDATA[<small>Data source: <a
href="http://en.wikipedia.org/wiki/Charlemagne#Ancestry">Wikipedia</a></small>]]></property>
- </object>
- </child>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="selectable">True</property>
+ <property name="halign">start</property>
+ <property name="use-markup">True</property>
+ <property name="label" translatable="True"><![CDATA[<small>Data source: <a
href="http://en.wikipedia.org/wiki/Charlemagne#Ancestry">Wikipedia</a></small>]]></property>
+ </object>
+ </child>
</object>
</child>
<child>
@@ -3153,6 +3195,7 @@ bad things might happen.</property>
<widget name="listboxrow1"/>
<widget name="listboxrow2"/>
<widget name="listboxrow3"/>
+ <widget name="listboxrow4"/>
</widgets>
</object>
<object class="GtkSizeGroup">
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]