GtkTree A treelist widget. 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. #GtkTreeList for the items to put into a #GtkTree. #GtkScrolledWindow for details on how to scroll around a #GtkTree. 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; }; A macro that returns a boolean value which indicates if @obj is a root tree or not. @obj: A pointer to the #GtkTree. @obj will accept any pointer, but if the pointer does not point to a #GtkTree, the results are undefined. A macro that returns the root tree of @obj. If @obj is already a root tree, @obj is cast to #GtkTree and returned. @obj: A pointer to the #GtkTree. @obj will accept any pointer, but if the pointer does not point to a #GtkTree, the results are undefined. @obj: @GTK_TREE_VIEW_LINE: @GTK_TREE_VIEW_ITEM: Creates a new #GtkTree. @Returns: A pointer to the newly allocated widget. Adds the #GtkTreeItem in @tree_item to the end of the items in @tree. @tree: A pointer to a #GtkTree. @tree_item: A pointer to the #GtkWidget that is to be appended to the tree. Adds the #GtkTreeItem in @tree_item to the start of the items in @tree. @tree: A pointer to a #GtkTree. @tree_item: A pointer to the #GtkWidget that is to be prepended to the tree. Adds the #GtkTreeItem in @tree_item to the list of items in @tree at the position indicated by @position. @tree: A pointer to a #GtkTree. @tree_item: A pointer to the #GtkWidget that is to be added to the tree. @position: A #gint that indicates the position in the tree, that the tree_item is to be added at. 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 gtk_object_ref() before removing it. @tree: A pointer to a #GtkTree. @items: A pointer to a #GList that contains the items to be removed. 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 gtk_object_ref() before removing it. @tree: A pointer to a #GtkTree. @start: A gint. @end: A gint. Emits the #select_item signal for the child at position @item, and thus selects it (unless it is unselected in a signal handler). @tree: A pointer to a #GtkTree. @item: A gint. Emits the #unselect_item for the child at position @item, and thus unselects it. @tree: A pointer to a #GtkTree. @item: A gint. Emits the #select_item signal for the child @tree_item, and thus selects it (unless it is unselected in a signal handler). @tree: A pointer to a #GtkTree. @tree_item: A pointer to the #GtkWidget that is to be selected. Emits the #unselect_item signal for the child @tree_item, and thus unselects it. @tree: A pointer to a #GtkTree. @tree_item: A pointer to the #GtkWidget that is to be selected. Returns the position of @child in the #GtkTree @tree. If @child is not a child of @tree, then -1 is returned. @tree: A pointer to a #GtkTree. @child: A pointer to a #GtkWidget. @Returns: A gint. Sets the selection mode for the #GtkTree @tree. @mode can be one of %GTK_SELECTION_SINGLE for when only one item can be selected at a time. %GTK_SELECTION_BROWSE for when one item must be selected. %GTK_SELECTION_MULTIPLE for when many items can be selected at once. %GTK_SELECTION_EXTENDED Reserved for later use. The selection mode is only defined for a root tree, as the root tree "owns" the selection. The default mode is %GTK_SELECTION_SINGLE. @tree: A pointer to a #GtkTree. @mode: A #GtkSelectionMode. 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: %GTK_TREE_VIEW_LINE : When an item is selected the entire #GtkTreeItem is highlighted. %GTK_TREE_VIEW_ITEM : When an item is selected only the selected item's child widget is highlighted. The default mode is %GTK_TREE_VIEW_LINE. @tree: A pointer to a #GtkTree. @mode: A #GtkTreeViewMode. Sets whether or not the connecting lines between branches and children are drawn. @tree: A pointer to a #GtkTree. @flag: A guint, indicating %TRUE, or %FALSE. Removes the item @child from the #GtkTree @tree. @tree: A pointer to a #GtkTree. @child: A pointer to the #GtkWidget that is to be removed from the tree. This signal is emitted by @tree whenever @widget is about to be selected. @tree: the object which received the signal. @widget: The child that is about to be selected. This signal is emitted by the root tree whenever the selection changes. @tree: the object which received the signal. This signal is emitted by @tree whenever @widget is about to be unselected. @tree: the object which received the signal. @widget: The child that is about to be unselected.