[gtksourceview/wip/chergert/hoverers] stub out checkbutton for test-widget



commit 4ad33962c7995d79d40ba260559067e1b89d98d2
Author: Christian Hergert <chergert redhat com>
Date:   Tue Mar 9 14:27:20 2021 -0800

    stub out checkbutton for test-widget

 tests/test-widget.c  | 26 ++++++++++++++++++++++++++
 tests/test-widget.ui | 11 +++++++++++
 2 files changed, 37 insertions(+)
---
diff --git a/tests/test-widget.c b/tests/test-widget.c
index 6824dd3d..4d385dad 100644
--- a/tests/test-widget.c
+++ b/tests/test-widget.c
@@ -965,6 +965,31 @@ enable_snippets_toggled_cb (TestWidget     *self,
        gtk_source_view_set_enable_snippets (self->priv->view, enabled);
 }
 
+static GtkSourceHoverProvider *
+create_hover_provider (void)
+{
+       return NULL;
+}
+
+static void
+enable_hover_toggled_cb (TestWidget     *self,
+                         GtkCheckButton *button)
+{
+       static GtkSourceHoverProvider *test_hover_provider;
+       GtkSourceHover *hover = gtk_source_view_get_hover (self->priv->view);
+       gboolean enabled = gtk_check_button_get_active (button);
+
+       if (test_hover_provider == NULL)
+       {
+               test_hover_provider = create_hover_provider ();
+       }
+
+       if (enabled)
+               gtk_source_hover_add_provider (hover, test_hover_provider);
+       else
+               gtk_source_hover_remove_provider (hover, test_hover_provider);
+}
+
 static void
 test_widget_dispose (GObject *object)
 {
@@ -1004,6 +1029,7 @@ test_widget_class_init (TestWidgetClass *klass)
        gtk_widget_class_bind_template_callback (widget_class, forward_string_clicked_cb);
        gtk_widget_class_bind_template_callback (widget_class, smart_home_end_changed_cb);
        gtk_widget_class_bind_template_callback (widget_class, enable_snippets_toggled_cb);
+       gtk_widget_class_bind_template_callback (widget_class, enable_hover_toggled_cb);
 
        gtk_widget_class_bind_template_child_private (widget_class, TestWidget, view);
        gtk_widget_class_bind_template_child_private (widget_class, TestWidget, map);
diff --git a/tests/test-widget.ui b/tests/test-widget.ui
index 1d5f7460..ca6d7d10 100644
--- a/tests/test-widget.ui
+++ b/tests/test-widget.ui
@@ -228,6 +228,17 @@
                 </layout>
               </object>
             </child>
+            <child>
+              <object class="GtkCheckButton" id="enable_hover">
+                <property name="label">Enable hoverers</property>
+                <property name="can-focus">1</property>
+                <signal name="toggled" handler="enable_hover_toggled_cb" object="TestWidget" swapped="yes"/>
+                <layout>
+                  <property name="row">14</property>
+                  <property name="column">0</property>
+                </layout>
+              </object>
+            </child>
             <child>
               <object class="GtkGrid" id="grid10">
                 <layout>


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]