diff options
author | Danielle Madeley <danielle.madeley@collabora.co.uk> | 2009-09-10 12:47:00 +1000 |
---|---|---|
committer | Danielle Madeley <danielle.madeley@collabora.co.uk> | 2009-11-18 12:18:30 +1100 |
commit | eb7bc8690776a326a1e4a7ff0f4d1d81b13f94f1 (patch) | |
tree | 325bf876161a4c7c888a257f9b048ff97037b78c /examples | |
parent | e4057baa0c7c71f0c55fcbe5433aa3d4fdd00c68 (diff) | |
download | clutter-gtk-eb7bc8690776a326a1e4a7ff0f4d1d81b13f94f1.tar.gz |
stacked-standins demo, which has embedded stacks of GtkClutterStandins
This demo currently highlights some bugs in GtkClutterStandin
Diffstat (limited to 'examples')
-rw-r--r-- | examples/Makefile.am | 7 | ||||
-rw-r--r-- | examples/stacked-standins.c | 77 |
2 files changed, 83 insertions, 1 deletions
diff --git a/examples/Makefile.am b/examples/Makefile.am index 5302066..881d791 100644 --- a/examples/Makefile.am +++ b/examples/Makefile.am @@ -14,7 +14,8 @@ noinst_PROGRAMS = \ gtk-clutter-window-test \ gtk-clutter-window-test2 \ refcounting-test \ - reparenting-test + reparenting-test \ + stacked-standins INCLUDES = -I$(srcdir) -I$(top_srcdir) @@ -76,6 +77,10 @@ reparenting_test_SOURCES = reparenting-test.c reparenting_test_DEPENDENCIES = $(common_deps) reparenting_test_LDADD = $(common_ldadd) +stacked_standins_SOURCES = stacked-standins.c +stacked_standins_DEPENDENCIES = $(common_deps) +stacked_standins_LDADD = $(common_ldadd) + EXTRA_DIST = \ animated-notebook.ui \ redhand.png diff --git a/examples/stacked-standins.c b/examples/stacked-standins.c new file mode 100644 index 0000000..9733cff --- /dev/null +++ b/examples/stacked-standins.c @@ -0,0 +1,77 @@ +/* Clutter-Gtk Test + * + * (c) 2009, Collabora Ltd. + * + * Written by Danielle Madeley <danielle.madeley@collabora.co.uk> + */ + +#include <gtk/gtk.h> +#include <clutter/clutter.h> +#include <clutter-gtk/clutter-gtk.h> + +#include <math.h> + +int +main (int argc, char **argv) +{ + ClutterActor *actor; + GtkWidget *standin; + + gtk_clutter_init (&argc, &argv); + + GtkWidget *window = gtk_clutter_window_new (); + g_signal_connect_swapped (window, "show", + G_CALLBACK (g_print), "show window (%p)\n"); + g_signal_connect_swapped (window, "destroy", + G_CALLBACK (gtk_main_quit), NULL); + + /* notebook */ + GtkWidget *nb = gtk_notebook_new (); + g_signal_connect_swapped (nb, "show", + G_CALLBACK (g_print), "show notebook (%p)\n"); + actor = gtk_clutter_actor_new_with_contents (nb); + g_signal_connect_swapped (actor, "show", + G_CALLBACK (g_print), "show notebook actor (%p)\n"); + standin = gtk_clutter_standin_new (actor); + g_signal_connect_swapped (standin, "show", + G_CALLBACK (g_print), "show notebook standin (%p)\n"); + + gtk_container_add (GTK_CONTAINER (window), standin); + gtk_container_set_border_width (GTK_CONTAINER (window), 6); + + /* button */ + GtkWidget *button = gtk_button_new (); + g_signal_connect_swapped (button, "show", + G_CALLBACK (g_print), "show button (%p)\n"); + g_signal_connect_swapped (button, "clicked", + G_CALLBACK (g_print), "clicked\n"); + + actor = gtk_clutter_actor_new_with_contents (button); + g_signal_connect_swapped (actor, "show", + G_CALLBACK (g_print), "show button actor (%p\n"); + standin = gtk_clutter_standin_new (actor); + g_signal_connect_swapped (standin, "show", + G_CALLBACK (g_print), "show button standin (%p)\n"); + + gtk_notebook_append_page (GTK_NOTEBOOK (nb), + standin, gtk_label_new ("Page 1")); + + /* image */ + GtkWidget *image = gtk_image_new_from_file ("redhand.png"); + g_signal_connect_swapped (actor, "show", + G_CALLBACK (g_print), "show image (%p\n"); + + actor = gtk_clutter_actor_new_with_contents (image); + g_signal_connect_swapped (actor, "show", + G_CALLBACK (g_print), "show image actor (%p\n"); + standin = gtk_clutter_standin_new (actor); + g_signal_connect_swapped (actor, "show", + G_CALLBACK (g_print), "show image standin (%p\n"); + + gtk_container_add (GTK_CONTAINER (button), standin); + + g_print (" --- show all ---\n"); + gtk_widget_show_all (window); + g_print (" --- main ---\n"); + gtk_main (); +} |