synopsis#include <gtk/gtk.h> gtktree; #define gtk_is_root_tree (obj) #define gtk_tree_root_tree (obj) #define gtk_tree_selection_old (obj) enum gtktreeviewmode; gtkwidget* gtk_tree_new (void); void gtk_tree_append (gtktree *tree, gtkwidget *tree_item); void gtk_tree_prepend (gtktree *tree, gtkwidget *tree_item); void gtk_tree_insert (gtktree *tree, gtkwidget *tree_item, gint position); void gtk_tree_remove_items (gtktree *tree, glist *items); void gtk_tree_clear_items (gtktree *tree, gint start, gint end); void gtk_tree_select_item (gtktree *tree, gint item); void gtk_tree_unselect_item (gtktree *tree, gint item); void gtk_tree_select_child (gtktree *tree, gtkwidget *tree_item); void gtk_tree_unselect_child (gtktree *tree, gtkwidget *tree_item); gint gtk_tree_child_position (gtktree *tree, gtkwidget *child); void gtk_tree_set_selection_mode (gtktree *tree, gtkselectionmode mode); void gtk_tree_set_view_mode (gtktree *tree, gtktreeviewmode mode); void gtk_tree_set_view_lines (gtktree *tree, gboolean flag); void gtk_tree_remove_item (gtktree *tree, gtkwidget *child); object hierarchygobject +----ginitiallyunowned +----gtkobject +----gtkwidget +----gtkcontainer +----gtktree signals"select-child" void user_function (gtktree *tree, gtkwidget *widget, gpointer user_data) : run first "selection-changed" void user_function (gtktree *tree, gpointer user_data) : run first "unselect-child" void user_function (gtktree *tree, gtkwidget *widget, gpointer user_data) : run first description
warninggtktree is deprecated and unsupported. it is known to be buggy. to use it, you must define the symbol gtk_enable_broken prior to including the gtk+ header files. use gtktreeview instead. the gtktree widget is a container that shows users a list of items, in a tree format complete with branches and leafnodes. branches can be expanded to show their child items, or collapsed to hide them. detailsgtktreetypedef struct _gtktree gtktree; warninggtktree is deprecated and should not be used in newly-written code.
struct _gtktree { gtkcontainer container; glist *children; gtktree* root_tree; /* owner of selection list */ gtkwidget* tree_owner; glist *selection; guint level; guint indent_value; guint current_indent; guint selection_mode : 2; guint view_mode : 1; guint view_line : 1; };
gtk_is_root_tree()#define gtk_is_root_tree(obj) ((gtkobject*) gtk_tree(obj)->root_tree == (gtkobject*)obj) warninggtk_is_root_tree is deprecated and should not be used in newly-written code. a macro that returns a boolean value which indicates if obj is a root tree or not. gtk_tree_root_tree()#define gtk_tree_root_tree(obj) (gtk_tree(obj)->root_tree ? gtk_tree(obj)->root_tree : gtk_tree(obj)) warninggtk_tree_root_tree is deprecated and should not be used in newly-written code. a macro that returns the root tree of obj. if obj is already a root tree, obj is cast to gtktree and returned. gtk_tree_selection_old()#define gtk_tree_selection_old(obj) (gtk_tree_root_tree(obj)->selection) warninggtk_tree_selection_old is deprecated and should not be used in newly-written code.
enum gtktreeviewmodetypedef enum { gtk_tree_view_line, /* default view mode */ gtk_tree_view_item } gtktreeviewmode; warninggtktreeviewmode is deprecated and should not be used in newly-written code.
gtk_tree_new ()gtkwidget* gtk_tree_new (void); warninggtk_tree_new is deprecated and should not be used in newly-written code. creates a new gtktree.
gtk_tree_append ()void gtk_tree_append (gtktree *tree, gtkwidget *tree_item); warninggtk_tree_append is deprecated and should not be used in newly-written code. adds the gtktreeitem in tree_item to the end of the items in tree. gtk_tree_prepend ()void gtk_tree_prepend (gtktree *tree, gtkwidget *tree_item); warninggtk_tree_prepend is deprecated and should not be used in newly-written code. adds the gtktreeitem in tree_item to the start of the items in tree. gtk_tree_insert ()void gtk_tree_insert (gtktree *tree, gtkwidget *tree_item, gint position); warninggtk_tree_insert is deprecated and should not be used in newly-written code. adds the gtktreeitem in tree_item to the list of items in tree at the position indicated by position. gtk_tree_remove_items ()void gtk_tree_remove_items (gtktree *tree, glist *items); warninggtk_tree_remove_items is deprecated and should not be used in newly-written code. removes a list of items from the gtktree in tree. if only one item is to be removed from the gtktree, gtk_container_remove() can be used instead. removing an item from a gtktree dereferences the item, and thus usually destroys the item and any subtrees it may contain. if the item is not to be destroyed, use g_object_ref() before removing it. gtk_tree_clear_items ()void gtk_tree_clear_items (gtktree *tree, gint start, gint end); warninggtk_tree_clear_items is deprecated and should not be used in newly-written code. removes the items at positions between start and end from the gtktree tree. removing an item from a gtktree dereferences the item, and thus usually destroys the item and any subtrees it may contain. if the item is not to be destroyed, use g_object_ref() before removing it. gtk_tree_select_item ()void gtk_tree_select_item (gtktree *tree, gint item); warninggtk_tree_select_item is deprecated and should not be used in newly-written code. emits the select_item signal for the child at position item, and thus selects it (unless it is unselected in a signal handler). gtk_tree_unselect_item ()void gtk_tree_unselect_item (gtktree *tree, gint item); warninggtk_tree_unselect_item is deprecated and should not be used in newly-written code. emits the unselect_item for the child at position item, and thus unselects it. gtk_tree_select_child ()void gtk_tree_select_child (gtktree *tree, gtkwidget *tree_item); warninggtk_tree_select_child is deprecated and should not be used in newly-written code. emits the select_item signal for the child tree_item, and thus selects it (unless it is unselected in a signal handler). gtk_tree_unselect_child ()void gtk_tree_unselect_child (gtktree *tree, gtkwidget *tree_item); warninggtk_tree_unselect_child is deprecated and should not be used in newly-written code. emits the unselect_item signal for the child tree_item, and thus unselects it. gtk_tree_child_position ()gint gtk_tree_child_position (gtktree *tree, gtkwidget *child); warninggtk_tree_child_position is deprecated and should not be used in newly-written code. returns the position of child in the gtktree tree. if child is not a child of tree, then -1 is returned. gtk_tree_set_selection_mode ()void gtk_tree_set_selection_mode (gtktree *tree, gtkselectionmode mode); warninggtk_tree_set_selection_mode is deprecated and should not be used in newly-written code. sets the selection mode for the gtktree tree. mode can be one of
the selection mode is only defined for a root tree, as the root tree "owns" the selection. the default mode is gtk_selection_single.
gtk_tree_set_view_mode ()void gtk_tree_set_view_mode (gtktree *tree, gtktreeviewmode mode); warninggtk_tree_set_view_mode is deprecated and should not be used in newly-written code. sets the 'viewmode' for the gtktree in tree. the 'viewmode' defines how the tree looks when an item is selected. mode can be one of:
the default mode is gtk_tree_view_line.
gtk_tree_set_view_lines ()void gtk_tree_set_view_lines (gtktree *tree, gboolean flag); warninggtk_tree_set_view_lines is deprecated and should not be used in newly-written code. sets whether or not the connecting lines between branches and children are drawn. signal detailsthe "select-child" signalvoid user_function (gtktree *tree, gtkwidget *widget, gpointer user_data) : run first this signal is emitted by tree whenever widget is about to be selected.
the "selection-changed" signalvoid user_function (gtktree *tree, gpointer user_data) : run first this signal is emitted by the root tree whenever the selection changes.
the "unselect-child" signalvoid user_function (gtktree *tree, gtkwidget *widget, gpointer user_data) : run first this signal is emitted by tree whenever widget is about to be unselected.
see alsogtktreelist for the items to put into a gtktree. gtkscrolledwindow for details on how to scroll around a gtktree. |