From 7226878916d30f12c25ca4dcd65bff007ba7b219 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 12 Aug 2020 20:04:35 -0400 Subject: [PATCH] gtk-demo: Group small images Instead of showing 30 tabs, put all the cursor images into one page. Do the same for the small images in the css animated background demo. --- demos/gtk-demo/cursors.ui | 216 +++++++++++++++--------------- demos/gtk-demo/demo.gresource.xml | 4 + demos/gtk-demo/main.c | 84 ++++++++++-- 3 files changed, 183 insertions(+), 121 deletions(-) diff --git a/demos/gtk-demo/cursors.ui b/demos/gtk-demo/cursors.ui index 20c868623e..dc8dda98f6 100644 --- a/demos/gtk-demo/cursors.ui +++ b/demos/gtk-demo/cursors.ui @@ -4,7 +4,7 @@ default - resource:///cursors/default_cursor.png + resource:///cursors/images/default_cursor.png 5 5 @@ -13,7 +13,7 @@ default_cursor_image - resource:///cursors/default_cursor.png + resource:///cursors/images/default_cursor.png 5 5 default_cursor @@ -22,21 +22,21 @@ none - resource:///cursors/none_cursor.png + resource:///cursors/images/none_cursor.png none none_cursor_image - resource:///cursors/none_cursor.png + resource:///cursors/images/none_cursor.png none_cursor gtk-logo - resource:///cursors/gtk_logo_cursor.png + resource:///cursors/images/gtk_logo_cursor.png 18 2 @@ -45,7 +45,7 @@ gtk-logo_cursor_image - resource:///cursors/gtk_logo_cursor.png + resource:///cursors/images/gtk_logo_cursor.png 18 2 gtk-logo_cursor @@ -54,7 +54,7 @@ context-menu - resource:///cursors/context_menu_cursor.png + resource:///cursors/images/context_menu_cursor.png 5 5 @@ -63,7 +63,7 @@ context-menu_cursor_image - resource:///cursors/context_menu_cursor.png + resource:///cursors/images/context_menu_cursor.png 5 5 context-menu_cursor @@ -72,7 +72,7 @@ help - resource:///cursors/help_cursor.png + resource:///cursors/images/help_cursor.png 16 27 @@ -81,7 +81,7 @@ help_cursor_image - resource:///cursors/help_cursor.png + resource:///cursors/images/help_cursor.png 16 27 help_cursor @@ -90,7 +90,7 @@ pointer - resource:///cursors/pointer_cursor.png + resource:///cursors/images/pointer_cursor.png 14 9 @@ -99,7 +99,7 @@ pointer_cursor_image - resource:///cursors/pointer_cursor.png + resource:///cursors/images/pointer_cursor.png 14 9 pointer_cursor @@ -108,7 +108,7 @@ progress - resource:///cursors/progress_cursor.png + resource:///cursors/images/progress_cursor.png 5 4 @@ -117,7 +117,7 @@ progress_cursor_image - resource:///cursors/progress_cursor.png + resource:///cursors/images/progress_cursor.png 5 4 progress_cursor @@ -126,7 +126,7 @@ wait - resource:///cursors/wait_cursor.png + resource:///cursors/images/wait_cursor.png 11 11 @@ -135,7 +135,7 @@ wait_cursor_image - resource:///cursors/wait_cursor.png + resource:///cursors/images/wait_cursor.png 11 11 wait_cursor @@ -144,7 +144,7 @@ cell - resource:///cursors/cell_cursor.png + resource:///cursors/images/cell_cursor.png 15 15 @@ -153,7 +153,7 @@ cell_cursor_image - resource:///cursors/cell_cursor.png + resource:///cursors/images/cell_cursor.png 15 15 cell_cursor @@ -162,7 +162,7 @@ crosshair - resource:///cursors/crosshair_cursor.png + resource:///cursors/images/crosshair_cursor.png 15 15 @@ -171,7 +171,7 @@ crosshair_cursor_image - resource:///cursors/crosshair_cursor.png + resource:///cursors/images/crosshair_cursor.png 15 15 crosshair_cursor @@ -180,7 +180,7 @@ text - resource:///cursors/text_cursor.png + resource:///cursors/images/text_cursor.png 14 15 @@ -189,7 +189,7 @@ text_cursor_image - resource:///cursors/text_cursor.png + resource:///cursors/images/text_cursor.png 14 15 text_cursor @@ -198,7 +198,7 @@ vertical-text - resource:///cursors/vertical_text_cursor.png + resource:///cursors/images/vertical_text_cursor.png 16 15 @@ -207,7 +207,7 @@ vertical-text_cursor_image - resource:///cursors/vertical_text_cursor.png + resource:///cursors/images/vertical_text_cursor.png 16 15 vertical-text_cursor @@ -216,7 +216,7 @@ alias - resource:///cursors/alias_cursor.png + resource:///cursors/images/alias_cursor.png 12 11 @@ -225,7 +225,7 @@ alias_cursor_image - resource:///cursors/alias_cursor.png + resource:///cursors/images/alias_cursor.png 12 11 alias_cursor @@ -234,7 +234,7 @@ copy - resource:///cursors/copy_cursor.png + resource:///cursors/images/copy_cursor.png 12 11 @@ -243,7 +243,7 @@ copy_cursor_image - resource:///cursors/copy_cursor.png + resource:///cursors/images/copy_cursor.png 12 11 copy_cursor @@ -252,7 +252,7 @@ move - resource:///cursors/move_cursor.png + resource:///cursors/images/move_cursor.png 12 11 @@ -261,7 +261,7 @@ move_cursor_image - resource:///cursors/move_cursor.png + resource:///cursors/images/move_cursor.png 12 11 move_cursor @@ -270,7 +270,7 @@ no-drop - resource:///cursors/no_drop_cursor.png + resource:///cursors/images/no_drop_cursor.png 12 11 @@ -279,7 +279,7 @@ no-drop_cursor_image - resource:///cursors/no_drop_cursor.png + resource:///cursors/images/no_drop_cursor.png 12 11 no-drop_cursor @@ -288,7 +288,7 @@ not-allowed - resource:///cursors/not_allowed_cursor.png + resource:///cursors/images/not_allowed_cursor.png 12 11 @@ -297,7 +297,7 @@ not-allowed_cursor_image - resource:///cursors/not_allowed_cursor.png + resource:///cursors/images/not_allowed_cursor.png 12 11 not-allowed_cursor @@ -306,7 +306,7 @@ grab - resource:///cursors/grab_cursor.png + resource:///cursors/images/grab_cursor.png 10 6 @@ -315,7 +315,7 @@ grab_cursor_image - resource:///cursors/grab_cursor.png + resource:///cursors/images/grab_cursor.png 10 6 grab_cursor @@ -324,7 +324,7 @@ grabbing - resource:///cursors/grabbing_cursor.png + resource:///cursors/images/grabbing_cursor.png 15 14 @@ -333,7 +333,7 @@ grabbing_cursor_image - resource:///cursors/grabbing_cursor.png + resource:///cursors/images/grabbing_cursor.png 15 14 grabbing_cursor @@ -342,7 +342,7 @@ all-scroll - resource:///cursors/all_scroll_cursor.png + resource:///cursors/images/all_scroll_cursor.png 15 15 @@ -351,7 +351,7 @@ all-scroll_cursor_image - resource:///cursors/all_scroll_cursor.png + resource:///cursors/images/all_scroll_cursor.png 15 15 all-scroll_cursor @@ -360,7 +360,7 @@ col-resize - resource:///cursors/col_resize_cursor.png + resource:///cursors/images/col_resize_cursor.png 16 15 @@ -369,7 +369,7 @@ col-resize_cursor_image - resource:///cursors/col_resize_cursor.png + resource:///cursors/images/col_resize_cursor.png 16 15 col-resize_cursor @@ -378,7 +378,7 @@ row-resize - resource:///cursors/row_resize_cursor.png + resource:///cursors/images/row_resize_cursor.png 15 17 @@ -387,7 +387,7 @@ row-resize_cursor_image - resource:///cursors/row_resize_cursor.png + resource:///cursors/images/row_resize_cursor.png 15 17 row-resize_cursor @@ -396,7 +396,7 @@ n-resize - resource:///cursors/n_resize_cursor.png + resource:///cursors/images/n_resize_cursor.png 17 7 @@ -405,7 +405,7 @@ n-resize_cursor_image - resource:///cursors/n_resize_cursor.png + resource:///cursors/images/n_resize_cursor.png 17 7 n-resize_cursor @@ -414,7 +414,7 @@ e-resize - resource:///cursors/e_resize_cursor.png + resource:///cursors/images/e_resize_cursor.png 25 17 @@ -423,7 +423,7 @@ e-resize_cursor_image - resource:///cursors/e_resize_cursor.png + resource:///cursors/images/e_resize_cursor.png 25 17 e-resize_cursor @@ -432,7 +432,7 @@ s-resize - resource:///cursors/s_resize_cursor.png + resource:///cursors/images/s_resize_cursor.png 17 23 @@ -441,7 +441,7 @@ s-resize_cursor_image - resource:///cursors/s_resize_cursor.png + resource:///cursors/images/s_resize_cursor.png 17 23 s-resize_cursor @@ -450,7 +450,7 @@ w-resize - resource:///cursors/w_resize_cursor.png + resource:///cursors/images/w_resize_cursor.png 8 17 @@ -459,7 +459,7 @@ w-resize_cursor_image - resource:///cursors/w_resize_cursor.png + resource:///cursors/images/w_resize_cursor.png 8 17 w-resize_cursor @@ -468,7 +468,7 @@ ne-resize - resource:///cursors/ne_resize_cursor.png + resource:///cursors/images/ne_resize_cursor.png 20 13 @@ -477,7 +477,7 @@ ne-resize_cursor_image - resource:///cursors/ne_resize_cursor.png + resource:///cursors/images/ne_resize_cursor.png 20 13 ne-resize_cursor @@ -486,7 +486,7 @@ nw-resize - resource:///cursors/nw_resize_cursor.png + resource:///cursors/images/nw_resize_cursor.png 13 13 @@ -495,7 +495,7 @@ nw-resize_cursor_image - resource:///cursors/nw_resize_cursor.png + resource:///cursors/images/nw_resize_cursor.png 13 13 nw-resize_cursor @@ -504,7 +504,7 @@ se-resize - resource:///cursors/se_resize_cursor.png + resource:///cursors/images/se_resize_cursor.png 19 19 @@ -513,7 +513,7 @@ se-resize_cursor_image - resource:///cursors/se_resize_cursor.png + resource:///cursors/images/se_resize_cursor.png 19 19 se-resize_cursor @@ -522,7 +522,7 @@ sw-resize - resource:///cursors/sw_resize_cursor.png + resource:///cursors/images/sw_resize_cursor.png 13 19 @@ -531,7 +531,7 @@ sw-resize_cursor_image - resource:///cursors/sw_resize_cursor.png + resource:///cursors/images/sw_resize_cursor.png 13 19 sw-resize_cursor @@ -540,7 +540,7 @@ ew-resize - resource:///cursors/ew_resize_cursor.png + resource:///cursors/images/ew_resize_cursor.png 16 15 @@ -549,7 +549,7 @@ ew-resize_cursor_image - resource:///cursors/ew_resize_cursor.png + resource:///cursors/images/ew_resize_cursor.png 16 15 ew-resize_cursor @@ -558,7 +558,7 @@ ns-resize - resource:///cursors/ns_resize_cursor.png + resource:///cursors/images/ns_resize_cursor.png 15 17 @@ -567,7 +567,7 @@ ns-resize_cursor_image - resource:///cursors/ns_resize_cursor.png + resource:///cursors/images/ns_resize_cursor.png 15 17 ns-resize_cursor @@ -576,7 +576,7 @@ nesw-resize - resource:///cursors/nesw_resize_cursor.png + resource:///cursors/images/nesw_resize_cursor.png 14 14 @@ -585,7 +585,7 @@ nesw-resize_cursor_image - resource:///cursors/nesw_resize_cursor.png + resource:///cursors/images/nesw_resize_cursor.png 14 14 nesw-resize_cursor @@ -594,7 +594,7 @@ nwse-resize - resource:///cursors/nwse_resize_cursor.png + resource:///cursors/images/nwse_resize_cursor.png 14 14 @@ -603,7 +603,7 @@ nwse-resize_cursor_image - resource:///cursors/nwse_resize_cursor.png + resource:///cursors/images/nwse_resize_cursor.png 14 14 nwse-resize_cursor @@ -612,7 +612,7 @@ zoom-in - resource:///cursors/zoom_in_cursor.png + resource:///cursors/images/zoom_in_cursor.png 14 13 @@ -621,7 +621,7 @@ zoom-in_cursor_image - resource:///cursors/zoom_in_cursor.png + resource:///cursors/images/zoom_in_cursor.png 14 13 zoom-in_cursor @@ -630,7 +630,7 @@ zoom-out - resource:///cursors/zoom_out_cursor.png + resource:///cursors/images/zoom_out_cursor.png 14 13 @@ -639,7 +639,7 @@ zoom-out_cursor_image - resource:///cursors/zoom_out_cursor.png + resource:///cursors/images/zoom_out_cursor.png 14 13 zoom-out_cursor @@ -682,7 +682,7 @@ 10 - resource:///cursors/default_cursor.png + resource:///cursors/images/default_cursor.png @@ -742,7 +742,7 @@ 10 - resource:///cursors/none_cursor.png + resource:///cursors/images/none_cursor.png @@ -802,7 +802,7 @@ 10 - resource:///cursors/gtk_logo_cursor.png + resource:///cursors/images/gtk_logo_cursor.png @@ -875,7 +875,7 @@ 10 - resource:///cursors/context_menu_cursor.png + resource:///cursors/images/context_menu_cursor.png @@ -935,7 +935,7 @@ 10 - resource:///cursors/help_cursor.png + resource:///cursors/images/help_cursor.png @@ -995,7 +995,7 @@ 10 - resource:///cursors/pointer_cursor.png + resource:///cursors/images/pointer_cursor.png @@ -1055,7 +1055,7 @@ 10 - resource:///cursors/progress_cursor.png + resource:///cursors/images/progress_cursor.png @@ -1115,7 +1115,7 @@ 10 - resource:///cursors/wait_cursor.png + resource:///cursors/images/wait_cursor.png @@ -1188,7 +1188,7 @@ 10 - resource:///cursors/cell_cursor.png + resource:///cursors/images/cell_cursor.png @@ -1248,7 +1248,7 @@ 10 - resource:///cursors/crosshair_cursor.png + resource:///cursors/images/crosshair_cursor.png @@ -1308,7 +1308,7 @@ 10 - resource:///cursors/text_cursor.png + resource:///cursors/images/text_cursor.png @@ -1368,7 +1368,7 @@ 10 - resource:///cursors/vertical_text_cursor.png + resource:///cursors/images/vertical_text_cursor.png @@ -1441,7 +1441,7 @@ 10 - resource:///cursors/alias_cursor.png + resource:///cursors/images/alias_cursor.png @@ -1501,7 +1501,7 @@ 10 - resource:///cursors/copy_cursor.png + resource:///cursors/images/copy_cursor.png @@ -1561,7 +1561,7 @@ 10 - resource:///cursors/move_cursor.png + resource:///cursors/images/move_cursor.png @@ -1621,7 +1621,7 @@ 10 - resource:///cursors/no_drop_cursor.png + resource:///cursors/images/no_drop_cursor.png @@ -1681,7 +1681,7 @@ 10 - resource:///cursors/not_allowed_cursor.png + resource:///cursors/images/not_allowed_cursor.png @@ -1741,7 +1741,7 @@ 10 - resource:///cursors/grab_cursor.png + resource:///cursors/images/grab_cursor.png @@ -1801,7 +1801,7 @@ 10 - resource:///cursors/grabbing_cursor.png + resource:///cursors/images/grabbing_cursor.png @@ -1874,7 +1874,7 @@ 10 - resource:///cursors/all_scroll_cursor.png + resource:///cursors/images/all_scroll_cursor.png @@ -1934,7 +1934,7 @@ 10 - resource:///cursors/col_resize_cursor.png + resource:///cursors/images/col_resize_cursor.png @@ -1994,7 +1994,7 @@ 10 - resource:///cursors/row_resize_cursor.png + resource:///cursors/images/row_resize_cursor.png @@ -2054,7 +2054,7 @@ 10 - resource:///cursors/n_resize_cursor.png + resource:///cursors/images/n_resize_cursor.png @@ -2114,7 +2114,7 @@ 10 - resource:///cursors/e_resize_cursor.png + resource:///cursors/images/e_resize_cursor.png @@ -2174,7 +2174,7 @@ 10 - resource:///cursors/s_resize_cursor.png + resource:///cursors/images/s_resize_cursor.png @@ -2234,7 +2234,7 @@ 10 - resource:///cursors/w_resize_cursor.png + resource:///cursors/images/w_resize_cursor.png @@ -2294,7 +2294,7 @@ 10 - resource:///cursors/ne_resize_cursor.png + resource:///cursors/images/ne_resize_cursor.png @@ -2354,7 +2354,7 @@ 10 - resource:///cursors/nw_resize_cursor.png + resource:///cursors/images/nw_resize_cursor.png @@ -2414,7 +2414,7 @@ 10 - resource:///cursors/sw_resize_cursor.png + resource:///cursors/images/sw_resize_cursor.png @@ -2474,7 +2474,7 @@ 10 - resource:///cursors/se_resize_cursor.png + resource:///cursors/images/se_resize_cursor.png @@ -2534,7 +2534,7 @@ 10 - resource:///cursors/ew_resize_cursor.png + resource:///cursors/images/ew_resize_cursor.png @@ -2594,7 +2594,7 @@ 10 - resource:///cursors/ns_resize_cursor.png + resource:///cursors/images/ns_resize_cursor.png @@ -2654,7 +2654,7 @@ 10 - resource:///cursors/nesw_resize_cursor.png + resource:///cursors/images/nesw_resize_cursor.png @@ -2714,7 +2714,7 @@ 10 - resource:///cursors/nwse_resize_cursor.png + resource:///cursors/images/nwse_resize_cursor.png @@ -2787,7 +2787,7 @@ 10 - resource:///cursors/zoom_in_cursor.png + resource:///cursors/images/zoom_in_cursor.png @@ -2847,7 +2847,7 @@ 10 - resource:///cursors/zoom_out_cursor.png + resource:///cursors/images/zoom_out_cursor.png diff --git a/demos/gtk-demo/demo.gresource.xml b/demos/gtk-demo/demo.gresource.xml index 9f02e51b16..d9084a96ae 100644 --- a/demos/gtk-demo/demo.gresource.xml +++ b/demos/gtk-demo/demo.gresource.xml @@ -51,6 +51,8 @@ cssview.css reset.css background.jpg + + apple-red.png gnome-applets.png gnome-calendar.png @@ -67,6 +69,8 @@ cursors.ui + + alias_cursor.png all_scroll_cursor.png cell_cursor.png diff --git a/demos/gtk-demo/main.c b/demos/gtk-demo/main.c index ad6043571f..551fb034ab 100644 --- a/demos/gtk-demo/main.c +++ b/demos/gtk-demo/main.c @@ -362,8 +362,9 @@ fontify (const char *format, } static GtkWidget * -display_image (const char *format, - const char *resource) +display_image (const char *format, + const char *resource, + char **label) { GtkWidget *sw, *image; @@ -377,8 +378,56 @@ display_image (const char *format, } static GtkWidget * -display_text (const char *format, - const char *resource) +display_images (const char *format, + const char *resource_dir, + char **label) +{ + char **resources; + GtkWidget *grid; + GtkWidget *sw; + GtkWidget *widget; + guint i; + + resources = g_resources_enumerate_children (resource_dir, 0, NULL); + if (resources == NULL) + return NULL; + + sw = gtk_scrolled_window_new (); + gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw), + GTK_POLICY_NEVER, + GTK_POLICY_AUTOMATIC); + grid = gtk_flow_box_new (); + gtk_flow_box_set_selection_mode (GTK_FLOW_BOX (grid), GTK_SELECTION_NONE); + gtk_widget_set_valign (grid, GTK_ALIGN_START); + gtk_scrolled_window_set_child (GTK_SCROLLED_WINDOW (sw), grid); + + for (i = 0; resources[i]; i++) + { + char *resource_name; + GtkWidget *box; + + resource_name = g_strconcat (resource_dir, "/", resources[i], NULL); + + widget = display_image (NULL, resource_name, NULL); + box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); + gtk_box_append (GTK_BOX (box), widget); + gtk_box_append (GTK_BOX (box), gtk_label_new (resources[i])); + gtk_flow_box_insert (GTK_FLOW_BOX (grid), box, -1); + + g_free (resource_name); + } + + g_strfreev (resources); + + *label = g_strdup ("Images"); + + return sw; +} + +static GtkWidget * +display_text (const char *format, + const char *resource, + char **label) { GtkTextBuffer *buffer; GtkWidget *textview, *sw; @@ -424,8 +473,9 @@ display_text (const char *format, } static GtkWidget * -display_video (const char *format, - const char *resource) +display_video (const char *format, + const char *resource, + char **label) { GtkWidget *video; @@ -453,8 +503,9 @@ display_nothing (const char *resource) static struct { const char *extension; const char *format; - GtkWidget * (* display_func) (const char *format, - const char *resource); + GtkWidget * (* display_func) (const char *format, + const char *resource, + char **label); } display_funcs[] = { { ".gif", NULL, display_image }, { ".jpg", NULL, display_image }, @@ -465,7 +516,8 @@ static struct { { ".h", "c", display_text }, { ".txt", NULL, display_text }, { ".ui", "xml", display_text }, - { ".webm", NULL, display_video } + { ".webm", NULL, display_video }, + { "images/", NULL, display_images } }; static void @@ -475,6 +527,7 @@ add_data_tab (const char *demoname) char **resources; GtkWidget *widget, *label; guint i, j; + char *label_string; resource_dir = g_strconcat ("/", demoname, NULL); resources = g_resources_enumerate_children (resource_dir, 0, NULL); @@ -488,18 +541,22 @@ add_data_tab (const char *demoname) { resource_name = g_strconcat (resource_dir, "/", resources[i], NULL); - for (j = 0; j < G_N_ELEMENTS(display_funcs); j++) + for (j = 0; j < G_N_ELEMENTS (display_funcs); j++) { if (g_str_has_suffix (resource_name, display_funcs[j].extension)) break; } - if (j < G_N_ELEMENTS(display_funcs)) - widget = display_funcs[j].display_func (display_funcs[j].format, resource_name); + label_string = NULL; + + if (j < G_N_ELEMENTS (display_funcs)) + widget = display_funcs[j].display_func (display_funcs[j].format, + resource_name, + &label_string); else widget = display_nothing (resource_name); - label = gtk_label_new (resources[i]); + label = gtk_label_new (label_string ? label_string : resources[i]); gtk_widget_show (label); gtk_notebook_append_page (GTK_NOTEBOOK (notebook), widget, label); g_object_set (gtk_notebook_get_page (GTK_NOTEBOOK (notebook), widget), @@ -507,6 +564,7 @@ add_data_tab (const char *demoname) NULL); g_free (resource_name); + g_free (label_string); } g_strfreev (resources);