diff options
author | Ramiro Estrugo <ramiro@src.gnome.org> | 2001-02-12 06:16:48 +0000 |
---|---|---|
committer | Ramiro Estrugo <ramiro@src.gnome.org> | 2001-02-12 06:16:48 +0000 |
commit | f34f72958180b0d20b0ff6edc5099b5488931bfd (patch) | |
tree | 67a74d9f1ea1eea8b36407b5a326b31ba6189a47 /test/test-nautilus-wrap-table.c | |
parent | 24fe2c9cd9455f95697896840a193b200a5ede10 (diff) | |
download | nautilus-f34f72958180b0d20b0ff6edc5099b5488931bfd.tar.gz |
New NautilusWrapTable test.
* test/.cvsignore:
* test/Makefile.am:
* test/test-nautilus-wrap-table.c: (main):
New NautilusWrapTable test.
Diffstat (limited to 'test/test-nautilus-wrap-table.c')
-rw-r--r-- | test/test-nautilus-wrap-table.c | 97 |
1 files changed, 97 insertions, 0 deletions
diff --git a/test/test-nautilus-wrap-table.c b/test/test-nautilus-wrap-table.c new file mode 100644 index 000000000..e55c36598 --- /dev/null +++ b/test/test-nautilus-wrap-table.c @@ -0,0 +1,97 @@ +#include "test.h" + +#include <libnautilus-extensions/nautilus-wrap-table.h> +#include <libnautilus-extensions/nautilus-viewport.h> +#include <libnautilus-extensions/nautilus-labeled-image.h> +#include <libnautilus-extensions/nautilus-customization-data.h> +#include <libnautilus-extensions/nautilus-icon-factory.h> + +int +main (int argc, char* argv[]) +{ + NautilusCustomizationData *customization_data; + GtkWidget *window; + GtkWidget *emblems_table, *button, *scroller; + char *emblem_name, *dot_pos; + GdkPixbuf *pixbuf; + char *label; + + test_init (&argc, &argv); + + window = test_window_new ("Wrap Table Test", 10); + + gtk_window_set_default_size (GTK_WINDOW (window), 400, 300); + + /* The emblems wrapped table */ + emblems_table = nautilus_wrap_table_new (TRUE); + + gtk_widget_show (emblems_table); + gtk_container_set_border_width (GTK_CONTAINER (emblems_table), GNOME_PAD); + + scroller = gtk_scrolled_window_new (NULL, NULL); + gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scroller), + GTK_POLICY_NEVER, + GTK_POLICY_AUTOMATIC); + + /* Viewport */ + gtk_scrolled_window_add_with_viewport (GTK_SCROLLED_WINDOW (scroller), + emblems_table); + + gtk_container_add (GTK_CONTAINER (window), scroller); + + gtk_widget_show (scroller); + + /* Get rid of default lowered shadow appearance. + * This must be done after the widget is realized, due to + * an apparent bug in gtk_viewport_set_shadow_type. + */ +// gtk_signal_connect (GTK_OBJECT (GTK_BIN (scroller)->child), +// "realize", +// remove_default_viewport_shadow, +// NULL); + + + /* Use nautilus_customization to make the emblem widgets */ + customization_data = nautilus_customization_data_new ("emblems", TRUE, TRUE, + NAUTILUS_ICON_SIZE_SMALL, + NAUTILUS_ICON_SIZE_SMALL); + + while (nautilus_customization_data_get_next_element_for_display (customization_data, + &emblem_name, + &pixbuf, + &label) == GNOME_VFS_OK) { + + /* strip the suffix, if any */ + dot_pos = strrchr(emblem_name, '.'); + if (dot_pos) { + *dot_pos = '\0'; + } + + if (strcmp (emblem_name, "erase") == 0) { + gdk_pixbuf_unref (pixbuf); + g_free (label); + g_free (emblem_name); + continue; + } + + button = nautilus_labeled_image_check_button_new (label, pixbuf); + g_free (label); + gdk_pixbuf_unref (pixbuf); + + /* Attach parameters and signal handler. */ + gtk_object_set_data_full (GTK_OBJECT (button), + "nautilus_property_name", + emblem_name, + g_free); + + gtk_container_add (GTK_CONTAINER (emblems_table), button); + } + + gtk_widget_show_all (emblems_table); + + gtk_widget_show (window); + + gtk_main (); + + return 0; +} |