gtkmm: Gtk::TreeView Class Reference

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

Inheritance diagram for Gtk::TreeView:

List of all members.

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)

typedef sigc::slot< void,

Gtk::Widget* > 
SlotSearchPosition
 void on_search_position(Gtk::Widget* search_dialog)

typedef sigc::slot< bool,

const Glib::RefPtr< TreeModel >

&, const TreeModel::iterator& > 
SlotRowSeparator
 The slot type for determining whether the row pointed to by the iterator should be rendered as a separator.

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< TreeModelget_model ()
 Returns the model the Gtk::TreeView is based on.

Glib::RefPtr< const TreeModelget_model () const
 Returns the model the Gtk::TreeView is based on.

void set_model (const Glib::RefPtr< TreeModel >& model)
 Sets the model for a Gtk::TreeView.

void unset_model ()
 Remove the model from the TreeView.

Glib::RefPtr< TreeSelectionget_selection ()
 Gets the Gtk::TreeSelection associated with tree_view.

Glib::RefPtr< const TreeSelectionget_selection () const
 Gets the Gtk::TreeSelection associated with tree_view.

bool get_headers_visible () const
 Returns true if the headers on the tree_view are visible.

void set_headers_visible (bool headers_visible=true)
 Sets the visibility state of the headers.

void columns_autosize ()
 Resizes all columns to their optimal width.

bool get_headers_clickable () const
 Returns whether all header columns are clickable.

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_numeric (const Glib::ustring& title, const TreeModelColumn< ColumnType >& model_column, const Glib::ustring& format)
 Like append_column(), but only for numeric types, which will be displayed in the specified format.

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.

template<class ColumnType >
int append_column_numeric_editable (const Glib::ustring& title, const TreeModelColumn< ColumnType >& model_column, const Glib::ustring& format)
 Like append_column_editable(), but only for numeric types, which will be displayed in the specified format.

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).

TreeViewColumnget_column (int n)
 Gets the Gtk::TreeViewColumn at the given position in the #tree_view.

const TreeViewColumnget_column (int n) const
 Gets the Gtk::TreeViewColumn at the given position in the #tree_view.

CellRendererget_column_cell_renderer (int n)
 Gets the CellRenderer for that column.

const CellRendererget_column_cell_renderer (int n) const
 Gets the CellRenderer for that column.

std::vector< TreeViewColumn* > get_columns ()
 Returns a list of all the Gtk::TreeViewColumn s currently in tree_view.

std::vector< 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.

TreeViewColumnget_expander_column ()
 Returns the column that is the current expander column.

const TreeViewColumnget_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 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::Windowget_bin_window ()
 Returns the window that tree_view renders to.

Glib::RefPtr< const Gdk::Windowget_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) const
 Finds the path at the point (x, y), relative to bin_window coordinates (please get_bin_window()).

bool get_path_at_pos (int x, int y, TreeModel::Path& path) const
 Finds the path at the point (x, y), relative to bin_window coordinates (please get_bin_window()).

void get_cell_area (const TreeModel::Path& path, TreeViewColumn& column, Gdk::Rectangle& rect) const
 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) const
 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) const
 Fills visible_rect with the currently-visible region of the buffer, in tree coordinates.

bool get_visible_range (TreeModel::Path& start_path, TreeModel::Path& end_path) const
bool is_blank_at_pos (int x, int y, TreePath& path, TreeViewColumn*& column, int& cell_x, int& cell_y) const
bool is_blank_at_pos (int x, int y) const
void enable_model_drag_source (const std::vector< 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 std::vector< TargetEntry >& targets, Gdk::DragAction actions=Gdk::ACTION_COPY|Gdk::ACTION_MOVE)
 Turns the TreeView into 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_source()

void set_drag_dest_row (const TreeModel::Path& path, TreeViewDropPosition pos)
 Sets the row that is highlighted for feedback.

void unset_drag_dest_row ()
 Remove an existing highlight.

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.

Cairo::RefPtr< Cairo::Surfacecreate_row_drag_icon (const TreeModel::Path& path) const
 Creates a #cairo_surface_t 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 (this is sometimes called "typeahead find").

bool get_enable_search () const
 Returns whether or not the tree allows to start interactive searching by typing in text.

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 for the current model.

void set_search_column (int column)
 Sets column as the column where the interactive search code should search in for the current model.

void set_search_equal_func (const SlotSearchEqual& slot)
 Sets the compare function for the interactive search capabilities.

Entryget_search_entry ()
 Returns the Gtk::Entry which is currently in use as interactive search entry for tree_view.

const Entryget_search_entry () const
 Returns the Gtk::Entry which is currently in use as interactive search entry for tree_view.

void set_search_entry (Entry& entry)
 Sets the entry which the interactive search code will use for this tree_view.

void set_search_position_func (const SlotSearchPosition& slot)
void convert_widget_to_tree_coords (int wx, int wy, int& tx, int& ty) const
 Converts widget coordinates to coordinates for the tree (the full scrollable area of the tree).

void convert_tree_to_widget_coords (int tx, int ty, int& wx, int& wy) const
 Converts tree coordinates (coordinates in full scrollable area of the tree) to widget coordinates.

void convert_widget_to_bin_window_coords (int wx, int wy, int& bx, int& by) const
 Converts widget coordinates to coordinates for the bin_window (see get_bin_window()).

void convert_bin_window_to_widget_coords (int bx, int by, int& wx, int& wy) const
 Converts bin_window coordinates (see get_bin_window()) to widget relative coordinates.

void convert_tree_to_bin_window_coords (int tx, int ty, int& bx, int& by) const
 Converts tree coordinates (coordinates in full scrollable area of the tree) to bin_window coordinates.

void convert_bin_window_to_tree_coords (int bx, int by, int& tx, int& ty) const
 Converts bin_window coordinates to coordinates for the tree (the full scrollable area of the tree).

void set_fixed_height_mode (bool enable=true)
 Enables or disables the fixed height mode of tree_view.

bool get_fixed_height_mode () const
 Returns whether fixed height mode is turned on for tree_view.

void set_hover_selection (bool hover=true)
 Enables of disables the hover selection mode of tree_view.

bool get_hover_selection () const
 Returns whether hover selection mode is turned on for tree_view.

void set_hover_expand (bool expand=true)
 Enables of disables the hover expansion mode of tree_view.

bool get_hover_expand () const
 Returns whether hover expansion mode is turned on for tree_view.

void set_rubber_banding (bool enable=true)
 Enables or disables rubber banding in tree_view.

bool get_rubber_banding () const
 Returns whether rubber banding is turned on for tree_view.

bool is_rubber_banding_active () const
 Returns whether a rubber banding operation is currently being done in tree_view.

void set_row_separator_func (const SlotRowSeparator& slot)
 Sets the row separator function, which is used to determine whether a row should be drawn as a separator.

void unset_row_separator_func ()
 Removes the row separator function, so no separators are drawn.

void set_grid_lines (TreeViewGridLines grid_lines)
 Sets which grid lines to draw in tree_view.

TreeViewGridLines get_grid_lines () const
 Returns which grid lines are enabled in tree_view.

void set_enable_tree_lines (bool enable=true)
 Sets whether to draw lines interconnecting the expanders in tree_view.

bool get_enable_tree_lines () const
 Returns whether or not tree lines are drawn in tree_view.

void set_show_expanders (bool enabled=true)
 Sets whether to draw and enable expanders and indent child rows in tree_view.

bool get_show_expanders () const
 Returns whether or not expanders are drawn in tree_view.

void set_level_indentation (int indentation)
 Sets the amount of extra indentation for child levels to use in tree_view in addition to the default indentation.

int get_level_indentation () const
 Returns the amount, in pixels, of extra indentation for child levels in tree_view.

void set_tooltip_row (const Glib::RefPtr< Tooltip >& tooltip, const TreePath& path)
 Sets the tip area of tooltip to be the area covered by the row at path.

void set_tooltip_cell (const Glib::RefPtr< Tooltip >& tooltip, const TreeModel::Path* path, TreeViewColumn* column, CellRenderer* cell)
 Sets the tip area of tooltip to the area path, column and cell have in common.

bool get_tooltip_context_path (int& x, int& y, bool keyboard_tip, TreeModel::Path& path)
bool get_tooltip_context_iter (int& x, int& y, bool keyboard_tip, Gtk::TreeModel::iterator& iter)
void set_tooltip_column (int column)
 If you only plan to have simple (text-only) tooltips on full rows, you can use this function to have Gtk::TreeView handle these automatically for you.

int get_tooltip_column () const
 Returns the column of tree_view's model which is being used for displaying tooltips on tree_view's rows.

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 ()
 The model for the tree view.

Glib::PropertyProxy_ReadOnly

< Glib::RefPtr< TreeModel > > 
property_model () const
 The model for the tree view.

Glib::PropertyProxy< bool > property_headers_visible ()
 Show the column header buttons.

Glib::PropertyProxy_ReadOnly

< bool > 
property_headers_visible () const
 Show the column header buttons.

Glib::PropertyProxy< bool > property_headers_clickable ()
 Column headers respond to click events.

Glib::PropertyProxy_ReadOnly

< bool > 
property_headers_clickable () const
 Column headers respond to click events.

Glib::PropertyProxy

< TreeViewColumn* > 
property_expander_column ()
 Set the column for the expander column.

Glib::PropertyProxy_ReadOnly

< TreeViewColumn* > 
property_expander_column () const
 Set the column for the expander column.

Glib::PropertyProxy< bool > property_reorderable ()
 View is reorderable.

Glib::PropertyProxy_ReadOnly

< bool > 
property_reorderable () const
 View is reorderable.

Glib::PropertyProxy< bool > property_rules_hint ()
 Set a hint to the theme engine to draw rows in alternating colors.

Glib::PropertyProxy_ReadOnly

< bool > 
property_rules_hint () const
 Set a hint to the theme engine to draw rows in alternating colors.

Glib::PropertyProxy< bool > property_enable_search ()
 View allows user to search through columns interactively.

Glib::PropertyProxy_ReadOnly

< bool > 
property_enable_search () const
 View allows user to search through columns interactively.

Glib::PropertyProxy< int > property_search_column ()
 Model column to search through during interactive search.

Glib::PropertyProxy_ReadOnly< int > property_search_column () const
 Model column to search through during interactive search.

Glib::PropertyProxy< bool > property_fixed_height_mode ()
 Speeds up GtkTreeView by assuming that all rows have the same height.

Glib::PropertyProxy_ReadOnly

< bool > 
property_fixed_height_mode () const
 Speeds up GtkTreeView by assuming that all rows have the same height.

Glib::PropertyProxy< bool > property_hover_selection ()
 Whether the selection should follow the pointer.

Glib::PropertyProxy_ReadOnly

< bool > 
property_hover_selection () const
 Whether the selection should follow the pointer.

Glib::PropertyProxy< bool > property_hover_expand ()
 Whether rows should be expanded/collapsed when the pointer moves over them.

Glib::PropertyProxy_ReadOnly

< bool > 
property_hover_expand () const
 Whether rows should be expanded/collapsed when the pointer moves over them.

Glib::PropertyProxy< bool > property_show_expanders ()
 View has expanders.

Glib::PropertyProxy_ReadOnly

< bool > 
property_show_expanders () const
 View has expanders.

Glib::PropertyProxy< bool > property_level_indentation ()
 Extra indentation for each level.

Glib::PropertyProxy_ReadOnly

< bool > 
property_level_indentation () const
 Extra indentation for each level.

Glib::PropertyProxy< bool > property_rubber_banding ()
 Whether to enable selection of multiple items by dragging the mouse pointer.

Glib::PropertyProxy_ReadOnly

< bool > 
property_rubber_banding () const
 Whether to enable selection of multiple items by dragging the mouse pointer.

Glib::PropertyProxy< bool > property_enable_grid_lines ()
 Whether grid lines should be drawn in the tree view.

Glib::PropertyProxy_ReadOnly

< bool > 
property_enable_grid_lines () const
 Whether grid lines should be drawn in the tree view.

Glib::PropertyProxy< bool > property_enable_tree_lines ()
 Whether tree lines should be drawn in the tree view.

Glib::PropertyProxy_ReadOnly

< bool > 
property_enable_tree_lines () const
 Whether tree lines should be drawn in the tree view.

Glib::PropertyProxy< int > property_tooltip_column ()
 The column in the model containing the tooltip texts for the rows.

Glib::PropertyProxy_ReadOnly< int > property_tooltip_column () const
 The column in the model containing the tooltip texts for the rows.

Protected Member Functions

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::TreeViewwrap (GtkTreeView* object, bool take_copy=false)
 A Glib::wrap() method for this object.


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(), append_column_numeric(), append_column_numeric_editable(), insert_column(), or insert_column_editable().

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


Member Typedef Documentation

A visible column in a Gtk::TreeView widget.

A selection object for Gtk::TreeView.

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.

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

The slot type for determining whether the row pointed to by the iterator should be rendered as a separator.

Return true if the row is a separator. A common way to implement this is to have a boolean column in the model, whose values the slot returns.

For instance, bool on_row_separator(const Glib::RefPtr<Gtk::TreeModel>& model, const Gtk::TreeModel::iterator& iter);

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

void on_search_position(Gtk::Widget* search_dialog)


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 ( TreeViewColumn column)

Appends column to the list of columns.

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

Parameters:
columnThe Gtk::TreeViewColumn to add.
Returns:
The number of columns in tree_view after appending.
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, double, bool, and Gdk::Pixbuf. If the type is not supported then the following warning will be shown: GLib-GObject-WARNING**: unable to set property `text' of type `gchararray' from value of type `glibmm__CustomBoxed_t'.

If the default formatting is not sufficient, or the numeric type is not supported, then you could use append_column_numeric(). Or you could create the TreeView::Column and/or CellRenderer manually and use TreeViewColumn::set_cell_data_func() to provide a callback that converts the model value into a string representation with .

Parameters:
titleThe text to be used in the title header of this column.
model_columnThe 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 ( const Glib::ustring title,
CellRenderer cell 
)

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

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 could use append_column() and connect a signal handler to the CellRenderer.

See also:
append_column_numeric_editable().
Parameters:
titleThe text to be used in the title header of this column.
model_columnThe column in the TreeModel that will be rendered by this View column.
Returns:
The number of columns in the View after appending.
template <class ColumnType >
int Gtk::TreeView::append_column_numeric ( const Glib::ustring title,
const TreeModelColumn< ColumnType >&  model_column,
const Glib::ustring format 
) [inline]

Like append_column(), but only for numeric types, which will be displayed in the specified format.

This convenience template uses TreeView::Column::set_cell_data_func(), so the numeric formatting will be deactivated if you specify your own cell_data callback by calling set_cell_data_func() again.

Parameters:
titleThe text to be used in the title header of this column.
model_columnThe column in the TreeModel that will be rendered by this View column.
formatA printf-style format, such as "%d", used to create a text representation of the number.
Returns:
The number of columns in the View after appending.
template <class ColumnType >
int Gtk::TreeView::append_column_numeric_editable ( const Glib::ustring title,
const TreeModelColumn< ColumnType >&  model_column,
const Glib::ustring format 
) [inline]

Like append_column_editable(), but only for numeric types, which will be displayed in the specified format.

This convenience template uses TreeView::Column::set_cell_data_func(), so the numeric formatting will be deactivated if you specify your own cell_data callback by calling set_cell_data_func() again.

Note that the user's input will be interpreted as decimal (base 10), regardless of the format.

Parameters:
titleThe text to be used in the title header of this column.
model_columnThe column in the TreeModel that will be rendered by this View column.
formatA printf-style format, such as "%d", used to create a text representation of the number.
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:
pathPath 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.

void Gtk::TreeView::convert_bin_window_to_tree_coords ( int  bx,
int  by,
int &  tx,
int &  ty 
) const

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

Since gtkmm 2.12:
Parameters:
bxX coordinate relative to bin_window.
byY coordinate relative to bin_window.
txReturn location for tree X coordinate.
tyReturn location for tree Y coordinate.
void Gtk::TreeView::convert_bin_window_to_widget_coords ( int  bx,
int  by,
int &  wx,
int &  wy 
) const

Converts bin_window coordinates (see get_bin_window()) to widget relative coordinates.

Since gtkmm 2.12:
Parameters:
bxBin_window X coordinate.
byBin_window Y coordinate.
wxReturn location for widget X coordinate.
wyReturn location for widget Y coordinate.
void Gtk::TreeView::convert_tree_to_bin_window_coords ( int  tx,
int  ty,
int &  bx,
int &  by 
) const

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

Since gtkmm 2.12:
Parameters:
txTree X coordinate.
tyTree Y coordinate.
bxReturn location for X coordinate relative to bin_window.
byReturn location for Y coordinate relative to bin_window.
void Gtk::TreeView::convert_tree_to_widget_coords ( int  tx,
int  ty,
int &  wx,
int &  wy 
) const

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

Since gtkmm 2.12:
Parameters:
txX coordinate relative to the tree.
tyY coordinate relative to the tree.
wxReturn location for widget X coordinate.
wyReturn location for widget Y coordinate.
void Gtk::TreeView::convert_widget_to_bin_window_coords ( int  wx,
int  wy,
int &  bx,
int &  by 
) const

Converts widget coordinates to coordinates for the bin_window (see get_bin_window()).

Since gtkmm 2.12:
Parameters:
wxX coordinate relative to the widget.
wyY coordinate relative to the widget.
bxReturn location for bin_window X coordinate.
byReturn location for bin_window Y coordinate.
void Gtk::TreeView::convert_widget_to_tree_coords ( int  wx,
int  wy,
int &  tx,
int &  ty 
) const

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

Since gtkmm 2.12:
Parameters:
wxX coordinate relative to the widget.
wyY coordinate relative to the widget.
txReturn location for tree X coordinate.
tyReturn location for tree Y coordinate.
Cairo::RefPtr<Cairo::Surface> Gtk::TreeView::create_row_drag_icon ( const TreeModel::Path path) const

Creates a #cairo_surface_t representation of the row at path.

This image is used for a drag icon.

Parameters:
pathA Gtk::TreePath in tree_view.
Returns:
A newly-allocated surface 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:
actionsThe bitmask of possible actions for a drag from this widget.
void Gtk::TreeView::enable_model_drag_dest ( const std::vector< TargetEntry >&  targets,
Gdk::DragAction  actions = Gdk::ACTION_COPY|Gdk::ACTION_MOVE 
)

Turns the TreeView into a drop destination for automatic DND.

Parameters:
targetsThe table of targets that the drag will support.
actionsThe 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_maskMask of allowed buttons to start drag.
actionsThe bitmask of possible actions for a drag from this widget.
void Gtk::TreeView::enable_model_drag_source ( const std::vector< 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:
targetsStandard container of targets that the drag will support.
start_button_maskMask of allowed buttons to start drag.
actionsThe 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:
pathPath to a row.
open_allWhether 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 gtkmm 2.2:
Parameters:
pathPath to a row.
void Gtk::TreeView::get_background_area ( const TreeModel::Path path,
TreeViewColumn column,
Gdk::Rectangle rect 
) const

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:
pathA Gtk::TreePath for the row.
columnA Gtk::TreeViewColumn for the column.
rectRectangle to fill with cell background rect.
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.
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.
void Gtk::TreeView::get_cell_area ( const TreeModel::Path path,
TreeViewColumn column,
Gdk::Rectangle rect 
) const

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:
pathA Gtk::TreePath for the row.
columnA Gtk::TreeViewColumn for the column.
rectRectangle to fill with cell rect.
TreeViewColumn* Gtk::TreeView::get_column ( int  n)

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

Parameters:
nThe position of the column, counting from 0.
Returns:
The Gtk::TreeViewColumn, or 0 if the position is outside the range of columns.
const TreeViewColumn* Gtk::TreeView::get_column ( int  n) const

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

Parameters:
nThe position of the column, counting from 0.
Returns:
The Gtk::TreeViewColumn, or 0 if the position is outside the range of columns.
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:
nThe position of the view column.
Returns:
The CellRenderer.
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:
nThe position of the view column.
Returns:
The CellRenderer.
std::vector<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.
std::vector<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.
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:
pathA reference to be filled with the current cursor path
focus_columnA 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_xThe x position to determine the destination row for
drag_yThe y position to determine the destination row for
pathReturn location for the path of the highlighted row
posReturn 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:
pathReturn location for the path of the highlighted row
posReturn location for the drop position
bool Gtk::TreeView::get_enable_search ( ) const

Returns whether or not the tree allows to start interactive searching by typing in text.

Returns:
Whether or not to let the user search interactively.
bool Gtk::TreeView::get_enable_tree_lines ( ) const

Returns whether or not tree lines are drawn in tree_view.

Since gtkmm 2.10:
Returns:
true if tree lines are drawn in tree_view, false otherwise.
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 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.
bool Gtk::TreeView::get_fixed_height_mode ( ) const

Returns whether fixed height mode is turned on for tree_view.

Since gtkmm 2.6:
Returns:
true if tree_view is in fixed height mode.
TreeViewGridLines Gtk::TreeView::get_grid_lines ( ) const

Returns which grid lines are enabled in tree_view.

Since gtkmm 2.10:
Returns:
A Gtk::TreeViewGridLines value indicating which grid lines are enabled.
bool Gtk::TreeView::get_headers_clickable ( ) const

Returns whether all header columns are clickable.

Since gtkmm 2.10:
Returns:
true if all header columns are clickable, otherwise false.
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.
bool Gtk::TreeView::get_hover_expand ( ) const

Returns whether hover expansion mode is turned on for tree_view.

Since gtkmm 2.6:
Returns:
true if tree_view is in hover expansion mode.
bool Gtk::TreeView::get_hover_selection ( ) const

Returns whether hover selection mode is turned on for tree_view.

Since gtkmm 2.6:
Returns:
true if tree_view is in hover selection mode.
int Gtk::TreeView::get_level_indentation ( ) const

Returns the amount, in pixels, of extra indentation for child levels in tree_view.

Since gtkmm 2.12:
Returns:
The amount of extra indentation for child levels in tree_view. A return value of 0 means that this feature is disabled.
Glib::RefPtr<TreeModel> Gtk::TreeView::get_model ( )

Returns the model 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<const TreeModel> Gtk::TreeView::get_model ( ) const

Returns the model 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 
) const

Finds the path at the point (x, y), relative to bin_window coordinates (please get_bin_window()).

That is, x and y are relative to an events coordinates. x and y must come from an event on the TreeView only where <literal>event->window == gtk_tree_view_get_bin_window ()</literal>. It is primarily for things like popup menus. path will be filled with the TreeModel::Path at that point. column will be filled with the column at that point. cell_x and cell_y return the coordinates relative to the cell background (i.e. the background_area passed to Gtk::CellRenderer::render()). This method is only meaningful if the TreeView is realized.

For converting widget coordinates (eg. the ones you get from Widget::property_query_tooltip()), please see convert_widget_to_bin_window_coords().

Parameters:
xThe x position to be identified (relative to bin_window).
yThe y position to be identified (relative to bin_window).
pathA reference to a TreeModel::Path to be filled in
columnA reference to a TreeViewColumn pointer to be filled in
cell_xA reference where the X coordinate relative to the cell can be placed
cell_yA reference where the Y coordinate relative to the cell can be placed
Returns:
true if a row exists at that coordinate.
Since gtkmm 2.8:
bool Gtk::TreeView::get_path_at_pos ( int  x,
int  y,
TreeModel::Path path 
) const

Finds the path at the point (x, y), relative to bin_window coordinates (please get_bin_window()).

That is, x and y are relative to an events coordinates. x and y must come from an event on the TreeView only where event->window == get_bin_window(). It is primarily for things like popup menus. path will be filled with the TreeModel::Path at that point. This method is only meaningful if the TreeView is realized.

For converting widget coordinates (eg. the ones you get from Widget::property_query_tooltip()), please see convert_widget_to_bin_window_coords().

Parameters:
xThe x position to be identified (relative to bin_window).
yThe y position to be identified (relative to bin_window).
pathA reference to a TreeModel::Path to be filled in
Returns:
true if a row exists at that coordinate.

newin{2,16}

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_rubber_banding ( ) const

Returns whether rubber banding is turned on for tree_view.

If the selection mode is Gtk::SELECTION_MULTIPLE, rubber banding will allow the user to select multiple rows by dragging the mouse.

Since gtkmm 2.10:
Returns:
true if rubber banding in tree_view is enabled.
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.
const Entry* Gtk::TreeView::get_search_entry ( ) const

Returns the Gtk::Entry which is currently in use as interactive search entry for tree_view.

In case the built-in entry is being used, 0 will be returned.

Since gtkmm 2.10:
Returns:
The entry currently in use as search entry.
Entry* Gtk::TreeView::get_search_entry ( )

Returns the Gtk::Entry which is currently in use as interactive search entry for tree_view.

In case the built-in entry is being used, 0 will be returned.

Since gtkmm 2.10:
Returns:
The entry currently in use as search entry.
Glib::RefPtr<TreeSelection> Gtk::TreeView::get_selection ( )

Gets the Gtk::TreeSelection associated with tree_view.

Returns:
A Gtk::TreeSelection object.
Glib::RefPtr<const TreeSelection> Gtk::TreeView::get_selection ( ) const

Gets the Gtk::TreeSelection associated with tree_view.

Returns:
A Gtk::TreeSelection object.
bool Gtk::TreeView::get_show_expanders ( ) const

Returns whether or not expanders are drawn in tree_view.

Since gtkmm 2.12:
Returns:
true if expanders are drawn in tree_view, false otherwise.
int Gtk::TreeView::get_tooltip_column ( ) const

Returns the column of tree_view's model which is being used for displaying tooltips on tree_view's rows.

Since gtkmm 2.12:
Returns:
The index of the tooltip column that is currently being used, or -1 if this is disabled.
bool Gtk::TreeView::get_tooltip_context_iter ( int &  x,
int &  y,
bool  keyboard_tip,
Gtk::TreeModel::iterator iter 
)
Parameters:
x,:the x coordinate (relative to widget coordinates)
y,:the y coordinate (relative to widget coordinates)
keyboard_tip,:whether this is a keyboard tooltip or not
iter,:a pointer to receive a Gtk::TreeIter

This function is supposed to be used in a Gtk::Widget::query-tooltip signal handler for Gtk::TreeView. The x, y and keyboard_tip values which are received in the signal handler, should be passed to this function without modification.

The return value indicates whether there is an tree view row at the given coordinates (true) or not (false) for mouse tooltips. For keyboard tooltips the row returned will be the cursor item. When true, then the iter which has been provided will be set to point to that row and the corresponding model. x and y will always be converted to be relative to Gtk::TreeView's bin_window if keyboard_tooltip is false.

Return value: whether or not the given tooltip context points to a row.

Since gtkmm 2.12:
bool Gtk::TreeView::get_tooltip_context_path ( int &  x,
int &  y,
bool  keyboard_tip,
TreeModel::Path path 
)
Parameters:
x,:the x coordinate (relative to widget coordinates)
y,:the y coordinate (relative to widget coordinates)
keyboard_tip,:whether this is a keyboard tooltip or not
path,:a reference to receive a Gtk::TreePath

This function is supposed to be used in a Gtk::Widget::query-tooltip signal handler for Gtk::TreeView. The x, y and keyboard_tip values which are received in the signal handler, should be passed to this function without modification.

The return value indicates whether there is an tree view row at the given coordinates (true) or not (false) for mouse tooltips. For keyboard tooltips the row returned will be the cursor item. When true, then the path which has been provided will be set to point to that row and the corresponding model. x and y will always be converted to be relative to Gtk::TreeView's bin_window if keyboard_tooltip is false.

Return value: whether or not the given tooltip context points to a row.

Since gtkmm 2.12:
bool Gtk::TreeView::get_visible_range ( TreeModel::Path start_path,
TreeModel::Path end_path 
) const
void Gtk::TreeView::get_visible_rect ( Gdk::Rectangle visible_rect) const

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

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

Parameters:
visible_rectRectangle 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.

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

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

Parameters:
titleThe text to be used in the title header of this column.
cellThe CellRenderer.
positionThe position at which the CellRenderer should be inserted.
Returns:
The number of columns in the View after inserting.
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:
titleThe text to be used in the title header of this column.
model_columnThe column in the TreeModel that will be rendered by this View column.
positionThe 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:
columnThe Gtk::TreeViewColumn to be inserted.
positionThe 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 insert_column() and connect a signal handler to the CellRenderer.

Parameters:
titleThe text to be used in the title header of this column.
model_columnThe column in the TreeModel that will be rendered by this View column.
positionThe 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:
positionPosition to insert, -1 for append
titlecolumn title
cellcell renderer for column
slotfunction to set attributes of cell renderer
Returns:
number of columns in the TreeView after the insert
bool Gtk::TreeView::is_blank_at_pos ( int  x,
int  y,
TreePath path,
TreeViewColumn*&  column,
int &  cell_x,
int &  cell_y 
) const
bool Gtk::TreeView::is_blank_at_pos ( int  x,
int  y 
) const
bool Gtk::TreeView::is_rubber_banding_active ( ) const

Returns whether a rubber banding operation is currently being done in tree_view.

Since gtkmm 2.12:
Returns:
true if a rubber banding operation is currently being done in tree_view.
void Gtk::TreeView::map_expanded_rows ( const SlotMapping slot)

Calls the callback slot on all expanded rows.

Parameters:
slotA 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:
columnThe Gtk::TreeViewColumn to be moved.
base_columnThe 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:
columnThe 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 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<bool> Gtk::TreeView::property_enable_grid_lines ( )

Whether grid lines should be drawn in the tree view.

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_enable_grid_lines ( ) const

Whether grid lines should be drawn in the tree view.

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 ( )

View allows user to search through columns interactively.

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_enable_search ( ) const

View allows user to search through columns interactively.

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_tree_lines ( )

Whether tree lines should be drawn in the tree view.

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_enable_tree_lines ( ) const

Whether tree lines should be drawn in the tree view.

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 ( )

Set the column for the 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<TreeViewColumn*> Gtk::TreeView::property_expander_column ( ) const

Set the column for the 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<bool> Gtk::TreeView::property_fixed_height_mode ( )

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

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

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

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

Column headers respond to click events.

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_clickable ( )

Column headers respond to click events.

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 ( )

Show the column header buttons.

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

Show the column header buttons.

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_hover_expand ( )

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

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_hover_expand ( ) const

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

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_hover_selection ( )

Whether the selection should follow the pointer.

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_hover_selection ( ) const

Whether the selection should follow the pointer.

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_level_indentation ( )

Extra indentation for each level.

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_level_indentation ( ) const

Extra indentation for each level.

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 ( )

The model for the tree view.

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

The model for the tree view.

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

View is 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<bool> Gtk::TreeView::property_reorderable ( )

View is 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<bool> Gtk::TreeView::property_rubber_banding ( )

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

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_rubber_banding ( ) const

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

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 ( )

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

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

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

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

Model column to search through during interactive 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<int> Gtk::TreeView::property_search_column ( )

Model column to search through during interactive 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<bool> Gtk::TreeView::property_show_expanders ( )

View has expanders.

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_show_expanders ( ) const

View has expanders.

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_tooltip_column ( )

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

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_tooltip_column ( ) const

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

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:
columnThe 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:
pathThe Gtk::TreePath to be activated.
columnThe 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:
pathA Gtk::TreePath to test expansion state.
Returns:
true if #path is expanded.
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:
pathThe path of the row to move to.
columnThe Gtk::TreeViewColumn to move horizontally to.
row_alignThe vertical alignment of the row specified by path.
col_alignThe horizontal alignment of the column specified by column.
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:
pathThe path of the row to move to.
columnThe 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:
columnThe Gtk::TreeViewColumn to move horizontally to.
col_alignThe 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:
columnThe Gtk::TreeViewColumn to move horizontally to.
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 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_xX coordinate of new top-left pixel of visible area, or -1.
tree_yY coordinate of new top-left pixel of visible area, or -1.
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:
pathThe path of the row to move to.
row_alignThe vertical alignment of the row specified by path.
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:
pathThe path of the row to move to.
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:
slotA callback function to determine which columns are reorderable.
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:
pathA Gtk::TreePath.
focus_columnA Gtk::TreeViewColumn.
start_editingtrue if the specified cell should start being edited.
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.

If path is invalid for model, the current cursor (if any) will be unset and the function will return without failing.

Since gtkmm 2.2:
Parameters:
pathA Gtk::TreePath.
focus_columnA Gtk::TreeViewColumn, or 0.
focus_cellA Gtk::CellRenderer, or 0.
start_editingtrue if the specified cell should start being edited.
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:
pathA reference to cursor path.
void Gtk::TreeView::set_drag_dest_row ( const TreeModel::Path path,
TreeViewDropPosition  pos 
)

Sets the row that is highlighted for feedback.

See also unset_drag_dest_row().

Parameters:
pathThe path of the row to highlight
posSpecifies 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 (this is sometimes called "typeahead find").

Note that even if this is false, the user can still initiate a search using the "start-interactive-search" key binding.

Parameters:
enable_searchtrue, if the user can search interactively.
void Gtk::TreeView::set_enable_tree_lines ( bool  enable = true)

Sets whether to draw lines interconnecting the expanders in tree_view.

This does not have any visible effects for lists.

Since gtkmm 2.10:
Parameters:
enabledtrue to enable tree line drawing, false otherwise.
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:
columnThe column to draw the expander arrow at.
void Gtk::TreeView::set_fixed_height_mode ( bool  enable = true)

Enables or disables the fixed height mode of tree_view.

Fixed height mode speeds up Gtk::TreeView by assuming that all rows have the same height. Only enable this option if all rows are the same height and all columns are of type Gtk::TREE_VIEW_COLUMN_FIXED.

Since gtkmm 2.6:
Parameters:
enabletrue to enable fixed height mode.
void Gtk::TreeView::set_grid_lines ( TreeViewGridLines  grid_lines)

Sets which grid lines to draw in tree_view.

Since gtkmm 2.10:
Parameters:
grid_linesA Gtk::TreeViewGridLines value indicating which grid lines to enable.
void Gtk::TreeView::set_headers_clickable ( bool  setting = true)

Allow the column title buttons to be clicked.

Parameters:
settingtrue if the columns are clickable.
void Gtk::TreeView::set_headers_visible ( bool  headers_visible = true)

Sets the visibility state of the headers.

Parameters:
headers_visibletrue if the headers are visible.
void Gtk::TreeView::set_hover_expand ( bool  expand = true)

Enables of disables the hover expansion mode of tree_view.

Hover expansion makes rows expand or collapse if the pointer moves over them.

Since gtkmm 2.6:
Parameters:
expandtrue to enable hover selection mode.
void Gtk::TreeView::set_hover_selection ( bool  hover = true)

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.

Since gtkmm 2.6:
Parameters:
hovertrue to enable hover selection mode.
void Gtk::TreeView::set_level_indentation ( int  indentation)

Sets the amount of extra indentation for child levels to use in tree_view in addition to the default indentation.

The value should be specified in pixels, a value of 0 disables this feature and in this case only the default indentation will be used. This does not have any visible effects for lists.

Since gtkmm 2.12:
Parameters:
indentationThe amount, in pixels, of extra indentation in tree_view.
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. Use unset_model() to unset the old model.

Parameters:
modelThe 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. The reordering is implemented by setting up the tree view as a drag source and destination. Therefore, drag and drop can not be used in a reorderable view for any other purpose.

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:
reorderabletrue, if the tree can be reordered.
void Gtk::TreeView::set_row_separator_func ( const SlotRowSeparator slot)

Sets the row separator function, which is used to determine whether a row should be drawn as a separator.

void Gtk::TreeView::set_rubber_banding ( bool  enable = true)

Enables or disables rubber banding in tree_view.

If the selection mode is Gtk::SELECTION_MULTIPLE, rubber banding will allow the user to select multiple rows by dragging the mouse.

Since gtkmm 2.10:
Parameters:
enabletrue to enable rubber banding.
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:
settingtrue if the tree requires reading across rows.
void Gtk::TreeView::set_search_column ( const TreeModelColumnBase column)

Sets column as the column where the interactive search code should search in for the current model.

If the search column is set, users can use the "start-interactive-search" key binding to bring up search popup. The enable-search property controls whether simply typing text will also start an interactive search.

Note that column refers to a column of the current model. The search column is reset to -1 when the model is changed.

Parameters:
columnThe column of the model to search in, or -1 to disable searching.
void Gtk::TreeView::set_search_column ( int  column)

Sets column as the column where the interactive search code should search in for the current model.

If the search column is set, users can use the "start-interactive-search" key binding to bring up search popup. The enable-search property controls whether simply typing text will also start an interactive search.

Note that column refers to a column of the current model. The search column is reset to -1 when the model is changed.

Parameters:
columnThe column of the model to search in, or -1 to disable searching.
void Gtk::TreeView::set_search_entry ( Entry entry)

Sets the entry which the interactive search code will use for this tree_view.

This is useful when you want to provide a search entry in our interface at all time at a fixed position. Passing 0 for entry will make the interactive search code use the built-in popup entry again.

Since gtkmm 2.10:
Parameters:
entryThe entry the interactive search code of tree_view should use or 0.
void Gtk::TreeView::set_search_equal_func ( const SlotSearchEqual slot)

Sets the compare function for the interactive search capabilities.

Parameters:
slotThe compare function to use during the search
void Gtk::TreeView::set_search_position_func ( const SlotSearchPosition slot)
void Gtk::TreeView::set_show_expanders ( bool  enabled = true)

Sets whether to draw and enable expanders and indent child rows in tree_view.

When disabled there will be no expanders visible in trees and there will be no way to expand and collapse rows by default. Also note that hiding the expanders will disable the default indentation. You can set a custom indentation in this case using set_level_indentation(). This does not have any visible effects for lists.

Since gtkmm 2.12:
Parameters:
enabledtrue to enable expander drawing, false otherwise.
void Gtk::TreeView::set_tooltip_cell ( const Glib::RefPtr< Tooltip >&  tooltip,
const TreeModel::Path path,
TreeViewColumn column,
CellRenderer cell 
)

Sets the tip area of tooltip to the area path, column and cell have in common.

For example if path is 0 and column is set, the tip area will be set to the full area covered by column. See also Gtk::Tooltip::set_tip_area().

Note that if path is not specified and cell is set and part of a column containing the expander, the tooltip might not show and hide at the correct position. In such cases path must be set to the current node under the mouse cursor for this function to operate correctly.

See also set_tooltip_column() for a simpler alternative.

Since gtkmm 2.12:
Parameters:
tooltipA Gtk::Tooltip.
pathA Gtk::TreePath or 0.
columnA Gtk::TreeViewColumn or 0.
cellA Gtk::CellRenderer or 0.
void Gtk::TreeView::set_tooltip_column ( int  column)

If you only plan to have simple (text-only) tooltips on full rows, you can use this function to have Gtk::TreeView handle these automatically for you.

column should be set to the column in tree_view's model containing the tooltip texts, or -1 to disable this feature.

When enabled, Gtk::Widget::has-tooltip will be set to true and tree_view will connect a Gtk::Widget::query-tooltip signal handler.

Note that the signal handler sets the text with Gtk::Tooltip::set_markup(), so&, <, etc have to be escaped in the text.

Since gtkmm 2.12:
Parameters:
columnAn integer, which is a valid column number for tree_view's model.
void Gtk::TreeView::set_tooltip_row ( const Glib::RefPtr< Tooltip >&  tooltip,
const TreePath path 
)

Sets the tip area of tooltip to be the area covered by the row at path.

See also set_tooltip_column() for a simpler alternative.

See also Tooltip::set_tip_area().

Parameters:
pathA Gtk::TreePath.
Glib::SignalProxy0< void > Gtk::TreeView::signal_columns_changed ( )
Prototype:
void on_my_columns_changed()
Glib::SignalProxy0< void > Gtk::TreeView::signal_cursor_changed ( )
Prototype:
void on_my_cursor_changed()
Glib::SignalProxy2< void,const TreeModel::Path&,TreeViewColumn* > Gtk::TreeView::signal_row_activated ( )
Prototype:
void on_my_row_activated(const TreeModel::Path& path, TreeViewColumn* column)
Glib::SignalProxy2< void,const TreeModel::iterator&,const TreeModel::Path& > Gtk::TreeView::signal_row_collapsed ( )
Prototype:
void on_my_row_collapsed(const TreeModel::iterator& iter, const TreeModel::Path& path)
Glib::SignalProxy2< void,const TreeModel::iterator&,const TreeModel::Path& > Gtk::TreeView::signal_row_expanded ( )
Prototype:
void on_my_row_expanded(const TreeModel::iterator& iter, const TreeModel::Path& path)
Glib::SignalProxy2< bool,const TreeModel::iterator&,const TreeModel::Path& > Gtk::TreeView::signal_test_collapse_row ( )
Prototype:
bool on_my_test_collapse_row(const TreeModel::iterator& iter, const TreeModel::Path& path)
Glib::SignalProxy2< bool,const TreeModel::iterator&,const TreeModel::Path& > Gtk::TreeView::signal_test_expand_row ( )
Prototype:
bool on_my_test_expand_row(const TreeModel::iterator& iter, const TreeModel::Path& path)
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_drag_dest_row ( )

Remove an existing highlight.

See set_drag_dest_row().

Since gtkmm 3.2:
void Gtk::TreeView::unset_model ( )

Remove the model from the TreeView.

See also:
set_model().
Since gtkmm 2.8:
void Gtk::TreeView::unset_row_separator_func ( )

Removes the row separator function, so no separators are drawn.

See set_row_separator_func().

Since gtkmm 3.2:
void Gtk::TreeView::unset_rows_drag_dest ( )

Undoes the effect of enable_model_drag_source()

void Gtk::TreeView::unset_rows_drag_source ( )

Undoes the effect of enable_model_drag_source()


Friends And Related Function Documentation

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

A Glib::wrap() method for this object.

Parameters:
objectThe C instance.
take_copyFalse 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:
  • gtkmm/treeview.h