1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310
|
<!-- ##### SECTION Title ##### -->
GtkTree
<!-- ##### SECTION Short_Description ##### -->
A tree widget
<!-- ##### SECTION Long_Description ##### -->
<para>
<warning>
<para>
#GtkTree 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.
</para>
</warning>
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.
</para>
<!-- ##### SECTION See_Also ##### -->
<para>
#GtkTreeList for the items to put into a #GtkTree.
</para>
<para>
#GtkScrolledWindow for details on how to scroll around a #GtkTree.
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### SECTION Image ##### -->
<!-- ##### STRUCT GtkTree ##### -->
<para>
<programlisting>
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;
};
</programlisting>
</para>
<!-- ##### SIGNAL GtkTree::select-child ##### -->
<para>
This signal is emitted by @tree whenever @widget is about to be selected.
</para>
@tree: the object which received the signal.
@widget: The child that is about to be selected.
<!-- ##### SIGNAL GtkTree::selection-changed ##### -->
<para>
This signal is emitted by the root tree whenever the selection changes.
</para>
@tree: the object which received the signal.
<!-- ##### SIGNAL GtkTree::unselect-child ##### -->
<para>
This signal is emitted by @tree whenever @widget is about to be unselected.
</para>
@tree: the object which received the signal.
@widget: The child that is about to be unselected.
<!-- ##### MACRO GTK_IS_ROOT_TREE ##### -->
<para>
A macro that returns a boolean value which indicates if @obj is a root tree or not.
</para>
@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.
<!-- ##### MACRO GTK_TREE_ROOT_TREE ##### -->
<para>
A macro that returns the root tree of @obj.
</para>
<para>
If @obj is already a root tree, @obj is cast to #GtkTree and returned.
</para>
@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.
<!-- ##### MACRO GTK_TREE_SELECTION_OLD ##### -->
<para>
</para>
@obj:
<!-- ##### ENUM GtkTreeViewMode ##### -->
<para>
</para>
@GTK_TREE_VIEW_LINE:
@GTK_TREE_VIEW_ITEM:
<!-- ##### FUNCTION gtk_tree_new ##### -->
<para>
Creates a new #GtkTree.
</para>
@void:
@Returns: A pointer to the newly allocated widget.
<!-- ##### FUNCTION gtk_tree_append ##### -->
<para>
Adds the #GtkTreeItem in @tree_item to the end of the items in @tree.
</para>
@tree: A pointer to a #GtkTree.
@tree_item: A pointer to the #GtkWidget that is to be appended to the tree.
<!-- ##### FUNCTION gtk_tree_prepend ##### -->
<para>
Adds the #GtkTreeItem in @tree_item to the start of the items in @tree.
</para>
@tree: A pointer to a #GtkTree.
@tree_item: A pointer to the #GtkWidget that is to be prepended to the tree.
<!-- ##### FUNCTION gtk_tree_insert ##### -->
<para>
Adds the #GtkTreeItem in @tree_item to the list of items in @tree at the position indicated by @position.
</para>
@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.
<!-- ##### FUNCTION gtk_tree_remove_items ##### -->
<para>
Removes a list of items from the #GtkTree in @tree.
</para>
<para>
If only one item is to be removed from the #GtkTree, gtk_container_remove() can be used instead.
</para>
<para>
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.
</para>
@tree: A pointer to a #GtkTree.
@items: A pointer to a #GList that contains the items to be removed.
<!-- ##### FUNCTION gtk_tree_clear_items ##### -->
<para>
Removes the items at positions between @start and @end from the #GtkTree @tree.
</para>
<para>
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.
</para>
@tree: A pointer to a #GtkTree.
@start: A #gint.
@end: A #gint.
<!-- ##### FUNCTION gtk_tree_select_item ##### -->
<para>
Emits the #select_item signal for the child at position @item, and thus selects it (unless it is unselected in a signal handler).
</para>
@tree: A pointer to a #GtkTree.
@item: A #gint.
<!-- ##### FUNCTION gtk_tree_unselect_item ##### -->
<para>
Emits the #unselect_item for the child at position @item, and thus unselects it.
</para>
@tree: A pointer to a #GtkTree.
@item: A #gint.
<!-- ##### FUNCTION gtk_tree_select_child ##### -->
<para>
Emits the #select_item signal for the child @tree_item, and thus selects it (unless it is unselected in a signal handler).
</para>
@tree: A pointer to a #GtkTree.
@tree_item: A pointer to the #GtkWidget that is to be selected.
<!-- ##### FUNCTION gtk_tree_unselect_child ##### -->
<para>
Emits the #unselect_item signal for the child @tree_item, and thus unselects it.
</para>
@tree: A pointer to a #GtkTree.
@tree_item: A pointer to the #GtkWidget that is to be selected.
<!-- ##### FUNCTION gtk_tree_child_position ##### -->
<para>
Returns the position of @child in the #GtkTree @tree.
</para>
<para>
If @child is not a child of @tree, then -1 is returned.
</para>
@tree: A pointer to a #GtkTree.
@child: A pointer to a #GtkWidget.
@Returns: A #gint.
<!-- ##### FUNCTION gtk_tree_set_selection_mode ##### -->
<para>
Sets the selection mode for the #GtkTree @tree.
</para>
<para>
@mode can be one of
</para>
<itemizedlist>
<listitem>
<para>
%GTK_SELECTION_SINGLE for when only one item can be selected at a time.
</para>
</listitem>
<listitem>
<para>
%GTK_SELECTION_BROWSE for when one item must be selected.
</para>
</listitem>
<listitem>
<para>
%GTK_SELECTION_MULTIPLE for when many items can be selected at once.
</para>
</listitem>
<listitem>
<para>
%GTK_SELECTION_EXTENDED Reserved for later use.
</para>
</listitem>
</itemizedlist>
<para>
The selection mode is only defined for a root tree, as the root tree "owns" the selection.
</para>
<para>
The default mode is %GTK_SELECTION_SINGLE.
</para>
@tree: A pointer to a #GtkTree.
@mode: A #GtkSelectionMode.
<!-- ##### FUNCTION gtk_tree_set_view_mode ##### -->
<para>
Sets the 'viewmode' for the #GtkTree in @tree. The 'viewmode' defines how the tree looks when an item is selected.
</para>
<para>
@mode can be one of:
</para>
<itemizedlist>
<listitem>
<para>
%GTK_TREE_VIEW_LINE : When an item is selected the entire #GtkTreeItem is highlighted.
</para>
</listitem>
<listitem>
<para>
%GTK_TREE_VIEW_ITEM : When an item is selected only the selected item's child widget is highlighted.
</para>
</listitem>
</itemizedlist>
<para>
The default mode is %GTK_TREE_VIEW_LINE.
</para>
@tree: A pointer to a #GtkTree.
@mode: A #GtkTreeViewMode.
<!-- ##### FUNCTION gtk_tree_set_view_lines ##### -->
<para>
Sets whether or not the connecting lines between branches and children are drawn.
</para>
@tree: A pointer to a #GtkTree.
@flag: A #guint, indicating %TRUE, or %FALSE.
<!-- ##### FUNCTION gtk_tree_remove_item ##### -->
<para>
Removes the item @child from the #GtkTree @tree.
</para>
@tree: A pointer to a #GtkTree.
@child: A pointer to the #GtkWidget that is to be removed from the tree.
|