summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2020-09-12 10:58:07 -0400
committerMatthias Clasen <mclasen@redhat.com>2020-09-12 10:58:07 -0400
commitb5f3ac9718fd07165a6298672e5e71be53af3605 (patch)
tree70f255c2cf71a90663c2ff4e7afb19be6bb2df73 /tests
parent756c52ef08a3c4cc680f44caf93a6b3c2a44bb56 (diff)
downloadgtk+-b5f3ac9718fd07165a6298672e5e71be53af3605.tar.gz
Add a testcase for controls in headerbars
This is meant to help with figuring out entry selection drag issues.
Diffstat (limited to 'tests')
-rw-r--r--tests/testheaderbar.c23
-rw-r--r--tests/testheadercontrols.ui52
2 files changed, 75 insertions, 0 deletions
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>