summaryrefslogtreecommitdiff
path: root/test/test-nautilus-wrap-table.c
diff options
context:
space:
mode:
authorRamiro Estrugo <ramiro@src.gnome.org>2001-02-12 06:16:48 +0000
committerRamiro Estrugo <ramiro@src.gnome.org>2001-02-12 06:16:48 +0000
commitf34f72958180b0d20b0ff6edc5099b5488931bfd (patch)
tree67a74d9f1ea1eea8b36407b5a326b31ba6189a47 /test/test-nautilus-wrap-table.c
parent24fe2c9cd9455f95697896840a193b200a5ede10 (diff)
downloadnautilus-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.c97
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;
+}