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.