From a2ff6af4b32b9fb2e90c50c94cdea5ef1ae921c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20=C3=85dahl?= Date: Tue, 25 Jun 2019 14:14:31 +0200 Subject: [PATCH] tests: Add back testpopupat It's still useful for testing menus. Fixed the .ui file by removing a property that no longer exists. This effectively reverts commit 84d2150077bbab60529ef8345f58247fee527364. --- tests/meson.build | 1 + tests/popupat.ui | 2174 +++++++++++++++++++++++++++++++++++++++++++ tests/testpopupat.c | 64 ++ 3 files changed, 2239 insertions(+) create mode 100644 tests/popupat.ui create mode 100644 tests/testpopupat.c diff --git a/tests/meson.build b/tests/meson.build index 677fbb74e6..176685fe50 100644 --- a/tests/meson.build +++ b/tests/meson.build @@ -114,6 +114,7 @@ gtk_tests = [ ['testpopover'], ['gdkgears', ['gtkgears.c']], ['listmodel'], + ['testpopupat'], ['testgaction'], ['testwidgetfocus'], ['testwidgettransforms'], diff --git a/tests/popupat.ui b/tests/popupat.ui new file mode 100644 index 0000000000..d40b38ba0f --- /dev/null +++ b/tests/popupat.ui @@ -0,0 +1,2174 @@ + + + + + start + start + + + Start-Aligned Item A + 1 + + + + + Start-Aligned Item B + 1 + + + + + Start-Aligned Item C + 1 + + + + + center + center + + + Center-Aligned Item D + 1 + + + + + Center-Aligned Item E + 1 + + + + + Center-Aligned Item F + 1 + + + + + end + end + + + End-Aligned Item G + 1 + + + + + End-Aligned Item H + 1 + + + + + End-Aligned Item I + 1 + + + + + start + start + + + Start-Aligned Item A + 1 + + + + + Start-Aligned Item B + 1 + + + + + Start-Aligned Item C + 1 + + + + + center + center + + + Center-Aligned Item D + 1 + + + + + Center-Aligned Item E + 1 + + + + + Center-Aligned Item F + 1 + + + + + end + end + + + End-Aligned Item G + 1 + + + + + End-Aligned Item H + 1 + + + + + End-Aligned Item I + 1 + + + + + start + start + + + Start-Aligned Item A + 1 + + + + + Start-Aligned Item B + 1 + + + + + Start-Aligned Item C + 1 + + + + + center + center + + + Center-Aligned Item D + 1 + + + + + Center-Aligned Item E + 1 + + + + + Center-Aligned Item F + 1 + + + + + end + end + + + End-Aligned Item G + 1 + + + + + End-Aligned Item H + 1 + + + + + End-Aligned Item I + 1 + + + + + start + start + + + Start-Aligned Item A + 1 + + + + + Start-Aligned Item B + 1 + + + + + Start-Aligned Item C + 1 + + + + + center + center + + + Center-Aligned Item D + 1 + + + + + Center-Aligned Item E + 1 + + + + + Center-Aligned Item F + 1 + + + + + end + end + + + End-Aligned Item G + 1 + + + + + End-Aligned Item H + 1 + + + + + End-Aligned Item I + 1 + + + + + start + start + + + Start-Aligned Item A + 1 + + + + + Start-Aligned Item B + 1 + + + + + Start-Aligned Item C + 1 + + + + + Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. + + + + + 1 + 1 + 1 + + + + + + + start + + + _File + 1 + + + + + gtk-new + 1 + + + + + gtk-open + 1 + + + + + gtk-save + 1 + + + + + gtk-save-as + 1 + + + + + + + + gtk-quit + 1 + + + + + + + + + _Edit + 1 + + + + + gtk-cut + 1 + + + + + gtk-copy + 1 + + + + + gtk-paste + 1 + + + + + gtk-delete + 1 + + + + + + + + + _View + 1 + + + + + _Help + 1 + + + + + gtk-about + 1 + + + + + + + + + Really _Tall Menu + 1 + + + + + Item _A + 1 + + + + + Item _B + 1 + + + + + Item _C + 1 + + + + + Item _D + 1 + + + + + Item _E + 1 + + + + + Item _F + 1 + + + + + Item _G + 1 + + + + + Item _H + 1 + + + + + Item _I + 1 + + + + + Item _J + 1 + + + + + Item _K + 1 + + + + + Item _L + 1 + + + + + Item _M + 1 + + + + + Item _N + 1 + + + + + Item _O + 1 + + + + + Item _P + 1 + + + + + Item _Q + 1 + + + + + Item _R + 1 + + + + + Item _S + 1 + + + + + Item _T + 1 + + + + + Item _U + 1 + + + + + Item _V + 1 + + + + + Item _W + 1 + + + + + Item _X + 1 + + + + + Item _Y + 1 + + + + + Item _Z + 1 + + + + + Item a + 1 + + + + + Item b + 1 + + + + + Item c + 1 + + + + + Item d + 1 + + + + + Item e + 1 + + + + + Item f + 1 + + + + + Item g + 1 + + + + + Item h + 1 + + + + + Item i + 1 + + + + + Item j + 1 + + + + + Item k + 1 + + + + + Item l + 1 + + + + + Item m + 1 + + + + + Item n + 1 + + + + + Item o + 1 + + + + + Item p + 1 + + + + + Item q + 1 + + + + + Item r + 1 + + + + + Item s + 1 + + + + + Item t + 1 + + + + + Item u + 1 + + + + + Item v + 1 + + + + + Item w + 1 + + + + + Item x + 1 + + + + + Item y + 1 + + + + + Item z + 1 + + + + + + + + + Really _Deep Menu + 1 + + + + + Item _A + 1 + + + + + Item _B + 1 + + + + + Item _C + 1 + + + + + Item _D + 1 + + + + + Item _E + 1 + + + + + Item _F + 1 + + + + + Item _G + 1 + + + + + Item _H + 1 + + + + + Item _I + 1 + + + + + Item _J + 1 + + + + + Item _K + 1 + + + + + Item _L + 1 + + + + + Item _M + 1 + + + + + Item _N + 1 + + + + + Item _O + 1 + + + + + Item _P + 1 + + + + + Item _Q + 1 + + + + + Item _R + 1 + + + + + Item _S + 1 + + + + + Item _T + 1 + + + + + Item _U + 1 + + + + + Item _V + 1 + + + + + Item _W + 1 + + + + + Item _X + 1 + + + + + Item _Y + 1 + + + + + Item _Z + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + 0 + + + + + + start + + + _File + 1 + + + + + gtk-new + 1 + + + + + gtk-open + 1 + + + + + gtk-save + 1 + + + + + gtk-save-as + 1 + + + + + + + + gtk-quit + 1 + + + + + + + + + _Edit + 1 + + + + + gtk-cut + 1 + + + + + gtk-copy + 1 + + + + + gtk-paste + 1 + + + + + gtk-delete + 1 + + + + + + + + + _View + 1 + + + + + _Help + 1 + + + + + gtk-about + 1 + + + + + + + + + Really _Tall Menu + 1 + + + + + Item _A + 1 + + + + + Item _B + 1 + + + + + Item _C + 1 + + + + + Item _D + 1 + + + + + Item _E + 1 + + + + + Item _F + 1 + + + + + Item _G + 1 + + + + + Item _H + 1 + + + + + Item _I + 1 + + + + + Item _J + 1 + + + + + Item _K + 1 + + + + + Item _L + 1 + + + + + Item _M + 1 + + + + + Item _N + 1 + + + + + Item _O + 1 + + + + + Item _P + 1 + + + + + Item _Q + 1 + + + + + Item _R + 1 + + + + + Item _S + 1 + + + + + Item _T + 1 + + + + + Item _U + 1 + + + + + Item _V + 1 + + + + + Item _W + 1 + + + + + Item _X + 1 + + + + + Item _Y + 1 + + + + + Item _Z + 1 + + + + + Item a + 1 + + + + + Item b + 1 + + + + + Item c + 1 + + + + + Item d + 1 + + + + + Item e + 1 + + + + + Item f + 1 + + + + + Item g + 1 + + + + + Item h + 1 + + + + + Item i + 1 + + + + + Item j + 1 + + + + + Item k + 1 + + + + + Item l + 1 + + + + + Item m + 1 + + + + + Item n + 1 + + + + + Item o + 1 + + + + + Item p + 1 + + + + + Item q + 1 + + + + + Item r + 1 + + + + + Item s + 1 + + + + + Item t + 1 + + + + + Item u + 1 + + + + + Item v + 1 + + + + + Item w + 1 + + + + + Item x + 1 + + + + + Item y + 1 + + + + + Item z + 1 + + + + + + + + + Really _Deep Menu + 1 + + + + + Item _A + 1 + + + + + Item _B + 1 + + + + + Item _C + 1 + + + + + Item _D + 1 + + + + + Item _E + 1 + + + + + Item _F + 1 + + + + + Item _G + 1 + + + + + Item _H + 1 + + + + + Item _I + 1 + + + + + Item _J + 1 + + + + + Item _K + 1 + + + + + Item _L + 1 + + + + + Item _M + 1 + + + + + Item _N + 1 + + + + + Item _O + 1 + + + + + Item _P + 1 + + + + + Item _Q + 1 + + + + + Item _R + 1 + + + + + Item _S + 1 + + + + + Item _T + 1 + + + + + Item _U + 1 + + + + + Item _V + 1 + + + + + Item _W + 1 + + + + + Item _X + 1 + + + + + Item _Y + 1 + + + + + Item _Z + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + 1 + + + + + + + + GtkMenu + + + + + + + 1 + + + + + 1 + 1 + center + center + menu39 + none + + + + + 2 + 2 + + + + + + 1 + 1 + end + end + 1 + menu27 + up + + + + + 1 + 0 + + + + + + 1 + 1 + center + end + 1 + menu26 + up + + + + + 2 + 0 + + + + + + 1 + 1 + start + end + 1 + menu25 + up + + + + + 3 + 0 + + + + + + 1 + 1 + start + end + 1 + menu32 + right + + + + + 4 + 1 + + + + + + 1 + 1 + start + center + 1 + menu31 + right + + + + + 4 + 2 + + + + + + 1 + 1 + start + start + 1 + menu30 + right + + + + + 4 + 3 + + + + + + 1 + 1 + start + start + 1 + menu33 + + + + + 3 + 4 + + + + + + 1 + 1 + center + start + 1 + menu34 + + + + + 2 + 4 + + + + + + 1 + 1 + end + start + 1 + menu35 + + + + + 1 + 4 + + + + + + 1 + 1 + end + start + 1 + menu36 + left + + + + + 0 + 3 + + + + + + 1 + 1 + end + center + 1 + menu37 + left + + + + + 0 + 2 + + + + + + 1 + 1 + end + end + 1 + menu38 + left + + + + + 0 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GtkMenuButton + + + + + + + 2 + + + center + center + This is a label. + 1 + + + + + GtkLabel + + + + + + + 3 + + + https://planet.gnome.org + 1 + 1 + center + center + none + https://planet.gnome.org + + + + + GtkLinkButton + + + + + + + 4 + + + + + start + + + True + Tool Button A + 1 + + + + + True + Tool Button B + 1 + + + + + True + Tool Button C + 1 + + + + + True + Tool Button D + 1 + + + + + True + Tool Button E + 1 + + + + 0 + 0 + + + + + + start + vertical + + + True + Tool Button F + 1 + + + + + True + Tool Button G + 1 + + + + + True + Tool Button H + 1 + + + + + True + Tool Button I + 1 + + + + + True + Tool Button J + 1 + + + + + True + Tool Button K + 1 + + + + + True + Tool Button L + 1 + + + + + True + Tool Button M + 1 + + + + + True + Tool Button N + 1 + + + + + True + Tool Button O + 1 + + + + + True + Tool Button P + 1 + + + + + True + Tool Button Q + 1 + + + + 0 + 1 + + + + + + + + GtkToolbar + + + + + + + 5 + + + 1 + center + center + This is an entry. + + + + + GtkEntry + + + + + + + 6 + + + 1 + word + textbuffer1 + + + + + GtkTextView + + + + + + + 7 + + + + + center + center + 1 + 1 + 1 + + Combo Box Item A + Combo Box Item B + Combo Box Item C + Combo Box Item D + Combo Box Item E + + + + + + 0 + 0 + + + + + + center + center + 1 + 1 + + Combo Box Item F + Combo Box Item G + Combo Box Item H + Combo Box Item I + Combo Box Item J + + + 0 + 1 + + + + + + + + GtkComboBox + + + + + + + 8 + + + text/plain + + + + + GtkAppChooserWidget + + + + + + + 9 + + + + + + GtkMountOperation/GtkPlacesView + + + + + + + 11 + + + + + + GtkColorButton + + + + + + + + diff --git a/tests/testpopupat.c b/tests/testpopupat.c new file mode 100644 index 0000000000..6acddb3152 --- /dev/null +++ b/tests/testpopupat.c @@ -0,0 +1,64 @@ +#include + +static void +destroy_cb (GtkWidget *window, + GtkBuilder *builder) +{ + gtk_main_quit (); +} + +static void +populate_popup_cb (GtkAppChooserWidget *app_chooser_widget, + GtkMenu *menu, + GAppInfo *app_info, + gpointer user_data) +{ + GtkWidget *menu_item; + + menu_item = gtk_menu_item_new_with_label ("Menu Item A"); + gtk_widget_show (menu_item); + gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_item); + + menu_item = gtk_menu_item_new_with_label ("Menu Item B"); + gtk_widget_show (menu_item); + gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_item); + + menu_item = gtk_menu_item_new_with_label ("Menu Item C"); + gtk_widget_show (menu_item); + gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_item); + + menu_item = gtk_menu_item_new_with_label ("Menu Item D"); + gtk_widget_show (menu_item); + gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_item); + + menu_item = gtk_menu_item_new_with_label ("Menu Item E"); + gtk_widget_show (menu_item); + gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_item); +} + +int +main (int argc, + char *argv[]) +{ + GtkBuilder *builder; + GtkWidget *window; + GtkWidget *app_chooser_widget; + + gtk_init (); + + builder = gtk_builder_new_from_file ("popupat.ui"); + + window = GTK_WIDGET (gtk_builder_get_object (builder, "window")); + g_signal_connect (window, "destroy", G_CALLBACK (destroy_cb), builder); + + app_chooser_widget = GTK_WIDGET (gtk_builder_get_object (builder, "appchooserwidget")); + g_signal_connect (app_chooser_widget, "populate-popup", G_CALLBACK (populate_popup_cb), builder); + + gtk_widget_show (window); + + gtk_main (); + + g_object_unref (builder); + + return 0; +}