Add a testcase for controls in headerbars

This is meant to help with figuring out entry
selection drag issues.
This commit is contained in:
Matthias Clasen 2020-09-12 10:58:07 -04:00
parent 756c52ef08
commit b5f3ac9718
2 changed files with 75 additions and 0 deletions

View File

@ -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]);

View File

@ -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>