Gtk2::TreeView

NAME

Gtk2::TreeView − wrapper for GtkTreeView

HIERARCHY

Glib::Object
+−−−−Glib::InitiallyUnowned
+−−−−Gtk2::Object
+−−−−Gtk2::Widget
+−−−−Gtk2::Container
+−−−−Gtk2::TreeView

INTERFACES

Glib::Object::_Unregistered::AtkImplementorIface
Gtk2::Buildable

METHODS

widget = Gtk2::TreeView−>new ($model=undef)

$model (Gtk2::TreeModel)

widget = Gtk2::TreeView−>new_with_model ($model)

$model (Gtk2::TreeModel)

integer = $tree_view−>append_column ($column)

$column (Gtk2::TreeViewColumn)

rectangle = $tree_view−>get_background_area ($path, $column)

$path (Gtk2::TreePath or undef)

$column (Gtk2::TreeViewColumn or undef)

window = $tree_view−>get_bin_window
rectangle = $tree_view−>get_cell_area ($path, $column)

$path (Gtk2::TreePath or undef)

$column (Gtk2::TreeViewColumn or undef)

$tree_view−>collapse_all
boolean = $tree_view−>collapse_row ($path)

$path (Gtk2::TreePath)

$tree_view−>set_column_drag_function ($func, $data=undef)

$func (scalar)

$data (scalar)

treeviewcolumn = $tree_view−>get_column ($n)

$n (integer)

$tree_view−>columns_autosize
list = $tree_view−>get_columns

Returns an array of columns.

(tx, ty) = $tree_view−>convert_bin_window_to_tree_coords ($bx, $by)

$bx (integer)

$by (integer)

Since: gtk+ 2.12

(wx, wy) = $tree_view−>convert_bin_window_to_widget_coords ($bx, $by)

$bx (integer)

$by (integer)

Since: gtk+ 2.12

(bx, by) = $tree_view−>convert_tree_to_bin_window_coords ($tx, $ty)

$tx (integer)

$ty (integer)

Since: gtk+ 2.12

(wx, wy) = $tree_view−>convert_tree_to_widget_coords ($tx, $ty)

$tx (integer)

$ty (integer)

Since: gtk+ 2.12

(bx, by) = $tree_view−>convert_widget_to_bin_window_coords ($wx, $wy)

$wx (integer)

$wy (integer)

Since: gtk+ 2.12

(tx, ty) = $tree_view−>convert_widget_to_tree_coords ($wx, $wy)

$wx (integer)

$wy (integer)

Since: gtk+ 2.12

pixmap = $tree_view−>create_row_drag_icon ($path)

$path (Gtk2::TreePath)

(path, focus_column) = $tree_view−>get_cursor
Returns the Gtk2::TreePath and Gtk2::TreeViewColumn of the cell with the keyboard focus cursor. Either may be undef.

$tree_view−>set_cursor_on_cell ($path, $focus_column, $focus_cell, $start_editing)

$path (Gtk2::TreePath)

$focus_column (Gtk2::TreeViewColumn or undef)

$focus_cell (Gtk2::CellRenderer or undef)

$start_editing (boolean)

Since: gtk+ 2.2

$tree_view−>set_cursor ($path, $focus_column=undef, $start_editing=FALSE)

$path (Gtk2::TreePath)

$focus_column (Gtk2::TreeViewColumn or undef)

$start_editing (boolean)

(path, dropposition) = $tree_view−>get_dest_row_at_pos ($drag_x, $drag_y)

$drag_x (integer)

$drag_y (integer)

(path, dropposition) = $tree_view−>get_drag_dest_row
$tree_view−>set_drag_dest_row ($path, $pos)

$path (Gtk2::TreePath or undef)

$pos (Gtk2::TreeViewDropPosition)

$tree_view−>enable_model_drag_dest ($actions, ...)

$actions (Gtk2::Gdk::DragAction)

... (list) of Gtk2::TargetEntry’s

$tree_view−>enable_model_drag_source ($start_button_mask, $actions, ...)

$start_button_mask (Gtk2::Gdk::ModifierType)

$actions (Gtk2::Gdk::DragAction)

... (list) of Gtk2::TargetEntry’s

boolean = $tree_view−>get_enable_search
$tree_view−>set_enable_search ($enable_search)

$enable_search (boolean)

boolean = $tree_view−>get_enable_tree_lines
Since: gtk+ 2.10

$tree_view−>set_enable_tree_lines ($enabled)

$enabled (boolean)

Since: gtk+ 2.10

$tree_view−>expand_all
boolean = $tree_view−>expand_row ($path, $open_all)

$path (Gtk2::TreePath)

$open_all (boolean)

$tree_view−>expand_to_path ($path)

$path (Gtk2::TreePath)

Since: gtk+ 2.2

treeviewcolumn or undef = $tree_view−>get_expander_column
$tree_view−>set_expander_column ($column)

$column (Gtk2::TreeViewColumn or undef)

boolean = $treeview−>get_fixed_height_mode
Since: gtk+ 2.6

$treeview−>set_fixed_height_mode ($enable)

$enable (boolean)

Since: gtk+ 2.6

treeviewgridlines = $tree_view−>get_grid_lines
Since: gtk+ 2.10

$tree_view−>set_grid_lines ($grid_lines)

$grid_lines (Gtk2::TreeViewGridLines)

Since: gtk+ 2.10

adjustment or undef = $tree_view−>get_hadjustment
$tree_view−>set_hadjustment ($adjustment)

$adjustment (Gtk2::Adjustment or undef)

boolean = $tree_view−>get_headers_clickable
Since: gtk+ 2.10

$tree_view−>set_headers_clickable ($setting)

$setting (boolean)

boolean = $tree_view−>get_headers_visible
$tree_view−>set_headers_visible ($headers_visible)

$headers_visible (boolean)

boolean = $treeview−>get_hover_expand
Since: gtk+ 2.6

$treeview−>set_hover_expand ($expand)

$expand (boolean)

Since: gtk+ 2.6

boolean = $treeview−>get_hover_selection
Since: gtk+ 2.6

$treeview−>set_hover_selection ($hover)

$hover (boolean)

Since: gtk+ 2.6

integer = $tree_view−>insert_column ($column, $position)

$column (Gtk2::TreeViewColumn)

$position (integer)

$tree_view−>insert_column_with_attributes ($position, $title, $cellrenderer, $attr1, $col1, $attr2, $col2, ...)

$position (integer)

$title (string)

$cell (Gtk2::CellRenderer)

... (list)

integer = $tree_view−>insert_column_with_data_func ($position, $title, $cell, $func, $data=undef)

$position (integer)

$title (string)

$cell (Gtk2::CellRenderer)

$func (subroutine)

$data (scalar)

Insert a column that calls $func every time it needs to fetch the data for a cell. $func will get a cell renderer, the tree model, and the iter of the row in question, and should set the proper value into the cell renderer.

boolean = $tree_view−>is_rubber_banding_active
Since: gtk+ 2.12

integer = $tree_view−>get_level_indentation
Since: gtk+ 2.12

$tree_view−>set_level_indentation ($indentation)

$indentation (integer)

Since: gtk+ 2.12

$tree_view−>map_expanded_rows ($func, $data=undef)

$func (scalar)

$data (scalar)

treemodel or undef = $tree_view−>get_model
$tree_view−>set_model ($model)

$model (Gtk2::TreeModel or undef)

$tree_view−>move_column_after ($column, $base_column)

$column (Gtk2::TreeViewColumn)

$base_column (Gtk2::TreeViewColumn or undef)

path = $tree_view−>get_path_at_pos ($x, $y)
(path, column, cell_x, cell_y) = $tree_view−>get_path_at_pos ($x, $y)

$x (integer)

$y (integer)

Finds the path at the point ($x, $y), relative to widget coordinates. That is, $x and $y are relative to an event’s coordinates. $x and $y must come from an event on the $tree_view only where "$event−>window == $tree_view−>get_bin_window". It is primarily for things like popup menus. In scalar context, returns the Gtk2::TreePath, in array context, adds the Gtk2::TreeViewColumn, and $x and $y translated to be relative to the cell. This function is only meaningful if $tree_view is realized.

integer = $tree_view−>remove_column ($column)

$column (Gtk2::TreeViewColumn)

boolean = $tree_view−>get_reorderable
$tree_view−>set_reorderable ($reorderable)

$reorderable (boolean)

$tree_view−>row_activated ($path, $column)

$path (Gtk2::TreePath)

$column (Gtk2::TreeViewColumn)

boolean = $tree_view−>row_expanded ($path)

$path (Gtk2::TreePath)

$tree_view−>set_row_separator_func ($func, $data=undef)

$func (scalar)

$data (scalar)

Since: gtk+ 2.6

boolean = $tree_view−>get_rubber_banding
Since: gtk+ 2.10

$tree_view−>set_rubber_banding ($enable)

$enable (boolean)

Since: gtk+ 2.10

boolean = $tree_view−>get_rules_hint
$tree_view−>set_rules_hint ($setting)

$setting (boolean)

$tree_view−>scroll_to_cell ($path, $column=undef, $use_align=FALSE, $row_align=0.0, $col_align=0.0)

$path (Gtk2::TreePath or undef)

$column (Gtk2::TreeViewColumn or undef)

$use_align (boolean)

$row_align (double)

$col_align (double)

$tree_view−>scroll_to_point ($tree_x, $tree_y)

$tree_x (scalar)

$tree_y (scalar)

integer = $tree_view−>get_search_column
$tree_view−>set_search_column ($column)

$column (integer)

entry or undef = $tree_view−>get_search_entry
Since: gtk+ 2.10

$tree_view−>set_search_entry ($entry)

$entry (Gtk2::Entry or undef)

Since: gtk+ 2.10

$tree_view−>set_search_equal_func ($func, $data=undef)

$func (subroutine)

$data (scalar)

$tree_view−>set_search_position_func ($func, $user_data=undef)

$func (scalar)

$user_data (scalar)

Pass undef for the func to restore the default search position function.

Since: gtk+ 2.10

treeselection = $tree_view−>get_selection
boolean = $tree_view−>get_show_expanders

Since: gtk+ 2.12

$tree_view−>set_show_expanders ($enabled)

$enabled (boolean)

Since: gtk+ 2.12

$tree_view−>set_tooltip_cell ($tooltip, $path, $column, $cell)

$tooltip (Gtk2::Tooltip)

$path (Gtk2::TreePath)

$column (Gtk2::TreeViewColumn)

$cell (Gtk2::CellRenderer)

Since: gtk+ 2.12

integer = $tree_view−>get_tooltip_column
Since: gtk+ 2.12

$tree_view−>set_tooltip_column ($column)

$column (integer)

Since: gtk+ 2.12

(x, y, model, path, iter) = $treeview−>get_tooltip_context ($x, $y, $keyboard_tip)

$x (integer)

$y (integer)

$keyboard_tip (boolean)

Since: gtk+ 2.12

$tree_view−>set_tooltip_row ($tooltip, $path)

$tooltip (Gtk2::Tooltip)

$path (Gtk2::TreePath)

Since: gtk+ 2.12

(wx, wy) = $tree_view−>tree_to_widget_coords ($tx, $ty)

$tx (integer)

$ty (integer)

$tree_view−>unset_rows_drag_dest
$tree_view−>unset_rows_drag_source
adjustment or undef = $tree_view−>get_vadjustment
$tree_view−>set_vadjustment ($adjustment)

$adjustment (Gtk2::Adjustment or undef)

(start_path, end_path) = $tree_view−>get_visible_range
Since: gtk+ 2.8

rectangle = $tree_view−>get_visible_rect
(tx, ty) = $tree_view−>widget_to_tree_coords ($wx, $wy)

$wx (integer)

$wy (integer)

PROPERTIES

’enable−grid−lines’ (Gtk2::TreeViewGridLines : default "none" :
readable / writable / private)

Whether grid lines should be drawn in the tree view

’enable−search’ (boolean : default true : readable / writable /
private)

View allows user to search through columns interactively

’enable−tree−lines’ (boolean : default false : readable / writable /
private)

Whether tree lines should be drawn in the tree view

’expander−column’ (Gtk2::TreeViewColumn : default undef : readable /
writable / private)

Set the column for the expander column

’fixed−height−mode’ (boolean : default false : readable / writable /
private)

Speeds up GtkTreeView by assuming that all rows have the same height

’hadjustment’ (Gtk2::Adjustment : default undef : readable / writable /
private)

Horizontal Adjustment for the widget

’headers−clickable’ (boolean : default true : readable / writable /
private)

Column headers respond to click events

’headers−visible’ (boolean : default true : readable / writable /
private)

Show the column header buttons

’hover−expand’ (boolean : default false : readable / writable /
private)

Whether rows should be expanded/collapsed when the pointer moves over them

’hover−selection’ (boolean : default false : readable / writable /
private)

Whether the selection should follow the pointer

’level−indentation’ (integer : default 0 : readable / writable /
private)

Extra indentation for each level

’model’ (Gtk2::TreeModel : default undef : readable / writable /
private)

The model for the tree view

’reorderable’ (boolean : default false : readable / writable / private)

View is reorderable

’rubber−banding’ (boolean : default false : readable / writable /
private)

Whether to enable selection of multiple items by dragging the mouse pointer

’rules−hint’ (boolean : default false : readable / writable / private)

Set a hint to the theme engine to draw rows in alternating colors

’search−column’ (integer : default −1 : readable / writable / private)

Model column to search through during interactive search

’show−expanders’ (boolean : default true : readable / writable /
private)

View has expanders

’tooltip−column’ (integer : default −1 : readable / writable / private)

The column in the model containing the tooltip texts for the rows

’vadjustment’ (Gtk2::Adjustment : default undef : readable / writable /
private)

Vertical Adjustment for the widget

STYLE PROPERTIES

’allow−rules’ (boolean : default true : readable / private)

Allow drawing of alternating color rows

’even−row−color’ (Gtk2::Gdk::Color : default undef : readable /
private)

Color to use for even rows

’expander−size’ (integer : default 12 : readable / private)

Size of the expander arrow

’grid−line−pattern’ (string : default "\1\1" : readable / private)

Dash pattern used to draw the tree view grid lines

’grid−line−width’ (integer : default 1 : readable / private)

Width, in pixels, of the tree view grid lines

’horizontal−separator’ (integer : default 2 : readable / private)

Horizontal space between cells. Must be an even number

’indent−expanders’ (boolean : default true : readable / private)

Make the expanders indented

’odd−row−color’ (Gtk2::Gdk::Color : default undef : readable / private)

Color to use for odd rows

’row−ending−details’ (boolean : default false : readable / private)

Enable extended row background theming

’tree−line−pattern’ (string : default "\1\1" : readable / private)

Dash pattern used to draw the tree view lines

’tree−line−width’ (integer : default 1 : readable / private)

Width, in pixels, of the tree view lines

’vertical−separator’ (integer : default 2 : readable / private)

Vertical space between cells. Must be an even number

SIGNALS

columns-changed (Gtk2::TreeView)
cursor-changed
(Gtk2::TreeView)
boolean = expand-collapse-cursor-row (Gtk2::TreeView, boolean, boolean,
boolean)
boolean = move-cursor (Gtk2::TreeView, Gtk2::MovementStep, integer)
row-activated
(Gtk2::TreeView, Gtk2::TreePath, Gtk2::TreeViewColumn)
row-collapsed
(Gtk2::TreeView, Gtk2::TreeIter, Gtk2::TreePath)
row-expanded
(Gtk2::TreeView, Gtk2::TreeIter, Gtk2::TreePath)
boolean = select-all (Gtk2::TreeView)
boolean = select-cursor-parent (Gtk2::TreeView)
boolean = select-cursor-row (Gtk2::TreeView, boolean)
set-scroll-adjustments
(Gtk2::TreeView, Gtk2::Adjustment,
Gtk2::Adjustment)
boolean = start-interactive-search (Gtk2::TreeView)
boolean = test-collapse-row (Gtk2::TreeView, Gtk2::TreeIter,
Gtk2::TreePath)
boolean = test-expand-row (Gtk2::TreeView, Gtk2::TreeIter,
Gtk2::TreePath)
boolean = toggle-cursor-row (Gtk2::TreeView)
boolean = unselect-all (Gtk2::TreeView)

ENUMS AND FLAGS

flags Gtk2::Gdk::DragAction

’default’ / ’ GDK_ACTION_DEFAULT

’copy’ / ’ GDK_ACTION_COPY

’move’ / ’ GDK_ACTION_MOVE

’link’ / ’ GDK_ACTION_LINK

’private’ / ’ GDK_ACTION_PRIVATE

’ask’ / ’ GDK_ACTION_ASK

flags Gtk2::Gdk::ModifierType

’shift−mask’ / ’ GDK_SHIFT_MASK

’lock−mask’ / ’ GDK_LOCK_MASK

’control−mask’ / ’ GDK_CONTROL_MASK

’mod1−mask’ / ’ GDK_MOD1_MASK

’mod2−mask’ / ’ GDK_MOD2_MASK

’mod3−mask’ / ’ GDK_MOD3_MASK

’mod4−mask’ / ’ GDK_MOD4_MASK

’mod5−mask’ / ’ GDK_MOD5_MASK

’button1−mask’ / ’ GDK_BUTTON1_MASK

’button2−mask’ / ’ GDK_BUTTON2_MASK

’button3−mask’ / ’ GDK_BUTTON3_MASK

’button4−mask’ / ’ GDK_BUTTON4_MASK

’button5−mask’ / ’ GDK_BUTTON5_MASK

’super−mask’ / ’ GDK_SUPER_MASK

’hyper−mask’ / ’ GDK_HYPER_MASK

’meta−mask’ / ’ GDK_META_MASK

’release−mask’ / ’ GDK_RELEASE_MASK

’modifier−mask’ / ’ GDK_MODIFIER_MASK

enum Gtk2::MovementStep

’logical−positions’ / ’ GTK_MOVEMENT_LOGICAL_POSITIONS

’visual−positions’ / ’ GTK_MOVEMENT_VISUAL_POSITIONS

’words’ / ’ GTK_MOVEMENT_WORDS

’display−lines’ / ’ GTK_MOVEMENT_DISPLAY_LINES

’display−line−ends’ / ’ GTK_MOVEMENT_DISPLAY_LINE_ENDS

’paragraphs’ / ’ GTK_MOVEMENT_PARAGRAPHS

’paragraph−ends’ / ’ GTK_MOVEMENT_PARAGRAPH_ENDS

’pages’ / ’ GTK_MOVEMENT_PAGES

’buffer−ends’ / ’ GTK_MOVEMENT_BUFFER_ENDS

’horizontal−pages’ / ’ GTK_MOVEMENT_HORIZONTAL_PAGES

enum Gtk2::TreeViewDropPosition

’before’ / ’ GTK_TREE_VIEW_DROP_BEFORE

’after’ / ’ GTK_TREE_VIEW_DROP_AFTER

’into−or−before’ / ’ GTK_TREE_VIEW_DROP_INTO_OR_BEFORE

’into−or−after’ / ’ GTK_TREE_VIEW_DROP_INTO_OR_AFTER

enum Gtk2::TreeViewGridLines

’none’ / ’ GTK_TREE_VIEW_GRID_LINES_NONE

’horizontal’ / ’ GTK_TREE_VIEW_GRID_LINES_HORIZONTAL

’vertical’ / ’ GTK_TREE_VIEW_GRID_LINES_VERTICAL

’both’ / ’ GTK_TREE_VIEW_GRID_LINES_BOTH

SEE ALSO

Gtk2, Glib::Object, Glib::InitiallyUnowned, Gtk2::Object, Gtk2::Widget, Gtk2::Container

COPYRIGHT

Copyright (C) 2003−2011 by the gtk2−perl team.

This software is licensed under the LGPL. See Gtk2 for a full notice.