Main Page Widgets Namespaces Book

# Gtk::TreeView Class Reference
[Widgets, Container Widgets, TreeView Classes]

Inheritance diagram for Gtk::TreeView:

[legend]
List of all members.

## Detailed Description

The TreeView widget displays the model (Gtk::TreeModel) data and allows the user to interact with it.

The View can show all of the model's columns, or just some, and it can show them in various ways. You must provide the TreeModel in the constructor, or with set_model().

Add View columns with append_column(), append_column_editable(), insert_column(), or insert_column_editable().

You can manipulate the selection by obtaining the Gtk::TreeView::Selection from get_selection().

## Public Types

typedef TreeViewColumn | Column
| A visible column in a Gtk::TreeView widget.
typedef TreeSelection | Selection
| A selection object for Gtk::TreeView.
typedef TreeViewColumn::SlotCellData | SlotCellData
typedef sigc::slot< bool, TreeView*, TreeViewColumn*, TreeViewColumn*, TreeViewColumn* > | SlotColumnDrop
| For instance, bool on_column_drop(TreeView*, tree_view, TreeViewColumn* column, TreeViewColumn* prev_column, TreeViewColumn* next_column).
typedef sigc::slot< void, TreeView*, const TreeModel::Path& > | SlotMapping
| For example, void on_map_expanded_rows(TreeView* tree_view, const TreeModel::Path& path);.
typedef sigc::slot< bool, const Glib::RefPtr<TreeModel>&, int, const Glib::ustring &, const TreeModel::iterator& > | SlotSearchEqual
| void on_search_equal(const Glib::RefPtr<TreeModel>& model, int column, const Glib::ustring& key, const TreeModel::iterator& iter)

## Public Member Functions

virtual | ~TreeView ()
GtkTreeView* | gobj ()
| Provides access to the underlying C GtkObject.
const GtkTreeView* | gobj () const
| Provides access to the underlying C GtkObject.
| TreeView ()
| Default constructor.
| TreeView (const Glib::RefPtr<TreeModel>& model)
| Constructor that binds to a TreeModel.
Glib::RefPtr<TreeModel> | get_model ()
| Returns the model the the Gtk::TreeView is based on.
Glib::RefPtr<const TreeModel> | get_model () const
| Returns the model the the Gtk::TreeView is based on.
void | set_model (const Glib::RefPtr<TreeModel>& model)
| Sets the model for a Gtk::TreeView.
Glib::RefPtr<TreeSelection> | get_selection ()
| Gets the Gtk::TreeSelection associated with tree_view .
Glib::RefPtr<const TreeSelection> | get_selection () const
| Gets the Gtk::TreeSelection associated with tree_view .
Adjustment* | get_hadjustment ()
| Gets the Gtk::Adjustment currently being used for the horizontal aspect.
const Adjustment* | get_hadjustment () const
| Gets the Gtk::Adjustment currently being used for the horizontal aspect.
void | set_hadjustment (Adjustment& adjustment)
| Sets the Gtk::Adjustment for the current horizontal aspect.
void | unset_hadjustment ()
| This method removes the hadjustment.
Adjustment* | get_vadjustment ()
| Gets the Gtk::Adjustment currently being used for the vertical aspect.
const Adjustment* | get_vadjustment () const
| Gets the Gtk::Adjustment currently being used for the vertical aspect.
void | set_vadjustment (Adjustment& adjustment)
| Sets the Gtk::Adjustment for the current vertical aspect.
void | unset_vadjustment ()
| This method removes the vadjustment.
bool | get_headers_visible () const
| Returns `true` if the headers on the tree_view are visible.
void | set_headers_visible (bool headers_visible)
| Sets the the visibility state of the headers.
void | columns_autosize ()
| Resizes all columns to their optimal width.
void | set_headers_clickable (bool setting=true)
| Allow the column title buttons to be clicked.
void | set_rules_hint (bool setting=true)
| This function tells GTK+ that the user interface for your application requires users to read across tree rows and associate cells with one another.
bool | get_rules_hint () const
| Gets the setting set by set_rules_hint().
int | append_column (TreeViewColumn& column)
| Appends column to the list of columns.
template <class ColumnType> int | append_column (const Glib::ustring& title, const TreeModelColumn<ColumnType>& model_column)
| Appends a View column with the appropriate CellRenderer for the Model column.
template <class ColumnType> int | append_column_editable (const Glib::ustring& title, const TreeModelColumn<ColumnType>& model_column)
| Appends a View column with the appropriate CellRenderer for the Model column.
int | append_column (const Glib::ustring& title, CellRenderer& cell)
| Creates a View column containing the CellRenderer, and appends it.
int | remove_column (TreeViewColumn& column)
| Removes column from tree_view .
void | remove_all_columns ()
| Removes all View columns.
int | insert_column (TreeViewColumn& column, int position)
| This inserts the column into the tree_view at position .
int | insert_column (const Glib::ustring& title, CellRenderer& cell, int position)
| Creates a View column containing the CellRenderer, and inserts it.
template <class ColumnType> int | insert_column (const Glib::ustring& title, const TreeModelColumn<ColumnType>& model_column, int position)
| Inserts a View column with the appropriate CellRenderer for the Model column.
template <class ColumnType> int | insert_column_editable (const Glib::ustring& title, const TreeModelColumn<ColumnType>& model_column, int position)
| Inserts a View column with the appropriate CellRenderer for the Model column.
int | insert_column_with_data_func (int position, const Glib::ustring& title, CellRenderer& cell, const SlotCellData& slot)
| Inserts a new column into the TreeView with the given cell renderer and a SlotCellData to set cell renderer attributes (normally using data from the model).
TreeViewColumn* | get_column (int n)
| Gets the Gtk::TreeViewColumn at the given position in the #tree_view.
const TreeViewColumn* | get_column (int n) const
| Gets the Gtk::TreeViewColumn at the given position in the #tree_view.
CellRenderer* | get_column_cell_renderer (int n)
| Gets the CellRenderer for that column.
const CellRenderer* | get_column_cell_renderer (int n) const
| Gets the CellRenderer for that column.
Glib::ListHandle<TreeViewColumn*> | get_columns ()
| Returns a list of all the Gtk::TreeViewColumn s currently in tree_view .
Glib::ListHandle<const TreeViewColumn*> | get_columns () const
| Returns a list of all the Gtk::TreeViewColumn s currently in tree_view .
void | move_column_after (TreeViewColumn& column, TreeViewColumn& base_column)
| Moves column to be after to base_column .
void | move_column_to_start (TreeViewColumn& column)
| This method moves column to the first position in the view.
void | set_expander_column (TreeViewColumn& column)
| Sets the column to draw the expander arrow at.
void | reset_expander_column ()
| This method resets the expander arrow to the default - the first visible column.
TreeViewColumn* | get_expander_column ()
| Returns the column that is the current expander column.
const TreeViewColumn* | get_expander_column () const
| Returns the column that is the current expander column.
void | set_column_drag_function (const SlotColumnDrop& slot)
| Sets a callback slot for determining where a column may be dropped when dragged.
void | unset_column_drag_function ()
| See set_column_drag_function().
void | scroll_to_point (int tree_x, int tree_y)
| Scrolls the tree view such that the top-left corner of the visible area is tree_x , tree_y , where tree_x and tree_y are specified in tree window coordinates.
void | scroll_to_cell (const TreeModel::Path& path, TreeViewColumn& column, float row_align, float col_align)
| Moves the alignments of tree view to the position specified by column and path.
void | scroll_to_cell (const TreeModel::Path& path, TreeViewColumn& column)
| Moves the alignments of tree view to the position specified by column and path.
void | scroll_to_row (const TreeModel::Path& path, float row_align)
| Moves the alignments of tree view to the position specified by path.
void | scroll_to_row (const TreeModel::Path& path)
| Moves the alignments of tree view to the position specified by path.
void | scroll_to_column (TreeViewColumn& column, float col_align)
| Moves the alignments of tree view to the position specified by column.
void | scroll_to_column (TreeViewColumn& column)
| Moves the alignments of tree view to the position specified by column.
void | row_activated (const TreeModel::Path& path, TreeViewColumn& column)
| Activates the cell determined by path and column .
void | expand_all ()
| Recursively expands all nodes in the tree_view .
void | collapse_all ()
| Recursively collapses all visible, expanded nodes in tree_view .
void | expand_to_path (const TreeModel::Path& path)
| Expands the row at path .
bool | expand_row (const TreeModel::Path& path, bool open_all)
| Opens the row so its children are visible.
bool | collapse_row (const TreeModel::Path& path)
| Collapses a row (hides its child rows, if they exist).
void | map_expanded_rows (const SlotMapping& slot)
| Calls the callback slot on all expanded rows.
bool | row_expanded (const TreeModel::Path& path)
| Returns `true` if the node pointed to by path is expanded in tree_view .
void | set_reorderable (bool reorderable=true)
| This function is a convenience function to allow you to reorder models that support the Gtk::DragSourceIface and the Gtk::DragDestIface.
bool | get_reorderable () const
| Retrieves whether the user can reorder the tree via drag-and-drop.
void | set_cursor (const TreeModel::Path& path, TreeViewColumn& focus_column, bool start_editing=false)
| Sets the current keyboard focus to be at path , and selects it.
void | set_cursor (const TreeModel::Path& path, TreeViewColumn& focus_column, CellRenderer& focus_cell, bool start_editing=false)
| Sets the current keyboard focus to be at path , and selects it.
void | set_cursor (const TreeModel::Path& path)
| Sets the current keyboard focus to be at path , and selects it.
void | get_cursor (TreeModel::Path& path, TreeViewColumn*& focus_column)
| Fills in path and focus_column with the current path and focus column.
Glib::RefPtr<Gdk::Window> | get_bin_window ()
| Returns the window that tree_view renders to.
Glib::RefPtr<const Gdk::Window> | get_bin_window () const
| Returns the window that tree_view renders to.
bool | get_path_at_pos (int x, int y, TreeModel::Path& path, TreeViewColumn*& column, int& cell_x, int& cell_y)
| Finds the path at the point (x, y), relative to widget coordinates.
void | get_cell_area (const TreeModel::Path& path, TreeViewColumn& column, Gdk::Rectangle& rect)
| Fills the bounding rectangle in tree window coordinates for the cell at the row specified by path and the column specified by column .
void | get_background_area (const TreeModel::Path& path, TreeViewColumn& column, Gdk::Rectangle& rect)
| Fills the bounding rectangle in tree window coordinates for the cell at the row specified by path and the column specified by column .
void | get_visible_rect (Gdk::Rectangle& visible_rect)
| Fills visible_rect with the currently-visible region of the buffer, in tree coordinates.
void | widget_to_tree_coords (int wx, int wy, int& tx, int& ty)
| Converts widget coordinates to coordinates for the tree window (the full scrollable area of the tree).
void | tree_to_widget_coords (int tx, int ty, int& wx, int& wy)
| Converts tree coordinates (coordinates in full scrollable area of the tree) to widget coordinates.
void | enable_model_drag_source (const ArrayHandle_TargetEntry& targets, Gdk::ModifierType start_button_mask=Gdk::MODIFIER_MASK, Gdk::DragAction actions=Gdk::ACTION_COPY|Gdk::ACTION_MOVE)
| Turns the TreeView into a drag source for automatic DND.
void | enable_model_drag_source (Gdk::ModifierType start_button_mask=Gdk::MODIFIER_MASK, Gdk::DragAction actions=Gdk::ACTION_COPY|Gdk::ACTION_MOVE)
| Turns the TreeView into a drag source for automatic DND.
void | enable_model_drag_dest (const ArrayHandle_TargetEntry& targets, Gdk::DragAction actions=Gdk::ACTION_COPY|Gdk::ACTION_MOVE)
| Turns the TreeViewinto a drop destination for automatic DND.
void | enable_model_drag_dest (Gdk::DragAction actions=Gdk::ACTION_COPY|Gdk::ACTION_MOVE)
| Turns the TreeView into a drop destination for automatic DND.
void | unset_rows_drag_source ()
| Undoes the effect of enable_model_drag_source().
void | unset_rows_drag_dest ()
| Undoes the effect of enable_model_drag_dest().
void | set_drag_dest_row (const TreeModel::Path& path, TreeViewDropPosition pos)
| Sets the row that is highlighted for feedback.
void | get_drag_dest_row (TreeModel::Path& path, TreeViewDropPosition& pos) const
| Gets information about the row that is highlighted for feedback.
bool | get_dest_row_at_pos (int drag_x, int drag_y, TreeModel::Path& path, TreeViewDropPosition& pos) const
| Determines the destination row for a given position.
Glib::RefPtr<Gdk::Pixmap> | create_row_drag_icon (const TreeModel::Path& path)
| Creates a Gdk::Pixmap representation of the row at path .
void | set_enable_search (bool enable_search=true)
| If enable_search is set, then the user can type in text to search through the tree interactively.
bool | get_enable_search () const
| Returns whether or not the tree allows interactive searching.
int | get_search_column () const
| Gets the column searched on by the interactive search code.
void | set_search_column (const TreeModelColumnBase& column)
| Sets column as the column where the interactive search code should search in.
void | set_search_column (int column)
| Sets column as the column where the interactive search code should search in.
void | set_search_equal_func (const SlotSearchEqual& slot)
| Sets the compare function for the interactive search capabilities.
Glib::SignalProxy2< void, Adjustment*, Adjustment* > | signal_set_scroll_adjustments ()
Glib::SignalProxy2< void, const TreeModel::Path&, TreeViewColumn* > | signal_row_activated ()
Glib::SignalProxy2< bool, const TreeModel::iterator&, const TreeModel::Path& > | signal_test_expand_row ()
Glib::SignalProxy2< bool, const TreeModel::iterator&, const TreeModel::Path& > | signal_test_collapse_row ()
Glib::SignalProxy2< void, const TreeModel::iterator&, const TreeModel::Path& > | signal_row_expanded ()
Glib::SignalProxy2< void, const TreeModel::iterator&, const TreeModel::Path& > | signal_row_collapsed ()
Glib::SignalProxy0<void> | signal_cursor_changed ()
Glib::SignalProxy0<void> | signal_columns_changed ()
Glib::PropertyProxy< Glib::RefPtr< TreeModel > > | property_model ()
| You rarely need to use properties because there are get_ and set_ methods for almost all of them.
Glib::PropertyProxy_ReadOnly< Glib::RefPtr<TreeModel >> | property_model () const
| You rarely need to use properties because there are get_ and set_ methods for almost all of them.
Glib::PropertyProxy<Adjustment*> | property_hadjustment ()
| You rarely need to use properties because there are get_ and set_ methods for almost all of them.
Glib::PropertyProxy_ReadOnly< Adjustment* > | property_hadjustment () const
| You rarely need to use properties because there are get_ and set_ methods for almost all of them.
Glib::PropertyProxy<Adjustment*> | property_vadjustment ()
| You rarely need to use properties because there are get_ and set_ methods for almost all of them.
Glib::PropertyProxy_ReadOnly< Adjustment* > | property_vadjustment () const
| You rarely need to use properties because there are get_ and set_ methods for almost all of them.
Glib::PropertyProxy<bool> | property_headers_visible ()
| You rarely need to use properties because there are get_ and set_ methods for almost all of them.
Glib::PropertyProxy_ReadOnly< bool > | property_headers_visible () const
| You rarely need to use properties because there are get_ and set_ methods for almost all of them.
Glib::PropertyProxy_WriteOnly< bool > | property_headers_clickable ()
| You rarely need to use properties because there are get_ and set_ methods for almost all of them.
Glib::PropertyProxy_ReadOnly< bool > | property_headers_clickable () const
| You rarely need to use properties because there are get_ and set_ methods for almost all of them.
Glib::PropertyProxy<TreeViewColumn*> | property_expander_column ()
| You rarely need to use properties because there are get_ and set_ methods for almost all of them.
Glib::PropertyProxy_ReadOnly< TreeViewColumn* > | property_expander_column () const
| You rarely need to use properties because there are get_ and set_ methods for almost all of them.
Glib::PropertyProxy<bool> | property_reorderable ()
| You rarely need to use properties because there are get_ and set_ methods for almost all of them.
Glib::PropertyProxy_ReadOnly< bool > | property_reorderable () const
| You rarely need to use properties because there are get_ and set_ methods for almost all of them.
Glib::PropertyProxy<bool> | property_rules_hint ()
| You rarely need to use properties because there are get_ and set_ methods for almost all of them.
Glib::PropertyProxy_ReadOnly< bool > | property_rules_hint () const
| You rarely need to use properties because there are get_ and set_ methods for almost all of them.
Glib::PropertyProxy<bool> | property_enable_search ()
| You rarely need to use properties because there are get_ and set_ methods for almost all of them.
Glib::PropertyProxy_ReadOnly< bool > | property_enable_search () const
| You rarely need to use properties because there are get_ and set_ methods for almost all of them.
Glib::PropertyProxy<int> | property_search_column ()
| You rarely need to use properties because there are get_ and set_ methods for almost all of them.
Glib::PropertyProxy_ReadOnly< int > | property_search_column () const
| You rarely need to use properties because there are get_ and set_ methods for almost all of them.
Glib::PropertyProxy<bool> | property_fixed_height_mode ()
| You rarely need to use properties because there are get_ and set_ methods for almost all of them.
Glib::PropertyProxy_ReadOnly< bool > | property_fixed_height_mode () const
| You rarely need to use properties because there are get_ and set_ methods for almost all of them.

## Protected Member Functions

virtual void | on_set_scroll_adjustments (Adjustment* hadjustment, Adjustment* vadjustment)
virtual void | on_row_activated (const TreeModel::Path& path, TreeViewColumn* column)
virtual bool | on_test_expand_row (const TreeModel::iterator& iter, const TreeModel::Path& path)
virtual bool | on_test_collapse_row (const TreeModel::iterator& iter, const TreeModel::Path& path)
virtual void | on_row_expanded (const TreeModel::iterator& iter, const TreeModel::Path& path)
virtual void | on_row_collapsed (const TreeModel::iterator& iter, const TreeModel::Path& path)
virtual void | on_cursor_changed ()
virtual void | on_columns_changed ()

## Related Functions

(Note that these are not member functions.)
Gtk::TreeView* | wrap (GtkTreeView* object, bool take_copy=false)

## Member Typedef Documentation

typedef TreeViewColumn Gtk::TreeView::Column

| A visible column in a Gtk::TreeView widget.

typedef TreeSelection Gtk::TreeView::Selection

| A selection object for Gtk::TreeView.

typedef TreeViewColumn::SlotCellData Gtk::TreeView::SlotCellData

typedef sigc::slot<bool, TreeView*, TreeViewColumn*, TreeViewColumn*, TreeViewColumn*> Gtk::TreeView::SlotColumnDrop

For instance, bool on_column_drop(TreeView*, tree_view, TreeViewColumn* column, TreeViewColumn* prev_column, TreeViewColumn* next_column).

This function is called on every column pair in turn at the beginning of a column drag to determine where a drop can take place. The arguments passed to the function are: the tree_view, the view Column being dragged, and the two view Columns determining the drop spot. If either of the view Column arguments for the drop spot are 0, then they indicate an edge.

typedef sigc::slot<void, TreeView*, const TreeModel::Path&> Gtk::TreeView::SlotMapping

| For example, void on_map_expanded_rows(TreeView* tree_view, const TreeModel::Path& path);.

typedef sigc::slot<bool, const Glib::RefPtr<TreeModel>&, int, const Glib::ustring&, const TreeModel::iterator&> Gtk::TreeView::SlotSearchEqual

| void on_search_equal(const Glib::RefPtr<TreeModel>& model, int column, const Glib::ustring& key, const TreeModel::iterator& iter)

## Constructor & Destructor Documentation

virtual Gtk::TreeView::~TreeView | ( |  | ) | `[virtual]`

Gtk::TreeView::TreeView | ( |  | ) |

| Default constructor.

Gtk::TreeView::TreeView | ( | const Glib::RefPtr<TreeModel>& | model | ) | `[explicit]`

| Constructor that binds to a TreeModel.

## Member Function Documentation

int Gtk::TreeView::append_column | ( | const Glib::ustring& | title,
|  | CellRenderer& | cell
| ) |

| Creates a View column containing the CellRenderer, and appends it.

template <class ColumnType>
int Gtk::TreeView::append_column | ( | const Glib::ustring& | title,
|  | const TreeModelColumn<ColumnType>& | model_column
| ) | `[inline]`

Appends a View column with the appropriate CellRenderer for the Model column.

The CellRenderer can only be created automatically for some basic column types, such as Glib::ustring, int, bool, Gdk::Pixbuf. Also, the default CellRenderer might not be setup exactly as needed. You might prefer to create the TreeViewColumn and or CellRenderer manually. You might provide a callback that converts the type into a string representation with TreeViewColumn::set_cell_data_func(). Otherwise, if the type is not supported, at run-time no text will appear in the column while the following warning will be generated repeatedly: GLib-GObject-WARNING**: unable to set property `text' of type `gchararray' from value of type `glibmm__CustomBoxed_t' TODO: Give a more specific warning and/or do more compile-time checks.

Parameters:

  | title | The text to be used in the title header of this column.
  | model_column | The column in the TreeModel that will be rendered by this View column.

Returns:
  The number of columns in the View after appending.

int Gtk::TreeView::append_column | ( | TreeViewColumn& | column | ) |

Appends column to the list of columns.

If tree_view has "fixed_height" mode enbabled, then column must have its "sizing" property set to be GTK_TREE_VIEW_COLUMN_FIXED.

Parameters:

  | column | The Gtk::TreeViewColumn to add.

Returns:
  The number of columns in tree_view after appending.

template <class ColumnType>
int Gtk::TreeView::append_column_editable | ( | const Glib::ustring& | title,
|  | const TreeModelColumn<ColumnType>& | model_column
| ) | `[inline]`

Appends a View column with the appropriate CellRenderer for the Model column.

The compiler will attempt to instantiate appropriate template code to automatically store user changes in the model. To intercept the user's change and implement non-default logic, or if the compiler can't instantiate appropriate code for your model type, you should use append_column() and connect a signal handler to the CellRenderer.

Parameters:

  | title | The text to be used in the title header of this column.
  | model_column | The column in the TreeModel that will be rendered by this View column.

Returns:
  The number of columns in the View after appending.

void Gtk::TreeView::collapse_all | ( |  | ) |

| Recursively collapses all visible, expanded nodes in tree_view .

bool Gtk::TreeView::collapse_row | ( | const TreeModel::Path& | path | ) |

Collapses a row (hides its child rows, if they exist).

Parameters:

  | path | Path to a row in the tree_view .

Returns:
  `true` if the row was collapsed.

void Gtk::TreeView::columns_autosize | ( |  | ) |

| Resizes all columns to their optimal width. Only works after the treeview has been realized.

Glib::RefPtr<Gdk::Pixmap> Gtk::TreeView::create_row_drag_icon | ( | const TreeModel::Path& | path | ) |

Creates a Gdk::Pixmap representation of the row at path .

This image is used for a drag icon.

Parameters:

  | path | A Gtk::TreePath in tree_view .

Returns:
  A newly-allocated pixmap of the drag icon.

void Gtk::TreeView::enable_model_drag_dest | ( | Gdk::DragAction | actions = `Gdk::ACTION_COPY|Gdk::ACTION_MOVE` | ) |

Turns the TreeView into a drop destination for automatic DND.

This uses the default "GTK_TREE_MODEL_ROW" target, which the TreeView can handle automatically.

Parameters:

  | actions | The bitmask of possible actions for a drag from this widget.

void Gtk::TreeView::enable_model_drag_dest | ( | const ArrayHandle_TargetEntry& | targets,
|  | Gdk::DragAction | actions = `Gdk::ACTION_COPY|Gdk::ACTION_MOVE`
| ) |

Turns the TreeViewinto a drop destination for automatic DND.

Parameters:

  | targets | The table of targets that the drag will support.
  | actions | The bitmask of possible actions for a drag from this widget.

void Gtk::TreeView::enable_model_drag_source | ( | Gdk::ModifierType | start_button_mask = `Gdk::MODIFIER_MASK`,
|  | Gdk::DragAction | actions = `Gdk::ACTION_COPY|Gdk::ACTION_MOVE`
| ) |

Turns the TreeView into a drag source for automatic DND.

Parameters:

  | start_button_mask | Mask of allowed buttons to start drag.
  | actions | The bitmask of possible actions for a drag from this widget.

void Gtk::TreeView::enable_model_drag_source | ( | const ArrayHandle_TargetEntry& | targets,
|  | Gdk::ModifierType | start_button_mask = `Gdk::MODIFIER_MASK`,
|  | Gdk::DragAction | actions = `Gdk::ACTION_COPY|Gdk::ACTION_MOVE`
| ) |

Turns the TreeView into a drag source for automatic DND.

Parameters:

  | targets | Standard container of targets that the drag will support.
  | start_button_mask | Mask of allowed buttons to start drag.
  | actions | The bitmask of possible actions for a drag from this widget.

void Gtk::TreeView::expand_all | ( |  | ) |

| Recursively expands all nodes in the tree_view .

bool Gtk::TreeView::expand_row | ( | const TreeModel::Path& | path,
|  | bool | open_all
| ) |

Opens the row so its children are visible.

Parameters:

  | path | Path to a row.
  | open_all | Whether to recursively expand, or just expand immediate children.

Returns:
  `true` if the row existed and had children.

void Gtk::TreeView::expand_to_path | ( | const TreeModel::Path& | path | ) |

Expands the row at path .

This will also expand all parent rows of path as necessary.

Since: 2.2

Parameters:

  | path | Path to a row.

void Gtk::TreeView::get_background_area | ( | const TreeModel::Path& | path,
|  | TreeViewColumn& | column,
|  | Gdk::Rectangle& | rect
| ) |

Fills the bounding rectangle in tree window coordinates for the cell at the row specified by path and the column specified by column .

The returned rectangle is equivalent to the background_area passed to Gtk::CellRenderer::render(). These background areas tile to cover the entire tree window (except for the area used for header buttons). Contrast with the cell_area , returned by get_cell_area(), which returns only the cell itself, excluding surrounding borders and the tree expander area.

Parameters:

  | path | A Gtk::TreePath for the row.
  | column | A Gtk::TreeViewColumn for the column.
  | rect | Rectangle to fill with cell background rect.

Glib::RefPtr<const Gdk::Window> Gtk::TreeView::get_bin_window | ( |  | ) | const

Returns the window that tree_view renders to.

This is used primarily to compare to `event->window` to confirm that the event on tree_view is on the right window.

Returns:
  A Gdk::Window, or `0` when tree_view hasn't been realized yet.

Glib::RefPtr<Gdk::Window> Gtk::TreeView::get_bin_window | ( |  | ) |

Returns the window that tree_view renders to.

This is used primarily to compare to `event->window` to confirm that the event on tree_view is on the right window.

Returns:
  A Gdk::Window, or `0` when tree_view hasn't been realized yet.

void Gtk::TreeView::get_cell_area | ( | const TreeModel::Path& | path,
|  | TreeViewColumn& | column,
|  | Gdk::Rectangle& | rect
| ) |

Fills the bounding rectangle in tree window coordinates for the cell at the row specified by path and the column specified by column .

If path points to a path not currently displayed, the y and height fields of the rectangle will be filled with 0. The sum of all cell rects does not cover the entire tree; there are extra pixels in between rows, for example. The returned rectangle is equivalent to the cell_area passed to Gtk::CellRenderer::render(). This function is only valid if #tree_view is realized.

Parameters:

  | path | A Gtk::TreePath for the row.
  | column | A Gtk::TreeViewColumn for the column.
  | rect | Rectangle to fill with cell rect.

const TreeViewColumn* Gtk::TreeView::get_column | ( | int | n | ) | const

Gets the Gtk::TreeViewColumn at the given position in the #tree_view.

Parameters:

  | n | The position of the column, counting from 0.

Returns:
  The Gtk::TreeViewColumn, or `0` if the position is outside the range of columns.

TreeViewColumn* Gtk::TreeView::get_column | ( | int | n | ) |

Gets the Gtk::TreeViewColumn at the given position in the #tree_view.

Parameters:

  | n | The position of the column, counting from 0.

Returns:
  The Gtk::TreeViewColumn, or `0` if the position is outside the range of columns.

const CellRenderer* Gtk::TreeView::get_column_cell_renderer | ( | int | n | ) | const

Gets the CellRenderer for that column.

You should dynamic_cast<> to the expected derived CellRenderer type. This assumes that the TreeViewColumn contains only one CellRenderer.

Parameters:

  | n | The position of the view column.

Returns:
  The CellRenderer.

CellRenderer* Gtk::TreeView::get_column_cell_renderer | ( | int | n | ) |

Gets the CellRenderer for that column.

You should dynamic_cast<> to the expected derived CellRenderer type. This assumes that the TreeViewColumn contains only one CellRenderer.

Parameters:

  | n | The position of the view column.

Returns:
  The CellRenderer.

Glib::ListHandle<const TreeViewColumn*> Gtk::TreeView::get_columns | ( |  | ) | const

Returns a list of all the Gtk::TreeViewColumn s currently in tree_view .

Returns:
  A list of Gtk::TreeViewColumn s.

Glib::ListHandle<TreeViewColumn*> Gtk::TreeView::get_columns | ( |  | ) |

Returns a list of all the Gtk::TreeViewColumn s currently in tree_view .

Returns:
  A list of Gtk::TreeViewColumn s.

void Gtk::TreeView::get_cursor | ( | TreeModel::Path& | path,
|  | TreeViewColumn*& | focus_column
| ) |

Fills in path and focus_column with the current path and focus column.

Parameters:

  | path | A reference to be filled with the current cursor path
  | focus_column | A reference to be filled with the current focus column

bool Gtk::TreeView::get_dest_row_at_pos | ( | int | drag_x,
|  | int | drag_y,
|  | TreeModel::Path& | path,
|  | TreeViewDropPosition& | pos
| ) | const

Determines the destination row for a given position.

Parameters:

  | drag_x | The x position to determine the destination row for
  | drag_y | The y position to determine the destination row for
  | path | Return location for the path of the highlighted row
  | pos | Return location for the drop position

void Gtk::TreeView::get_drag_dest_row | ( | TreeModel::Path& | path,
|  | TreeViewDropPosition& | pos
| ) | const

Gets information about the row that is highlighted for feedback.

Parameters:

  | path | Return location for the path of the highlighted row
  | pos | Return location for the drop position

bool Gtk::TreeView::get_enable_search | ( |  | ) | const

Returns whether or not the tree allows interactive searching.

Returns:
  Whether or not to let the user search interactively.

const TreeViewColumn* Gtk::TreeView::get_expander_column | ( |  | ) | const

Returns the column that is the current expander column.

This column has the expander arrow drawn next to it.

Returns:
  The expander column.

TreeViewColumn* Gtk::TreeView::get_expander_column | ( |  | ) |

Returns the column that is the current expander column.

This column has the expander arrow drawn next to it.

Returns:
  The expander column.

const Adjustment* Gtk::TreeView::get_hadjustment | ( |  | ) | const

Gets the Gtk::Adjustment currently being used for the horizontal aspect.

Returns:
  A Gtk::Adjustment object, or `0` if none is currently being used.

Adjustment* Gtk::TreeView::get_hadjustment | ( |  | ) |

Gets the Gtk::Adjustment currently being used for the horizontal aspect.

Returns:
  A Gtk::Adjustment object, or `0` if none is currently being used.

bool Gtk::TreeView::get_headers_visible | ( |  | ) | const

Returns `true` if the headers on the tree_view are visible.

Returns:
  Whether the headers are visible or not.

Glib::RefPtr<const TreeModel> Gtk::TreeView::get_model | ( |  | ) | const

Returns the model the the Gtk::TreeView is based on.

Returns `0` if the model is unset.

Returns:
  A Gtk::TreeModel, or `0` if none is currently being used.

Glib::RefPtr<TreeModel> Gtk::TreeView::get_model | ( |  | ) |

Returns the model the the Gtk::TreeView is based on.

Returns `0` if the model is unset.

Returns:
  A Gtk::TreeModel, or `0` if none is currently being used.

bool Gtk::TreeView::get_path_at_pos | ( | int | x,
|  | int | y,
|  | TreeModel::Path& | path,
|  | TreeViewColumn*& | column,
|  | int& | cell_x,
|  | int& | cell_y
| ) |

Finds the path at the point (x, y), relative to widget coordinates.

It is primarily for things like popup menus.

Parameters:

  | x | The x position to be identified
  | y | The y position to be identified
  | path | A reference to a TreeModel::Path to be filled in
  | column | A reference to a TreeViewColumn pointer to be filled in
  | cell_x | A reference where the X coordinate relative to the cell can be placed
  | cell_y | A reference where the Y coordinate relative to the cell can be placed

Returns:
  true if a row exists at that coordinate.

bool Gtk::TreeView::get_reorderable | ( |  | ) | const

Retrieves whether the user can reorder the tree via drag-and-drop.

See set_reorderable().

Returns:
  `true` if the tree can be reordered.

bool Gtk::TreeView::get_rules_hint | ( |  | ) | const

Gets the setting set by set_rules_hint().

Returns:
  `true` if rules are useful for the user of this tree.

int Gtk::TreeView::get_search_column | ( |  | ) | const

Gets the column searched on by the interactive search code.

Returns:
  The column the interactive search code searches in.

Glib::RefPtr<const TreeSelection> Gtk::TreeView::get_selection | ( |  | ) | const

Gets the Gtk::TreeSelection associated with tree_view .

Returns:
  A Gtk::TreeSelection object.

Glib::RefPtr<TreeSelection> Gtk::TreeView::get_selection | ( |  | ) |

Gets the Gtk::TreeSelection associated with tree_view .

Returns:
  A Gtk::TreeSelection object.

const Adjustment* Gtk::TreeView::get_vadjustment | ( |  | ) | const

Gets the Gtk::Adjustment currently being used for the vertical aspect.

Returns:
  A Gtk::Adjustment object, or `0` if none is currently being used.

Adjustment* Gtk::TreeView::get_vadjustment | ( |  | ) |

Gets the Gtk::Adjustment currently being used for the vertical aspect.

Returns:
  A Gtk::Adjustment object, or `0` if none is currently being used.

void Gtk::TreeView::get_visible_rect | ( | Gdk::Rectangle& | visible_rect | ) |

Fills visible_rect with the currently-visible region of the buffer, in tree coordinates.

Convert to widget coordinates with tree_to_widget_coords(). Tree coordinates start at 0,0 for row 0 of the tree, and cover the entire scrollable area of the tree.

Parameters:

  | visible_rect | Rectangle to fill.

const GtkTreeView* Gtk::TreeView::gobj | ( |  | ) | const`[inline]`

| Provides access to the underlying C GtkObject. Reimplemented from Gtk::Container.

GtkTreeView* Gtk::TreeView::gobj | ( |  | ) | `[inline]`

| Provides access to the underlying C GtkObject. Reimplemented from Gtk::Container.

template <class ColumnType>
int Gtk::TreeView::insert_column | ( | const Glib::ustring& | title,
|  | const TreeModelColumn<ColumnType>& | model_column,
|  | int | position
| ) | `[inline]`

Inserts a View column with the appropriate CellRenderer for the Model column.

Parameters:

  | title | The text to be used in the title header of this column.
  | model_column | The column in the TreeModel that will be rendered by this View column.
  | position | The position at which the CellRenderer should be inserted.

Returns:
  The number of columns in the View after inserting.

int Gtk::TreeView::insert_column | ( | const Glib::ustring& | title,
|  | CellRenderer& | cell,
|  | int | position
| ) |

Creates a View column containing the CellRenderer, and inserts it.

Parameters:

  | title | The text to be used in the title header of this column.
  | cell | The CellRenderer.
  | position | The position at which the CellRenderer should be inserted.

Returns:
  The number of columns in the View after inserting.

int Gtk::TreeView::insert_column | ( | TreeViewColumn& | column,
|  | int | position
| ) |

This inserts the column into the tree_view at position .

If position is -1, then the column is inserted at the end. If tree_view has "fixed_height" mode enabled, then column must have its "sizing" property set to be GTK_TREE_VIEW_COLUMN_FIXED.

Parameters:

  | column | The Gtk::TreeViewColumn to be inserted.
  | position | The position to insert column in.

Returns:
  The number of columns in tree_view after insertion.

template <class ColumnType>
int Gtk::TreeView::insert_column_editable | ( | const Glib::ustring& | title,
|  | const TreeModelColumn<ColumnType>& | model_column,
|  | int | position
| ) | `[inline]`

Inserts a View column with the appropriate CellRenderer for the Model column.

The compiler will attempt to instantiate appropriate template code to automatically store user changes in the model. To intercept the user's change and implement non-default logic, or if the compiler can't instantiate appropriate code for your model type, you should use append_column() and connect a signal handler to the CellRenderer.

Parameters:

  | title | The text to be used in the title header of this column.
  | model_column | The column in the TreeModel that will be rendered by this View column.
  | position | The position at which the CellRenderer should be inserted.

Returns:
  The number of columns in the View after inserting.

int Gtk::TreeView::insert_column_with_data_func | ( | int | position,
|  | const Glib::ustring& | title,
|  | CellRenderer& | cell,
|  | const SlotCellData& | slot
| ) |

Inserts a new column into the TreeView with the given cell renderer and a SlotCellData to set cell renderer attributes (normally using data from the model).

Parameters:

  | position | Position to insert, -1 for append
  | title | column title
  | cell | cell renderer for column
  | slot | function to set attributes of cell renderer

Returns:
  number of columns in the TreeView after the insert

void Gtk::TreeView::map_expanded_rows | ( | const SlotMapping& | slot | ) |

Calls the callback slot on all expanded rows.

Parameters:

  | slot | A callback function to be called.

void Gtk::TreeView::move_column_after | ( | TreeViewColumn& | column,
|  | TreeViewColumn& | base_column
| ) |

Moves column to be after to base_column .

See also move_column_to_start().

Parameters:

  | column | The Gtk::TreeViewColumn to be moved.
  | base_column | The Gtk::TreeViewColumn to be moved relative to.

void Gtk::TreeView::move_column_to_start | ( | TreeViewColumn& | column | ) |

This method moves column to the first position in the view.

Parameters:

  | column | The view column that will be moved

virtual void Gtk::TreeView::on_columns_changed | ( |  | ) | `[protected, virtual]`

virtual void Gtk::TreeView::on_cursor_changed | ( |  | ) | `[protected, virtual]`

virtual void Gtk::TreeView::on_row_activated | ( | const TreeModel::Path& | path,
|  | TreeViewColumn* | column
| ) | `[protected, virtual]`

virtual void Gtk::TreeView::on_row_collapsed | ( | const TreeModel::iterator& | iter,
|  | const TreeModel::Path& | path
| ) | `[protected, virtual]`

virtual void Gtk::TreeView::on_row_expanded | ( | const TreeModel::iterator& | iter,
|  | const TreeModel::Path& | path
| ) | `[protected, virtual]`

virtual void Gtk::TreeView::on_set_scroll_adjustments | ( | Adjustment* | hadjustment,
|  | Adjustment* | vadjustment
| ) | `[protected, virtual]`

virtual bool Gtk::TreeView::on_test_collapse_row | ( | const TreeModel::iterator& | iter,
|  | const TreeModel::Path& | path
| ) | `[protected, virtual]`

virtual bool Gtk::TreeView::on_test_expand_row | ( | const TreeModel::iterator& | iter,
|  | const TreeModel::Path& | path
| ) | `[protected, virtual]`

Glib::PropertyProxy_ReadOnly<bool> Gtk::TreeView::property_enable_search | ( |  | ) | const

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
  A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

Glib::PropertyProxy<bool> Gtk::TreeView::property_enable_search | ( |  | ) |

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
  A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

Glib::PropertyProxy_ReadOnly<TreeViewColumn*> Gtk::TreeView::property_expander_column | ( |  | ) | const

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
  A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

Glib::PropertyProxy<TreeViewColumn*> Gtk::TreeView::property_expander_column | ( |  | ) |

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
  A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

Glib::PropertyProxy_ReadOnly<bool> Gtk::TreeView::property_fixed_height_mode | ( |  | ) | const

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
  A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

Glib::PropertyProxy<bool> Gtk::TreeView::property_fixed_height_mode | ( |  | ) |

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
  A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

Glib::PropertyProxy_ReadOnly<Adjustment*> Gtk::TreeView::property_hadjustment | ( |  | ) | const

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
  A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

Glib::PropertyProxy<Adjustment*> Gtk::TreeView::property_hadjustment | ( |  | ) |

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
  A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

Glib::PropertyProxy_ReadOnly<bool> Gtk::TreeView::property_headers_clickable | ( |  | ) | const

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
  A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

Glib::PropertyProxy_WriteOnly<bool> Gtk::TreeView::property_headers_clickable | ( |  | ) |

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
  A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

Glib::PropertyProxy_ReadOnly<bool> Gtk::TreeView::property_headers_visible | ( |  | ) | const

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
  A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

Glib::PropertyProxy<bool> Gtk::TreeView::property_headers_visible | ( |  | ) |

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
  A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

Glib::PropertyProxy_ReadOnly<Glib::RefPtr<TreeModel>> Gtk::TreeView::property_model | ( |  | ) | const

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
  A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

Glib::PropertyProxy<Glib::RefPtr<TreeModel>> Gtk::TreeView::property_model | ( |  | ) |

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
  A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

Glib::PropertyProxy_ReadOnly<bool> Gtk::TreeView::property_reorderable | ( |  | ) | const

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
  A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

Glib::PropertyProxy<bool> Gtk::TreeView::property_reorderable | ( |  | ) |

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
  A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

Glib::PropertyProxy_ReadOnly<bool> Gtk::TreeView::property_rules_hint | ( |  | ) | const

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
  A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

Glib::PropertyProxy<bool> Gtk::TreeView::property_rules_hint | ( |  | ) |

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
  A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

Glib::PropertyProxy_ReadOnly<int> Gtk::TreeView::property_search_column | ( |  | ) | const

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
  A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

Glib::PropertyProxy<int> Gtk::TreeView::property_search_column | ( |  | ) |

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
  A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

Glib::PropertyProxy_ReadOnly<Adjustment*> Gtk::TreeView::property_vadjustment | ( |  | ) | const

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
  A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

Glib::PropertyProxy<Adjustment*> Gtk::TreeView::property_vadjustment | ( |  | ) |

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
  A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

void Gtk::TreeView::remove_all_columns | ( |  | ) |

| Removes all View columns.

int Gtk::TreeView::remove_column | ( | TreeViewColumn& | column | ) |

Removes column from tree_view .

Parameters:

  | column | The Gtk::TreeViewColumn to remove.

Returns:
  The number of columns in tree_view after removing.

void Gtk::TreeView::reset_expander_column | ( |  | ) |

This method resets the expander arrow to the default - the first visible column.

See also:
  set_expander_column().

void Gtk::TreeView::row_activated | ( | const TreeModel::Path& | path,
|  | TreeViewColumn& | column
| ) |

Activates the cell determined by path and column .

Parameters:

  | path | The Gtk::TreePath to be activated.
  | column | The Gtk::TreeViewColumn to be activated.

bool Gtk::TreeView::row_expanded | ( | const TreeModel::Path& | path | ) |

Returns `true` if the node pointed to by path is expanded in tree_view .

Parameters:

  | path | A Gtk::TreePath to test expansion state.

Returns:
  `true` if path is expanded.

void Gtk::TreeView::scroll_to_cell | ( | const TreeModel::Path& | path,
|  | TreeViewColumn& | column
| ) |

Moves the alignments of tree view to the position specified by column and path.

The tree does the minimum amount of work to scroll the cell onto the screen. This means that the cell will be scrolled to the edge closest to it's current position. If the cell is currently visible on the screen, nothing is done.

This function only works if the model is set, and path is a valid row on the model. If the model changes before the tree_view is realized, the centered path will be modified to reflect this change.

Parameters:

  | path | The path of the row to move to.
  | column | The Gtk::TreeViewColumn to move horizontally to.

void Gtk::TreeView::scroll_to_cell | ( | const TreeModel::Path& | path,
|  | TreeViewColumn& | column,
|  | float | row_align,
|  | float | col_align
| ) |

Moves the alignments of tree view to the position specified by column and path.

row_align determines where the row is placed, and col_align determines where column is placed. Both are expected to be between 0.0 and 1.0. 0.0 means left/top alignment, 1.0 means right/bottom alignment, 0.5 means center.

This function only works if the model is set, and path is a valid row on the model. If the model changes before the tree view is realized, the centered path will be modified to reflect this change.

Parameters:

  | path | The path of the row to move to.
  | column | The Gtk::TreeViewColumn to move horizontally to.
  | row_align | The vertical alignment of the row specified by path.
  | col_align | The horizontal alignment of the column specified by column.

void Gtk::TreeView::scroll_to_column | ( | TreeViewColumn& | column | ) |

Moves the alignments of tree view to the position specified by column.

The tree does the minimum amount of work to scroll the column onto the screen. This means that the column will be scrolled to the edge closest to it's current position. If the column is currently visible on the screen, nothing is done.

This function only works if the model is set. If the model changes before the tree view is realized, the centered path will be modified to reflect this change.

Parameters:

  | column | The Gtk::TreeViewColumn to move horizontally to.

void Gtk::TreeView::scroll_to_column | ( | TreeViewColumn& | column,
|  | float | col_align
| ) |

Moves the alignments of tree view to the position specified by column.

col_align determines where the column is placed, and is expected to be between 0.0 and 1.0. 0.0 means left alignment, 1.0 means right alignment, 0.5 means center.

This function only works if the model is set. If the model changes before the tree view is realized, the centered path will be modified to reflect this change.

Parameters:

  | column | The Gtk::TreeViewColumn to move horizontally to.
  | col_align | The horizontal alignment of the column specified by column.

void Gtk::TreeView::scroll_to_point | ( | int | tree_x,
|  | int | tree_y
| ) |

Scrolls the tree view such that the top-left corner of the visible area is tree_x , tree_y , where tree_x and tree_y are specified in tree window coordinates.

The tree_view must be realized before this function is called. If it isn't, you probably want to be using scroll_to_cell().

If either tree_x or tree_y are -1, then that direction isn't scrolled.

Parameters:

  | tree_x | X coordinate of new top-left pixel of visible area, or -1.
  | tree_y | Y coordinate of new top-left pixel of visible area, or -1.

void Gtk::TreeView::scroll_to_row | ( | const TreeModel::Path& | path | ) |

Moves the alignments of tree view to the position specified by path.

The tree does the minimum amount of work to scroll the row onto the screen. This means that the row will be scrolled to the edge closest to it's current position. If the row is currently visible on the screen, nothing is done.

This function only works if the model is set, and path is a valid row on the model. If the model changes before the tree view is realized, the centered path will be modified to reflect this change.

Parameters:

  | path | The path of the row to move to.

void Gtk::TreeView::scroll_to_row | ( | const TreeModel::Path& | path,
|  | float | row_align
| ) |

Moves the alignments of tree view to the position specified by path.

row_align determines where the row is placed, and is expected to be between 0.0 and 1.0. 0.0 means top alignment, 1.0 means bottom alignment, 0.5 means center.

This function only works if the model is set, and path is a valid row on the model. If the model changes before the tree view is realized, the centered path will be modified to reflect this change.

Parameters:

  | path | The path of the row to move to.
  | row_align | The vertical alignment of the row specified by path.

void Gtk::TreeView::set_column_drag_function | ( | const SlotColumnDrop& | slot | ) |

Sets a callback slot for determining where a column may be dropped when dragged.

This function is called on every column pair in turn at the beginning of a column drag to determine where a drop can take place. The arguments passed to the function are: the tree_view, the view Column being dragged, and the two view Columns determining the drop spot. If either of the view Column arguments for the drop spot are 0, then they indicate an edge.

See unset_column_drag_function().

Parameters:

  | slot | A callback function to determine which columns are reorderable.

void Gtk::TreeView::set_cursor | ( | const TreeModel::Path& | path | ) |

Sets the current keyboard focus to be at path , and selects it.

This is useful when you want to focus the user's attention on a particular row. This function is often followed by Gtk::widget::grab_focus(tree_view) in order to give keyboard focus to the widget.

Parameters:

  | path | A reference to cursor path.

void Gtk::TreeView::set_cursor | ( | const TreeModel::Path& | path,
|  | TreeViewColumn& | focus_column,
|  | CellRenderer& | focus_cell,
|  | bool | start_editing = `false`
| ) |

Sets the current keyboard focus to be at path , and selects it.

This is useful when you want to focus the user's attention on a particular row. If focus_column is not `0`, then focus is given to the column specified by it. If focus_column and focus_cell are not `0`, and focus_column contains 2 or more editable or activatable cells, then focus is given to the cell specified by focus_cell . Additionally, if focus_column is specified, and start_editing is `true`, then editing should be started in the specified cell. This function is often followed by gtk_widget_grab_focus ( tree_view ) in order to give keyboard focus to the widget. Please note that editing can only happen when the widget is realized.

Since: 2.2

Parameters:

  | path | A Gtk::TreePath.
  | focus_column | A Gtk::TreeViewColumn, or `0`.
  | focus_cell | A Gtk::CellRenderer, or `0`.
  | start_editing | `true` if the specified cell should start being edited.

void Gtk::TreeView::set_cursor | ( | const TreeModel::Path& | path,
|  | TreeViewColumn& | focus_column,
|  | bool | start_editing = `false`
| ) |

Sets the current keyboard focus to be at path , and selects it.

This is useful when you want to focus the user's attention on a particular row. Focus is given to the column specified. Additionally, if start_editing is `true`, then editing should be started in the specified cell. This function is often followed by Gtk::Widget::grab_focus( tree_view ) in order to give keyboard focus to the widget. Please note that editing can only happen when the widget is realized.

Parameters:

  | path | A Gtk::TreePath.
  | focus_column | A Gtk::TreeViewColumn.
  | start_editing | `true` if the specified cell should start being edited.

void Gtk::TreeView::set_drag_dest_row | ( | const TreeModel::Path& | path,
|  | TreeViewDropPosition | pos
| ) |

Sets the row that is highlighted for feedback.

Parameters:

  | path | The path of the row to highlight, or `0`.
  | pos | Specifies whether to drop before, after or into the row.

void Gtk::TreeView::set_enable_search | ( | bool | enable_search = `true` | ) |

If enable_search is set, then the user can type in text to search through the tree interactively.

Parameters:

  | enable_search | `true`, if the user can search interactively.

void Gtk::TreeView::set_expander_column | ( | TreeViewColumn& | column | ) |

Sets the column to draw the expander arrow at.

It must be in the TreeView. See also reset_expander_column().

Parameters:

  | column | The column to draw the expander arrow at.

void Gtk::TreeView::set_hadjustment | ( | Adjustment& | adjustment | ) |

Sets the Gtk::Adjustment for the current horizontal aspect.

See also unset_hadjustment().

Parameters:

  | adjustment | The Gtk::Adjustment to set.

void Gtk::TreeView::set_headers_clickable | ( | bool | setting = `true` | ) |

Allow the column title buttons to be clicked.

Parameters:

  | setting | `true` if the columns are clickable.

void Gtk::TreeView::set_headers_visible | ( | bool | headers_visible | ) |

Sets the the visibility state of the headers.

Parameters:

  | headers_visible | `true` if the headers are visible.

void Gtk::TreeView::set_model | ( | const Glib::RefPtr<TreeModel>& | model | ) |

Sets the model for a Gtk::TreeView.

If the tree_view already has a model set, it will remove it before setting the new model. If model is `0`, then it will unset the old model.

Parameters:

  | model | The model.

void Gtk::TreeView::set_reorderable | ( | bool | reorderable = `true` | ) |

This function is a convenience function to allow you to reorder models that support the Gtk::DragSourceIface and the Gtk::DragDestIface.

Both Gtk::TreeStore and Gtk::ListStore support these. If reorderable is `true`, then the user can reorder the model by dragging and dropping rows. The developer can listen to these changes by connecting to the model's row_inserted and row_deleted signals.

This function does not give you any degree of control over the order -- any reordering is allowed. If more control is needed, you should probably handle drag and drop manually.

Parameters:

  | reorderable | `true`, if the tree can be reordered.

void Gtk::TreeView::set_rules_hint | ( | bool | setting = `true` | ) |

This function tells GTK+ that the user interface for your application requires users to read across tree rows and associate cells with one another.

By default, GTK+ will then render the tree with alternating row colors. Do not use it just because you prefer the appearance of the ruled tree; that's a question for the theme. Some themes will draw tree rows in alternating colors even when rules are turned off, and users who prefer that appearance all the time can choose those themes. You should call this function only as a semantic hint to the theme engine that your tree makes alternating colors useful from a functional standpoint (since it has lots of columns, generally).

Parameters:

  | setting | `true` if the tree requires reading across rows.

void Gtk::TreeView::set_search_column | ( | int | column | ) |

Sets column as the column where the interactive search code should search in.

Additionally, turns on interactive searching. Note that column refers to a column of the model.

Parameters:

  | column | The column of the model to search in.

void Gtk::TreeView::set_search_column | ( | const TreeModelColumnBase& | column | ) |

Sets column as the column where the interactive search code should search in.

Additionally, turns on interactive searching. Note that column refers to a column of the model.

Parameters:

  | column | The column of the model to search in.

void Gtk::TreeView::set_search_equal_func | ( | const SlotSearchEqual& | slot | ) |

Sets the compare function for the interactive search capabilities.

Parameters:

  | slot | The compare function to use during the search

void Gtk::TreeView::set_vadjustment | ( | Adjustment& | adjustment | ) |

Sets the Gtk::Adjustment for the current vertical aspect.

See also unset_vadjustment().

Parameters:

  | adjustment | The Gtk::Adjustment to set.

Glib::SignalProxy0<void> Gtk::TreeView::signal_columns_changed | ( |  | ) |

Glib::SignalProxy0<void> Gtk::TreeView::signal_cursor_changed | ( |  | ) |

Glib::SignalProxy2<void,const TreeModel::Path&,TreeViewColumn*> Gtk::TreeView::signal_row_activated | ( |  | ) |

Glib::SignalProxy2<void,const TreeModel::iterator&,const TreeModel::Path&> Gtk::TreeView::signal_row_collapsed | ( |  | ) |

Glib::SignalProxy2<void,const TreeModel::iterator&,const TreeModel::Path&> Gtk::TreeView::signal_row_expanded | ( |  | ) |

Glib::SignalProxy2<void,Adjustment*,Adjustment*> Gtk::TreeView::signal_set_scroll_adjustments | ( |  | ) |

Glib::SignalProxy2<bool,const TreeModel::iterator&,const TreeModel::Path&> Gtk::TreeView::signal_test_collapse_row | ( |  | ) |

Glib::SignalProxy2<bool,const TreeModel::iterator&,const TreeModel::Path&> Gtk::TreeView::signal_test_expand_row | ( |  | ) |

void Gtk::TreeView::tree_to_widget_coords | ( | int | tx,
|  | int | ty,
|  | int& | wx,
|  | int& | wy
| ) |

Converts tree coordinates (coordinates in full scrollable area of the tree) to widget coordinates.

Parameters:

  | tx | Tree X coordinate.
  | ty | Tree Y coordinate.
  | wx | Return location for widget X coordinate.
  | wy | Return location for widget Y coordinate.

void Gtk::TreeView::unset_column_drag_function | ( |  | ) |

| See set_column_drag_function(). After this method has been called, the TreeView reverts to the default behavior of allowing all columns to be dropped everywhere.

void Gtk::TreeView::unset_hadjustment | ( |  | ) |

This method removes the hadjustment.

See also:
  set_hadjustment().

void Gtk::TreeView::unset_rows_drag_dest | ( |  | ) |

| Undoes the effect of enable_model_drag_dest().

void Gtk::TreeView::unset_rows_drag_source | ( |  | ) |

| Undoes the effect of enable_model_drag_source().

void Gtk::TreeView::unset_vadjustment | ( |  | ) |

This method removes the vadjustment.

See also:
  set_vadjustment().

void Gtk::TreeView::widget_to_tree_coords | ( | int | wx,
|  | int | wy,
|  | int& | tx,
|  | int& | ty
| ) |

Converts widget coordinates to coordinates for the tree window (the full scrollable area of the tree).

Parameters:

  | wx | Widget X coordinate.
  | wy | Widget Y coordinate.
  | tx | Return location for tree X coordinate.
  | ty | Return location for tree Y coordinate.

## Friends And Related Function Documentation

Gtk::TreeView* wrap | ( | GtkTreeView* | object,
|  | bool | take_copy = `false`
| ) | `[related]`

Parameters:

  | object | The C instance
  | take_copy | False if the result should take ownership of the C instance. True if it should take a new copy or ref.

Returns:
  A C++ instance that wraps this C instance.

The documentation for this class was generated from the following file:

- treeview.h