diff options
author | Georges Basile Stavracas Neto <georges.stavracas@gmail.com> | 2018-08-06 11:51:58 -0300 |
---|---|---|
committer | Georges Basile Stavracas Neto <georges.stavracas@gmail.com> | 2018-08-31 11:44:20 -0300 |
commit | 15212172ec3d451c371a4e430a9fb356259ddfa7 (patch) | |
tree | ae3bec13aafa02ee7006a6e98c2a108a6bf230dc /tests | |
parent | 1463aa9ca03958ce866d11427691db329269c26e (diff) | |
download | gnome-todo-15212172ec3d451c371a4e430a9fb356259ddfa7.tar.gz |
color-button: Introduce new color picker
Diffstat (limited to 'tests')
-rw-r--r-- | tests/interactive/test-colorbutton.c | 89 | ||||
-rw-r--r-- | tests/meson.build | 23 |
2 files changed, 112 insertions, 0 deletions
diff --git a/tests/interactive/test-colorbutton.c b/tests/interactive/test-colorbutton.c new file mode 100644 index 00000000..503d2f52 --- /dev/null +++ b/tests/interactive/test-colorbutton.c @@ -0,0 +1,89 @@ +/* test-colorbutton.c + * + * Copyright 2018 Georges Basile Stavracas Neto <georges.stavracas@gmail.com> + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + * SPDX-License-Identifier: GPL-3.0-or-later + */ + +#include "gtd-color-button.h" + +static const gchar * const colors[] = +{ + "#ffffff", + "#dddddd", + "#ababab", + "#fafa00", + "#888888", + "#333333", + "#000000", + "#96ff11", + "#03fa95", +}; + +gint +main (gint argc, + gchar *argv[]) +{ + GtkWindow *window = NULL; + GtkWidget *group = NULL; + GtkWidget *grid = NULL; + guint columns; + guint i; + + g_set_prgname ("test-colorbutton"); + g_set_application_name ("GNOME To Do | Color Button Test"); + + gtk_init (); + + grid = g_object_new (GTK_TYPE_GRID, + "row-homogeneous", TRUE, + "column-homogeneous", TRUE, + NULL); + + columns = ceil (sqrt (G_N_ELEMENTS (colors))); + + for (i = 0; i < G_N_ELEMENTS (colors); i++) + { + GtkWidget *color_button = NULL; + GdkRGBA color; + + gdk_rgba_parse (&color, colors[i]); + + color_button = g_object_new (GTD_TYPE_COLOR_BUTTON, + "color", &color, + "group", group, + NULL); + + gtk_grid_attach (GTK_GRID (grid), + color_button, + i % columns, + i / columns, + 1, + 1); + + if (!group) + group = color_button; + } + + window = GTK_WINDOW (gtk_window_new (GTK_WINDOW_TOPLEVEL)); + gtk_container_add (GTK_CONTAINER (window), grid); + gtk_window_present (window); + + gtk_main (); + + return 0; +} + diff --git a/tests/meson.build b/tests/meson.build new file mode 100644 index 00000000..e98ddd40 --- /dev/null +++ b/tests/meson.build @@ -0,0 +1,23 @@ +##################### +# Interactive tests # +##################### + +interactive_tests = [ + 'test-colorbutton', +] + +foreach interactive_test : interactive_tests + + interactive_test_name = 'interactive-@0@'.format(interactive_test) + + source = ['interactive/@0@.c'.format(interactive_test)] + + executable( + interactive_test_name, + source, + include_directories: src_inc, + dependencies: gnome_todo_deps, + c_args: cflags, + link_with: [ libgtd ], +) +endforeach |