diff options
author | Javier Jardón <jjardon@gnome.org> | 2010-04-24 05:43:09 +0200 |
---|---|---|
committer | Javier Jardón <jjardon@gnome.org> | 2010-05-03 01:51:23 +0200 |
commit | d7786d4a9ec23922c139c9e70ca603f836e456d2 (patch) | |
tree | 3920cd21c375a2d626c860710196166635cf30ea /examples | |
parent | 0669d8d6e955141e6d9801a5dce10cce061ce844 (diff) | |
download | gtk+-d7786d4a9ec23922c139c9e70ca603f836e456d2.tar.gz |
Remove GtkTree completely
Diffstat (limited to 'examples')
-rw-r--r-- | examples/tree/Makefile | 16 | ||||
-rw-r--r-- | examples/tree/tree.c | 184 |
2 files changed, 0 insertions, 200 deletions
diff --git a/examples/tree/Makefile b/examples/tree/Makefile deleted file mode 100644 index bbeea5992b..0000000000 --- a/examples/tree/Makefile +++ /dev/null @@ -1,16 +0,0 @@ - -CC = gcc - -#CFLAGS = -Wall \ -# -DG_DISABLE_DEPRECATED \ -# -DGDK_DISABLE_DEPRECATED \ -# -DGDK_PIXBUF_DISABLE_DEPRECATED \ -# -DGTK_DISABLE_DEPRECATED - -CFLAGS = - -tree: tree.c - $(CC) tree.c -o tree $(CFLAGS) `pkg-config gtk+-2.0 --cflags --libs` - -clean: - rm -f *.o tree diff --git a/examples/tree/tree.c b/examples/tree/tree.c deleted file mode 100644 index 01064f46af..0000000000 --- a/examples/tree/tree.c +++ /dev/null @@ -1,184 +0,0 @@ - -#define GTK_ENABLE_BROKEN -#include "config.h" -#include <gtk/gtk.h> - -/* for all the GtkItem:: and GtkTreeItem:: signals */ -static void cb_itemsignal( GtkWidget *item, - gchar *signame ) -{ - const gchar *name; - GtkLabel *label; - - /* It's a Bin, so it has one child, which we know to be a - label, so get that */ - label = GTK_LABEL (gtk_bin_get_child (GTK_BIN (item))); - /* Get the text of the label */ - name = gtk_label_get_text (label); - /* Get the level of the tree which the item is in */ - g_print ("%s called for item %s->%p, level %d\n", signame, name, - item, GTK_TREE (item->parent)->level); -} - -/* Note that this is never called */ -static void cb_unselect_child( GtkWidget *root_tree, - GtkWidget *child, - GtkWidget *subtree ) -{ - g_print ("unselect_child called for root tree %p, subtree %p, child %p\n", - root_tree, subtree, child); -} - -/* Note that this is called every time the user clicks on an item, - whether it is already selected or not. */ -static void cb_select_child (GtkWidget *root_tree, GtkWidget *child, - GtkWidget *subtree) -{ - g_print ("select_child called for root tree %p, subtree %p, child %p\n", - root_tree, subtree, child); -} - -static void cb_selection_changed( GtkWidget *tree ) -{ - GList *i; - - g_print ("selection_change called for tree %p\n", tree); - g_print ("selected objects are:\n"); - - i = GTK_TREE_SELECTION_OLD (tree); - while (i) { - const gchar *name; - GtkLabel *label; - GtkWidget *item; - - /* Get a GtkWidget pointer from the list node */ - item = GTK_WIDGET (i->data); - label = GTK_LABEL (gtk_bin_get_child (GTK_BIN (item))); - name = gtk_label_get_text (label); - g_print ("\t%s on level %d\n", name, GTK_TREE - (item->parent)->level); - i = i->next; - } -} - -int main( int argc, - char *argv[] ) -{ - GtkWidget *window, *scrolled_win, *tree; - static gchar *itemnames[] = {"Foo", "Bar", "Baz", "Quux", - "Maurice"}; - gint i; - - gtk_init (&argc, &argv); - - /* a generic toplevel window */ - window = gtk_window_new (GTK_WINDOW_TOPLEVEL); - g_signal_connect (G_OBJECT (window), "delete_event", - G_CALLBACK (gtk_main_quit), NULL); - gtk_container_set_border_width (GTK_CONTAINER (window), 5); - - /* A generic scrolled window */ - scrolled_win = gtk_scrolled_window_new (NULL, NULL); - gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_win), - GTK_POLICY_AUTOMATIC, - GTK_POLICY_AUTOMATIC); - gtk_widget_set_size_request (scrolled_win, 150, 200); - gtk_container_add (GTK_CONTAINER (window), scrolled_win); - gtk_widget_show (scrolled_win); - - /* Create the root tree */ - tree = gtk_tree_new (); - g_print ("root tree is %p\n", tree); - /* connect all GtkTree:: signals */ - g_signal_connect (G_OBJECT (tree), "select_child", - G_CALLBACK (cb_select_child), tree); - g_signal_connect (G_OBJECT (tree), "unselect_child", - G_CALLBACK (cb_unselect_child), tree); - g_signal_connect (G_OBJECT(tree), "selection_changed", - G_CALLBACK(cb_selection_changed), tree); - /* Add it to the scrolled window */ - gtk_scrolled_window_add_with_viewport (GTK_SCROLLED_WINDOW (scrolled_win), - tree); - /* Set the selection mode */ - gtk_tree_set_selection_mode (GTK_TREE (tree), - GTK_SELECTION_MULTIPLE); - /* Show it */ - gtk_widget_show (tree); - - for (i = 0; i < 5; i++){ - GtkWidget *subtree, *item; - gint j; - - /* Create a tree item */ - item = gtk_tree_item_new_with_label (itemnames[i]); - /* Connect all GtkItem:: and GtkTreeItem:: signals */ - g_signal_connect (G_OBJECT (item), "select", - G_CALLBACK (cb_itemsignal), "select"); - g_signal_connect (G_OBJECT (item), "deselect", - G_CALLBACK (cb_itemsignal), "deselect"); - g_signal_connect (G_OBJECT (item), "toggle", - G_CALLBACK (cb_itemsignal), "toggle"); - g_signal_connect (G_OBJECT (item), "expand", - G_CALLBACK (cb_itemsignal), "expand"); - g_signal_connect (G_OBJECT (item), "collapse", - G_CALLBACK (cb_itemsignal), "collapse"); - /* Add it to the parent tree */ - gtk_tree_append (GTK_TREE (tree), item); - /* Show it - this can be done at any time */ - gtk_widget_show (item); - /* Create this item's subtree */ - subtree = gtk_tree_new (); - g_print ("-> item %s->%p, subtree %p\n", itemnames[i], item, - subtree); - - /* This is still necessary if you want these signals to be called - for the subtree's children. Note that selection_change will be - signalled for the root tree regardless. */ - g_signal_connect (G_OBJECT (subtree), "select_child", - G_CALLBACK (cb_select_child), subtree); - g_signal_connect (G_OBJECT (subtree), "unselect_child", - G_CALLBACK (cb_unselect_child), subtree); - /* This has absolutely no effect, because it is completely ignored - in subtrees */ - gtk_tree_set_selection_mode (GTK_TREE (subtree), - GTK_SELECTION_SINGLE); - /* Neither does this, but for a rather different reason - the - view_mode and view_line values of a tree are propagated to - subtrees when they are mapped. So, setting it later on would - actually have a (somewhat unpredictable) effect */ - gtk_tree_set_view_mode (GTK_TREE (subtree), GTK_TREE_VIEW_ITEM); - /* Set this item's subtree - note that you cannot do this until - AFTER the item has been added to its parent tree! */ - gtk_tree_item_set_subtree (GTK_TREE_ITEM (item), subtree); - - for (j = 0; j < 5; j++){ - GtkWidget *subitem; - - /* Create a subtree item, in much the same way */ - subitem = gtk_tree_item_new_with_label (itemnames[j]); - /* Connect all GtkItem:: and GtkTreeItem:: signals */ - g_signal_connect (G_OBJECT (subitem), "select", - G_CALLBACK (cb_itemsignal), "select"); - g_signal_connect (G_OBJECT (subitem), "deselect", - G_CALLBACK (cb_itemsignal), "deselect"); - g_signal_connect (G_OBJECT (subitem), "toggle", - G_CALLBACK (cb_itemsignal), "toggle"); - g_signal_connect (G_OBJECT (subitem), "expand", - G_CALLBACK (cb_itemsignal), "expand"); - g_signal_connect (G_OBJECT (subitem), "collapse", - G_CALLBACK (cb_itemsignal), "collapse"); - g_print ("-> -> item %s->%p\n", itemnames[j], subitem); - /* Add it to its parent tree */ - gtk_tree_append (GTK_TREE (subtree), subitem); - /* Show it */ - gtk_widget_show (subitem); - } - } - - /* Show the window and loop endlessly */ - gtk_widget_show (window); - - gtk_main(); - - return 0; -} |