[gtk/matthiasc/for-master] Add a testcase for controls in headerbars



commit b5f3ac9718fd07165a6298672e5e71be53af3605
Author: Matthias Clasen <mclasen redhat com>
Date:   Sat Sep 12 10:58:07 2020 -0400

    Add a testcase for controls in headerbars
    
    This is meant to help with figuring out entry
    selection drag issues.

 tests/testheaderbar.c       | 23 ++++++++++++++++++++
 tests/testheadercontrols.ui | 52 +++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 75 insertions(+)
---
diff --git a/tests/testheaderbar.c b/tests/testheaderbar.c
index b2a63c459b..16d16629bc 100644
--- a/tests/testheaderbar.c
+++ b/tests/testheaderbar.c
@@ -357,6 +357,28 @@ create_stacked_headerbar (GtkApplication *app)
   gtk_window_present (GTK_WINDOW (win));
 }
 
+/* controls */
+static void
+create_controls (GtkApplication *app)
+{
+  GtkBuilder *builder;
+  GtkWidget *win;
+  const char *ui = "tests/testheadercontrols.ui";
+
+  if (!g_file_test (ui, G_FILE_TEST_EXISTS))
+    {
+      g_warning ("Can't find %s", ui);
+      return;
+    }
+
+  builder = gtk_builder_new_from_file (ui);
+
+  win = (GtkWidget *)gtk_builder_get_object (builder, "window");
+  gtk_window_set_application (GTK_WINDOW (win), app);
+
+  gtk_window_present (GTK_WINDOW (win));
+}
+
 /* technorama */
 
 static const char css[] =
@@ -517,6 +539,7 @@ struct {
     { "Fake headerbar", create_fake_headerbar },
     { "Split headerbar", create_split_headerbar },
     { "Stacked headerbar", create_stacked_headerbar },
+    { "Headerbar with controls", create_controls },
     { "Technorama", create_technorama },
 };
 int n_buttons = sizeof (buttons) / sizeof (buttons[0]);
diff --git a/tests/testheadercontrols.ui b/tests/testheadercontrols.ui
new file mode 100644
index 0000000000..4870f8e35c
--- /dev/null
+++ b/tests/testheadercontrols.ui
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+  <object class="GtkWindow" id="window">
+    <property name="default-width">600</property>
+    <property name="default-height">400</property>
+    <property name="icon-name">preferences-desktop-font</property>
+    <child type="titlebar">
+      <object class="GtkHeaderBar" id="main-header">
+        <property name="hexpand">1</property>
+        <child type="start">
+          <object class="GtkBox">
+            <child>
+              <object class="GtkButton">
+                <property name="label">Yes!</property>
+                <property name="valign">center</property>
+              </object>
+            </child>
+            <child>
+              <object class="GtkCheckButton">
+                <property name="label">Check</property>
+                <property name="valign">center</property>
+              </object>
+            </child>
+          </object>
+        </child>
+        <child type="title">
+          <object class="GtkEntry">
+            <property name="valign">center</property>
+            <property name="text">abcdef</property>
+          </object>
+        </child>
+        <child type="end">
+          <object class="GtkBox">
+            <child>
+              <object class="GtkScale">
+                <property name="draw-value">0</property>
+                <property name="width-request">100</property>
+                <property name="adjustment">
+                  <object class="GtkAdjustment">
+                    <property name="lower">0</property>
+                    <property name="upper">100</property>
+                    <property name="value">33</property>
+                  </object>
+                </property>
+              </object>
+            </child>
+          </object>
+        </child>
+      </object>
+    </child>
+  </object>
+</interface>


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