summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorGeorges Basile Stavracas Neto <georges.stavracas@gmail.com>2018-08-06 11:51:58 -0300
committerGeorges Basile Stavracas Neto <georges.stavracas@gmail.com>2018-08-31 11:44:20 -0300
commit15212172ec3d451c371a4e430a9fb356259ddfa7 (patch)
treeae3bec13aafa02ee7006a6e98c2a108a6bf230dc /tests
parent1463aa9ca03958ce866d11427691db329269c26e (diff)
downloadgnome-todo-15212172ec3d451c371a4e430a9fb356259ddfa7.tar.gz
color-button: Introduce new color picker
Diffstat (limited to 'tests')
-rw-r--r--tests/interactive/test-colorbutton.c89
-rw-r--r--tests/meson.build23
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