RGtk2 (version 2.20.31)

GtkTreeView: GtkTreeView

Description

A widget for displaying both trees and lists

Arguments

Methods and Functions

gtkTreeViewNew(show = TRUE) gtkTreeViewGetLevelIndentation(object) gtkTreeViewGetShowExpanders(object) gtkTreeViewSetLevelIndentation(object, indentation) gtkTreeViewSetShowExpanders(object, enabled) gtkTreeViewNewWithModel(model = NULL, show = TRUE) gtkTreeViewGetModel(object) gtkTreeViewSetModel(object, model = NULL) gtkTreeViewGetSelection(object) gtkTreeViewGetHadjustment(object) gtkTreeViewSetHadjustment(object, adjustment) gtkTreeViewGetVadjustment(object) gtkTreeViewSetVadjustment(object, adjustment) gtkTreeViewGetHeadersVisible(object) gtkTreeViewSetHeadersVisible(object, headers.visible) gtkTreeViewColumnsAutosize(object) gtkTreeViewGetHeadersClickable(object) gtkTreeViewSetHeadersClickable(object, active) gtkTreeViewSetRulesHint(object, setting) gtkTreeViewGetRulesHint(object) gtkTreeViewAppendColumn(object, column) gtkTreeViewRemoveColumn(object, column) gtkTreeViewInsertColumn(object, column, position) gtkTreeViewInsertColumnWithAttributes(object, position, title, cell, ...) gtkTreeViewInsertColumnWithDataFunc(object, position, title, cell, func, data = NULL) gtkTreeViewGetColumn(object, n) gtkTreeViewGetColumns(object) gtkTreeViewMoveColumnAfter(object, column, base.column = NULL) gtkTreeViewSetExpanderColumn(object, column) gtkTreeViewGetExpanderColumn(object) gtkTreeViewSetColumnDragFunction(object, func, user.data = NULL) gtkTreeViewScrollToPoint(object, tree.x, tree.y) gtkTreeViewScrollToCell(object, path, column = NULL, use.align = FALSE, row.align = 0, col.align = 0) gtkTreeViewSetCursor(object, path, focus.column = NULL, start.editing = FALSE) gtkTreeViewSetCursorOnCell(object, path, focus.column = NULL, focus.cell = NULL, start.editing = FALSE) gtkTreeViewGetCursor(object) gtkTreeViewRowActivated(object, path, column) gtkTreeViewExpandAll(object) gtkTreeViewCollapseAll(object) gtkTreeViewExpandToPath(object, path) gtkTreeViewExpandRow(object, path, open.all) gtkTreeViewCollapseRow(object, path) gtkTreeViewMapExpandedRows(object, func, data = NULL) gtkTreeViewRowExpanded(object, path) gtkTreeViewSetReorderable(object, reorderable) gtkTreeViewGetReorderable(object) gtkTreeViewGetPathAtPos(object, x, y) gtkTreeViewGetCellArea(object, path, column) gtkTreeViewGetBackgroundArea(object, path, column) gtkTreeViewGetVisibleRect(object) gtkTreeViewGetVisibleRange(object) gtkTreeViewGetBinWindow(object) gtkTreeViewWidgetToTreeCoords(object, wx, wy) gtkTreeViewTreeToWidgetCoords(object, tx, ty) gtkTreeViewConvertBinWindowToTreeCoords(object, bx, by) gtkTreeViewConvertBinWindowToWidgetCoords(object, bx, by) gtkTreeViewConvertTreeToBinWindowCoords(object, tx, ty) gtkTreeViewConvertTreeToWidgetCoords(object, tx, ty) gtkTreeViewConvertWidgetToBinWindowCoords(object, wx, wy) gtkTreeViewConvertWidgetToTreeCoords(object, wx, wy) gtkTreeViewEnableModelDragDest(object, targets, actions) gtkTreeViewEnableModelDragSource(object, start.button.mask, targets, actions) gtkTreeViewUnsetRowsDragSource(object) gtkTreeViewUnsetRowsDragDest(object) gtkTreeViewSetDragDestRow(object, path, pos) gtkTreeViewGetDragDestRow(object, path) gtkTreeViewGetDestRowAtPos(object, drag.x, drag.y) gtkTreeViewCreateRowDragIcon(object, path) gtkTreeViewSetEnableSearch(object, enable.search) gtkTreeViewGetEnableSearch(object) gtkTreeViewGetSearchColumn(object) gtkTreeViewSetSearchColumn(object, column) gtkTreeViewGetSearchEqualFunc(object) gtkTreeViewSetSearchEqualFunc(object, search.equal.func, search.user.data = NULL) gtkTreeViewGetSearchEntry(object) gtkTreeViewSetSearchEntry(object, entry = NULL) gtkTreeViewGetSearchPositionFunc(object) gtkTreeViewSetSearchPositionFunc(object, func, data) gtkTreeViewGetFixedHeightMode(object) gtkTreeViewSetFixedHeightMode(object, enable) gtkTreeViewGetHoverSelection(object) gtkTreeViewSetHoverSelection(object, hover) gtkTreeViewGetHoverExpand(object) gtkTreeViewSetHoverExpand(object, expand) gtkTreeViewSetDestroyCountFunc(object, func, data = NULL) gtkTreeViewGetRowSeparatorFunc(object) gtkTreeViewSetRowSeparatorFunc(object, func, data = NULL) gtkTreeViewGetRubberBanding(object) gtkTreeViewSetRubberBanding(object, enable) gtkTreeViewIsRubberBandingActive(object) gtkTreeViewGetEnableTreeLines(object) gtkTreeViewSetEnableTreeLines(object, enabled) gtkTreeViewGetGridLines(object) gtkTreeViewSetGridLines(object, grid.lines) gtkTreeViewSetTooltipRow(object, tooltip, path) gtkTreeViewSetTooltipCell(object, tooltip, path, column, cell) gtkTreeViewGetTooltipContext(object, x, y, keyboard.tip) gtkTreeViewGetTooltipColumn(object) gtkTreeViewSetTooltipColumn(object, column) gtkTreeView(model = NULL, show = TRUE)

Hierarchy

GObject
   +----GInitiallyUnowned
         +----GtkObject
               +----GtkWidget
                     +----GtkContainer
                           +----GtkTreeView

Interfaces

GtkTreeView implements AtkImplementorIface and GtkBuildable.

Detailed Description

Widget that displays any object that implements the GtkTreeModel interface. Please refer to the tree widget conceptual overview for an overview of all the objects and data types related to the tree widget and how they work together. Several different coordinate systems are exposed in the GtkTreeView API. These are:
  • Widget coordinates -- coordinates relative to the widget (usually widget->window .
  • Bin window coordinates -- coordinates relative to the window that GtkTreeView renders to.
  • Tree coordinates -- coordinates relative to the entire scrollable area of GtkTreeView. These coordinates start at (0, 0) for row 0 of the tree.
Several functions are available for converting between the different coordinate systems. The most common translations are between widget and bin window coordinates and between bin window and tree coordinates. For the former you can use gtkTreeViewConvertWidgetToBinWindowCoords (and vice versa), for the latter gtkTreeViewConvertBinWindowToTreeCoords (and vice versa).

GtkTreeView as GtkBuildable

The GtkTreeView implementation of the GtkBuildable interface accepts GtkTreeViewColumn objects as elements in UI definitions. A UI definition fragment with GtkTreeView

  liststore1
  
    
      Test
      
        
        
          1
        
      
    
  

Structures

Convenient Construction

gtkTreeView is the result of collapsing the constructors of GtkTreeView (gtkTreeViewNew, gtkTreeViewNewWithModel) and accepts a subset of its arguments matching the required arguments of one of its delegate constructors.

Enums and Flags

GtkTreeViewDropPosition
An enum for determining where a dropped row goes.
before
dropped row is inserted before
after
dropped row is inserted after
into-or-before
dropped row becomes a child or is inserted before
into-or-after
dropped row becomes a child or is inserted after
GtkTreeViewGridLines
Used to indicate which grid lines to draw in a tree view.
none
No grid lines.
horizontal
Horizontal grid lines.
vertical
Vertical grid lines.
both
Horizontal and vertical grid lines.

User Functions

GtkTreeViewColumnDropFunc(tree.view, column, prev.column, next.column, data)
Function type for determining whether column can be dropped in a particular spot (as determined by prev.column and next.column). In left to right locales, prev.column is on the left of the potential drop spot, and next.column is on the right. In right to left mode, this is reversed. This function should return TRUE if the spot is a valid drop spot. Please note that returning TRUE does not actually indicate that the column drop was made, but is meant only to indicate a possible drop spot to the user.
tree.view
A GtkTreeView
column
The GtkTreeViewColumn being dragged
prev.column
A GtkTreeViewColumn on one side of column
next.column
A GtkTreeViewColumn on the other side of column
data
user data
Returns: [logical] TRUE, if column can be dropped in this spot
GtkTreeViewMappingFunc(tree.view, path, user.data)
Function used for gtkTreeViewMapExpandedRows.
tree.view
A GtkTreeView
path
The path that's expanded
user.data
user data
GtkTreeViewSearchEqualFunc(model, column, key, iter, search.data)
A function used for checking whether a row in model matches a search key string entered by the user. Note the return value is reversed from what you would normally expect, though it has some similarity to strcmp() returning 0 for equal strings.
model
the GtkTreeModel being searched
column
the search column set by gtkTreeViewSetSearchColumn
key
the key string to compare with
iter
a GtkTreeIter pointing the row of model that should be compared with key.
search.data
user data from gtkTreeViewSetSearchEqualFunc
Returns: [logical] FALSE if the row matches, TRUE otherwise.
GtkTreeViewSearchPositionFunc()
undocumented
GtkTreeDestroyCountFunc()
undocumented
GtkTreeViewRowSeparatorFunc(model, iter, data)
Function type for determining whether the row pointed to by iter should be rendered as a separator. A common way to implement this is to have a boolean column in the model, whose values the GtkTreeViewRowSeparatorFunc returns.
model
the GtkTreeModel
iter
a GtkTreeIter pointing at a row in model
data
user data
Returns: [logical] TRUE if the row is a separator

Signals

columns-changed(tree.view, user.data)
The number of columns of the treeview has changed.
tree.view
the object on which the signal is emitted
user.data
user data set when the signal handler was connected.
cursor-changed(tree.view, user.data)
The position of the cursor (focused cell) has changed.
tree.view
the object on which the signal is emitted
user.data
user data set when the signal handler was connected.
expand-collapse-cursor-row(tree.view, user.data)
undocumented
tree.view
the object which received the signal.
user.data
user data set when the signal handler was connected.
move-cursor(tree.view, user.data)
undocumented
tree.view
the object which received the signal.
user.data
user data set when the signal handler was connected.
row-activated(tree.view, path, column, user.data)
The "row-activated" signal is emitted when the method gtkTreeViewRowActivated is called or the user double clicks a treeview row. It is also emitted when a non-editable row is selected and one of the keys: Space, Shift+Space, Return or Enter is pressed. For selection handling refer to the tree widget conceptual overview as well as GtkTreeSelection.
tree.view
the object on which the signal is emitted
path
the GtkTreePath for the activated row
column
the GtkTreeViewColumn in which the activation occurred
user.data
user data set when the signal handler was connected.
row-collapsed(tree.view, iter, path, user.data)
The given row has been collapsed (child nodes are hidden).
tree.view
the object on which the signal is emitted
iter
the tree iter of the collapsed row
path
a tree path that points to the row
user.data
user data set when the signal handler was connected.
row-expanded(tree.view, iter, path, user.data)
The given row has been expanded (child nodes are shown).
tree.view
the object on which the signal is emitted
iter
the tree iter of the expanded row
path
a tree path that points to the row
user.data
user data set when the signal handler was connected.
select-all(tree.view, user.data)
undocumented
tree.view
the object which received the signal.
user.data
user data set when the signal handler was connected.
select-cursor-parent(tree.view, user.data)
undocumented
tree.view
the object which received the signal.
user.data
user data set when the signal handler was connected.
select-cursor-row(tree.view, user.data)
undocumented
tree.view
the object which received the signal.
user.data
user data set when the signal handler was connected.
set-scroll-adjustments(horizontal, vertical, user.data)
Set the scroll adjustments for the tree view. Usually scrolled containers like GtkScrolledWindow will emit this signal to connect two instances of GtkScrollbar to the scroll directions of the GtkTreeView.
horizontal
the horizontal GtkAdjustment
vertical
the vertical GtkAdjustment
user.data
user data set when the signal handler was connected.
start-interactive-search(tree.view, user.data)
undocumented
tree.view
the object which received the signal.
user.data
user data set when the signal handler was connected.
test-collapse-row(tree.view, iter, path, user.data)
The given row is about to be collapsed (hide its children nodes). Use this signal if you need to control the collapsibility of individual rows.
tree.view
the object on which the signal is emitted
iter
the tree iter of the row to collapse
path
a tree path that points to the row
user.data
user data set when the signal handler was connected.
Returns: [logical] FALSE to allow collapsing, TRUE to reject
test-expand-row(tree.view, iter, path, user.data)
The given row is about to be expanded (show its children nodes). Use this signal if you need to control the expandability of individual rows.
tree.view
the object on which the signal is emitted
iter
the tree iter of the row to expand
path
a tree path that points to the row
user.data
user data set when the signal handler was connected.
Returns: [logical] FALSE to allow expansion, TRUE to reject
toggle-cursor-row(tree.view, user.data)
undocumented
tree.view
the object which received the signal.
user.data
user data set when the signal handler was connected.
unselect-all(tree.view, user.data)
undocumented
tree.view
the object which received the signal.
user.data
user data set when the signal handler was connected.

Properties

enable-grid-lines [GtkTreeViewGridLines : Read / Write]
Whether grid lines should be drawn in the tree view. Default value: GTK_TREE_VIEW_GRID_LINES_NONE
enable-search [logical : Read / Write]
View allows user to search through columns interactively. Default value: TRUE
enable-tree-lines [logical : Read / Write]
Whether tree lines should be drawn in the tree view. Default value: FALSE
expander-column [GtkTreeViewColumn : * : Read / Write]
Set the column for the expander column.
fixed-height-mode [logical : Read / Write]
Setting the ::fixed-height-mode property to TRUE speeds up GtkTreeView by assuming that all rows have the same height. Only enable this option if all rows are the same height. Please see gtkTreeViewSetFixedHeightMode for more information on this option. Default value: FALSE Since 2.4
hadjustment [GtkAdjustment : * : Read / Write]
Horizontal Adjustment for the widget.
headers-clickable [logical : Read / Write]
Column headers respond to click events. Default value: TRUE
headers-visible [logical : Read / Write]
Show the column header buttons. Default value: TRUE
hover-expand [logical : Read / Write]
Enables of disables the hover expansion mode of tree.view. Hover expansion makes rows expand or collapse if the pointer moves over them. This mode is primarily intended for treeviews in popups, e.g. in GtkComboBox or GtkEntryCompletion. Default value: FALSE Since 2.6
hover-selection [logical : Read / Write]
Enables of disables the hover selection mode of tree.view. Hover selection makes the selected row follow the pointer. Currently, this works only for the selection modes GTK_SELECTION_SINGLE and GTK_SELECTION_BROWSE. This mode is primarily intended for treeviews in popups, e.g. in GtkComboBox or GtkEntryCompletion. Default value: FALSE Since 2.6
level-indentation [integer : Read / Write]
Extra indentation for each level. Allowed values: >= 0 Default value: 0 Since 2.12
model [GtkTreeModel : * : Read / Write]
The model for the tree view.
reorderable [logical : Read / Write]
View is reorderable. Default value: FALSE
rubber-banding [logical : Read / Write]
Whether to enable selection of multiple items by dragging the mouse pointer. Default value: FALSE
rules-hint [logical : Read / Write]
Set a hint to the theme engine to draw rows in alternating colors. Default value: FALSE
search-column [integer : Read / Write]
Model column to search through during interactive search. Allowed values: >= -1 Default value: -1
show-expanders [logical : Read / Write]
TRUE if the view has expanders. Default value: TRUE Since 2.12
tooltip-column [integer : Read / Write]
The column in the model containing the tooltip texts for the rows. Allowed values: >= -1 Default value: -1
vadjustment [GtkAdjustment : * : Read / Write]
Vertical Adjustment for the widget.

Style Properties

allow-rules [logical : Read]
Allow drawing of alternating color rows. Default value: TRUE
even-row-color [GdkColor : * : Read]
Color to use for even rows.
expander-size [integer : Read]
Size of the expander arrow. Allowed values: >= 0 Default value: 12
grid-line-pattern [character : * : Read]
Dash pattern used to draw the tree view grid lines. Default value: "\001\001"
grid-line-width [integer : Read]
Width, in pixels, of the tree view grid lines. Allowed values: >= 0 Default value: 1
horizontal-separator [integer : Read]
Horizontal space between cells. Must be an even number. Allowed values: >= 0 Default value: 2
indent-expanders [logical : Read]
Make the expanders indented. Default value: TRUE
odd-row-color [GdkColor : * : Read]
Color to use for odd rows.
row-ending-details [logical : Read]
Enable extended row background theming. Default value: FALSE
tree-line-pattern [character : * : Read]
Dash pattern used to draw the tree view lines. Default value: "\001\001"
tree-line-width [integer : Read]
Width, in pixels, of the tree view lines. Allowed values: >= 0 Default value: 1
vertical-separator [integer : Read]
Vertical space between cells. Must be an even number. Allowed values: >= 0 Default value: 2

References

http://library.gnome.org/devel//gtk/GtkTreeView.html

See Also

GtkTreeViewColumn GtkTreeSelection GtkTreeSortable GtkTreeModelSort GtkListStore GtkTreeStore GtkCellRenderer GtkCellEditable GtkCellRendererPixbuf GtkCellRendererText GtkCellRendererToggle