[gtk+] inspector: Add a switch for simulating touch
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] inspector: Add a switch for simulating touch
- Date: Thu, 10 Jul 2014 14:12:15 +0000 (UTC)
commit 7fa4d60bf3408d7c773fe8e84f6e610324e15bf9
Author: Matthias Clasen <mclasen redhat com>
Date: Thu Jul 10 10:11:10 2014 -0400
inspector: Add a switch for simulating touch
This makes it easy to test test touchscreen features with a
plain old mouse.
gtk/inspector/general.c | 26 ++++++++++++++++++++++++++
gtk/inspector/general.ui | 41 +++++++++++++++++++++++++++++++++++++++++
2 files changed, 67 insertions(+), 0 deletions(-)
---
diff --git a/gtk/inspector/general.c b/gtk/inspector/general.c
index 29fcf97..ae8b2d7 100644
--- a/gtk/inspector/general.c
+++ b/gtk/inspector/general.c
@@ -51,6 +51,7 @@ struct _GtkInspectorGeneralPrivate
GtkWidget *gtk_path;
GtkWidget *gtk_exe_prefix;
GtkWidget *gtk_data_prefix;
+ GtkWidget *touchscreen_switch;
};
G_DEFINE_TYPE_WITH_PRIVATE (GtkInspectorGeneral, gtk_inspector_general, GTK_TYPE_BOX)
@@ -136,12 +137,36 @@ init_env (GtkInspectorGeneral *gen)
}
static void
+update_touchscreen (GtkSwitch *sw, GParamSpec *pspec, GtkInspectorGeneral *gen)
+{
+ GtkDebugFlag flags;
+
+ flags = gtk_get_debug_flags ();
+
+ if (gtk_switch_get_active (sw))
+ flags |= GTK_DEBUG_TOUCHSCREEN;
+ else
+ flags &= ~GTK_DEBUG_TOUCHSCREEN;
+
+ gtk_set_debug_flags (flags);
+}
+
+static void
+init_touch (GtkInspectorGeneral *gen)
+{
+ gtk_switch_set_active (GTK_SWITCH (gen->priv->touchscreen_switch), (gtk_get_debug_flags () &
GTK_DEBUG_TOUCHSCREEN) != 0);
+ g_signal_connect (gen->priv->touchscreen_switch, "notify::active",
+ G_CALLBACK (update_touchscreen), gen);
+}
+
+static void
gtk_inspector_general_init (GtkInspectorGeneral *gen)
{
gen->priv = gtk_inspector_general_get_instance_private (gen);
gtk_widget_init_template (GTK_WIDGET (gen));
init_version (gen);
init_env (gen);
+ init_touch (gen);
}
static void
@@ -158,6 +183,7 @@ gtk_inspector_general_class_init (GtkInspectorGeneralClass *klass)
gtk_widget_class_bind_template_child_private (widget_class, GtkInspectorGeneral, gtk_path);
gtk_widget_class_bind_template_child_private (widget_class, GtkInspectorGeneral, gtk_exe_prefix);
gtk_widget_class_bind_template_child_private (widget_class, GtkInspectorGeneral, gtk_data_prefix);
+ gtk_widget_class_bind_template_child_private (widget_class, GtkInspectorGeneral, touchscreen_switch);
}
// vim: set et sw=2 ts=2:
diff --git a/gtk/inspector/general.ui b/gtk/inspector/general.ui
index 44ee02f..1f7ef9d 100644
--- a/gtk/inspector/general.ui
+++ b/gtk/inspector/general.ui
@@ -250,6 +250,45 @@
</child>
</object>
</child>
+ <child>
+ <object class="GtkFrame" id="touch_frame">
+ <property name="visible">True</property>
+ <property name="halign">center</property>
+ <child>
+ <object class="GtkListBox">
+ <property name="visible">True</property>
+ <property name="selection-mode">none</property>
+ <child>
+ <object class="GtkBox">
+ <property name="visible">True</property>
+ <property name="orientation">horizontal</property>
+ <property name="margin">10</property>
+ <property name="spacing">40</property>
+ <child>
+ <object class="GtkLabel" id="touchscreen_label">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Simulate touchscreen</property>
+ <property name="halign">start</property>
+ <property name="valign">baseline</property>
+ <property name="xalign">0.0</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkSwitch" id="touchscreen_switch">
+ <property name="visible">True</property>
+ <property name="halign">end</property>
+ <property name="valign">baseline</property>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
</template>
<object class="GtkSizeGroup">
<property name="mode">horizontal</property>
@@ -262,6 +301,7 @@
<widget name="gtk_path_label"/>
<widget name="gtk_exe_prefix_label"/>
<widget name="gtk_data_prefix_label"/>
+ <widget name="touchscreen_label"/>
</widgets>
</object>
<object class="GtkSizeGroup">
@@ -269,6 +309,7 @@
<widgets>
<widget name="version_frame"/>
<widget name="env_frame"/>
+ <widget name="touch_frame"/>
</widgets>
</object>
</interface>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]