gtkmm: Gtk::TreeView Class Reference

gtkmm 4.8.0

Public Types | Public Member Functions | Static Public Member Functions | Related Functions | List of all members
Gtk::TreeView Class Reference
Widgets | Container Widgets | TreeView Classes

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

`#include <gtkmm/treeview.h>`

Inheritance diagram for Gtk::TreeView:
[legend]

## Public Types
enum class | DropPosition { DropPosition::BEFORE , DropPosition::AFTER , DropPosition::INTO_OR_BEFORE , DropPosition::INTO_OR_AFTER }
| An enum for determining where a dropped row goes. More...
enum class | GridLines { GridLines::NONE , GridLines::HORIZONTAL , GridLines::VERTICAL , GridLines::BOTH }
| Used to indicate which grid lines to draw in a tree view. More...
typedef TreeViewColumn | Column
| A visible column in a Gtk::TreeView widget. More...
typedef TreeSelection | Selection
| A selection object for Gtk::TreeView. More...
typedef TreeViewColumn::SlotTreeCellData | SlotTreeCellData
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) More...
typedef sigc::slot< void(TreeView *, const TreeModel::Path &)> | SlotMapping
| For example, void on_map_expanded_rows(TreeView* tree_view, const TreeModel::Path& path);. More...
typedef sigc::slot< bool(const Glib::RefPtr< TreeModel > &, int, const Glib::ustring &, const TreeModel::const_iterator &)> | SlotSearchEqual
| void on_search_equal(const Glib::RefPtr<TreeModel>& model, int column, const Glib::ustring& key, const TreeModel::const_iterator& iter) More...
typedef sigc::slot< bool(const Glib::RefPtr< TreeModel > &, const TreeModel::const_iterator &)> | SlotRowSeparator
| The slot type for determining whether the row pointed to by the iterator should be rendered as a separator. More...
Public Types inherited from Gtk::Widget
using | SlotTick = sigc::slot< bool(const Glib::RefPtr< Gdk::FrameClock > &)>
| Callback type for adding a function to update animations. More...
Public Types inherited from Glib::Object
typedef void(*)(gpointer data | DestroyNotify)
Public Types inherited from Gtk::Accessible
enum class | Role { Role::ALERT , Role::ALERT_DIALOG , Role::BANNER , Role::BUTTON , Role::CAPTION , Role::CELL , Role::CHECKBOX , Role::COLUMN_HEADER , Role::COMBO_BOX , Role::COMMAND , Role::COMPOSITE , Role::DIALOG , Role::DOCUMENT , Role::FEED , Role::FORM , Role::GENERIC , Role::GRID , Role::GRID_CELL , Role::GROUP , Role::HEADING , Role::IMG , Role::INPUT , Role::LABEL , Role::LANDMARK , Role::LEGEND , Role::LINK , Role::LIST , Role::LIST_BOX , Role::LIST_ITEM , Role::LOG , Role::MAIN , Role::MARQUEE , Role::MATH , Role::METER , Role::MENU , Role::MENU_BAR , Role::MENU_ITEM , Role::MENU_ITEM_CHECKBOX , Role::MENU_ITEM_RADIO , Role::NAVIGATION , Role::NONE , Role::NOTE , Role::OPTION , Role::PRESENTATION , Role::PROGRESS_BAR , Role::RADIO , Role::RADIO_GROUP , Role::RANGE , Role::REGION , Role::ROW , Role::ROW_GROUP , Role::ROW_HEADER , Role::SCROLLBAR , Role::SEARCH , Role::SEARCH_BOX , Role::SECTION , Role::SECTION_HEAD , Role::SELECT , Role::SEPARATOR , Role::SLIDER , Role::SPIN_BUTTON , Role::STATUS , Role::STRUCTURE , Role::SWITCH , Role::TAB , Role::TABLE , Role::TAB_LIST , Role::TAB_PANEL , Role::TEXT_BOX , Role::TIME , Role::TIMER , Role::TOOLBAR , Role::TOOLTIP , Role::TREE , Role::TREE_GRID , Role::TREE_ITEM , Role::WIDGET , Role::WINDOW }
| The accessible role for a Gtk::Accessible implementation. More...
enum class | State { State::BUSY , State::CHECKED , State::DISABLED , State::EXPANDED , State::HIDDEN , State::INVALID , State::PRESSED , State::SELECTED }
| The possible accessible states of a Gtk::Accessible. More...
enum class | Property { Property::AUTOCOMPLETE , Property::DESCRIPTION , Property::HAS_POPUP , Property::KEY_SHORTCUTS , Property::LABEL , Property::LEVEL , Property::MODAL , Property::MULTI_LINE , Property::MULTI_SELECTABLE , Property::ORIENTATION , Property::PLACEHOLDER , Property::READ_ONLY , Property::REQUIRED , Property::ROLE_DESCRIPTION , Property::SORT , Property::VALUE_MAX , Property::VALUE_MIN , Property::VALUE_NOW , Property::VALUE_TEXT }
| The possible accessible properties of a Gtk::Accessible. More...
enum class | Relation { Relation::ACTIVE_DESCENDANT , Relation::COL_COUNT , Relation::COL_INDEX , Relation::COL_INDEX_TEXT , Relation::COL_SPAN , Relation::CONTROLS , Relation::DESCRIBED_BY , Relation::DETAILS , Relation::ERROR_MESSAGE , Relation::FLOW_TO , Relation::LABELLED_BY , Relation::OWNS , Relation::POS_IN_SET , Relation::ROW_COUNT , Relation::ROW_INDEX , Relation::ROW_INDEX_TEXT , Relation::ROW_SPAN , Relation::SET_SIZE }
| The possible accessible relations of a Gtk::Accessible. More...
Public Types inherited from Gtk::Scrollable
enum class | Policy { Policy::MINIMUM , Policy::NATURAL }
| Defines the policy to be used in a scrollable widget when updating the scrolled window adjustments in a given orientation. More...

## Public Member Functions
| TreeView (TreeView && src) noexcept
TreeView & | operator= (TreeView && src) noexcept
| TreeView (const TreeView &)=delete
TreeView & | operator= (const TreeView &)=delete
| ~TreeView () noexcept override
GtkTreeView * | gobj ()
| Provides access to the underlying C GObject. More...
const GtkTreeView * | gobj () const
| Provides access to the underlying C GObject. More...
| TreeView ()
| Default constructor. More...
| TreeView (const Glib::RefPtr< TreeModel > & model)
| Constructor that binds to a TreeModel. More...
Glib::RefPtr< TreeModel > | get_model ()
| Returns the model the `Gtk::TreeView` is based on. More...
Glib::RefPtr< const TreeModel > | get_model () const
| Returns the model the `Gtk::TreeView` is based on. More...
void | set_model (const Glib::RefPtr< TreeModel > & model)
| Sets the model for a Gtk::TreeView. More...
void | unset_model ()
| Remove the model from the TreeView. More...
Glib::RefPtr< TreeSelection > | get_selection ()
| Gets the `Gtk::TreeSelection` associated with tree_view. More...
Glib::RefPtr< const TreeSelection > | get_selection () const
| Gets the `Gtk::TreeSelection` associated with tree_view. More...
bool | get_headers_visible () const
| Returns `true` if the headers on the tree_view are visible. More...
void | set_headers_visible (bool headers_visible=true)
| Sets the visibility state of the headers. More...
void | columns_autosize ()
| Resizes all columns to their optimal width. More...
bool | get_headers_clickable () const
| Returns whether all header columns are clickable. More...
void | set_headers_clickable (bool setting=true)
| Allow the column title buttons to be clicked. More...
void | set_activate_on_single_click (bool single=true)
| Cause the `Gtk::TreeView`::row-activated signal to be emitted on a single click instead of a double click. More...
bool | get_activate_on_single_click () const
| Gets the setting set by set_activate_on_single_click(). More...
int | append_column (TreeViewColumn & column)
| Appends column to the list of columns. More...
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. More...
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. More...
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. More...
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. More...
int | append_column (const Glib::ustring & title, CellRenderer & cell)
| Creates a View column containing the CellRenderer, and appends it. More...
int | remove_column (TreeViewColumn & column)
| Removes column from tree_view. More...
void | remove_all_columns ()
| Removes all View columns. More...
int | insert_column (TreeViewColumn & column, int position)
| This inserts the column into the tree_view at position. More...
int | insert_column (const Glib::ustring & title, CellRenderer & cell, int position)
| Creates a View column containing the CellRenderer, and inserts it. More...
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. More...
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. More...
int | insert_column_with_data_func (int position, const Glib::ustring & title, CellRenderer & cell, const SlotTreeCellData & slot)
| Inserts a new column into the TreeView with the given cell renderer and a SlotTreeCellData to set cell renderer attributes (normally using data from the model). More...
guint | get_n_columns () const
| Queries the number of columns in the given tree_view. More...
TreeViewColumn * | get_column (int n)
| Gets the `Gtk::TreeViewColumn` at the given position in the #tree_view. More...
const TreeViewColumn * | get_column (int n) const
| Gets the `Gtk::TreeViewColumn` at the given position in the #tree_view. More...
CellRenderer * | get_column_cell_renderer (int n)
| Gets the CellRenderer for that column. More...
const CellRenderer * | get_column_cell_renderer (int n) const
| Gets the CellRenderer for that column. More...
std::vector< TreeViewColumn * > | get_columns ()
| Returns a list of all the Gtk::TreeViewColumn s currently in tree_view. More...
std::vector< const TreeViewColumn * > | get_columns () const
| Returns a list of all the Gtk::TreeViewColumn s currently in tree_view. More...
void | move_column_after (TreeViewColumn & column, TreeViewColumn & base_column)
| Moves column to be after to base_column. More...
void | move_column_to_start (TreeViewColumn & column)
| This method moves column to the first position in the view. More...
void | set_expander_column (TreeViewColumn & column)
| Sets the column to draw the expander arrow at. More...
void | reset_expander_column ()
| This method resets the expander arrow to the default - the first visible column. More...
TreeViewColumn * | get_expander_column ()
| Returns the column that is the current expander column, or `nullptr` if none has been set. More...
const TreeViewColumn * | get_expander_column () const
| Returns the column that is the current expander column, or `nullptr` if none has been set. More...
void | set_column_drag_function (const SlotColumnDrop & slot)
| Sets a callback slot for determining where a column may be dropped when dragged. More...
void | unset_column_drag_function ()
| See set_column_drag_function(). More...
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. More...
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. More...
void | scroll_to_cell (const TreeModel::Path & path, TreeViewColumn & column)
| Moves the alignments of tree view to the position specified by column and path. More...
void | scroll_to_row (const TreeModel::Path & path, float row_align)
| Moves the alignments of tree view to the position specified by path. More...
void | scroll_to_row (const TreeModel::Path & path)
| Moves the alignments of tree view to the position specified by path. More...
void | scroll_to_column (TreeViewColumn & column, float col_align)
| Moves the alignments of tree view to the position specified by column. More...
void | scroll_to_column (TreeViewColumn & column)
| Moves the alignments of tree view to the position specified by column. More...
void | row_activated (const TreeModel::Path & path, TreeViewColumn & column)
| Activates the cell determined by path and column. More...
void | expand_all ()
| Recursively expands all nodes in the tree_view. More...
void | collapse_all ()
| Recursively collapses all visible, expanded nodes in tree_view. More...
void | expand_to_path (const TreeModel::Path & path)
| Expands the row at path. More...
bool | expand_row (const TreeModel::Path & path, bool open_all)
| Opens the row so its children are visible. More...
bool | collapse_row (const TreeModel::Path & path)
| Collapses a row (hides its child rows, if they exist). More...
void | map_expanded_rows (const SlotMapping & slot)
| Calls the callback slot on all expanded rows. More...
bool | row_expanded (const TreeModel::Path & path)
| Returns `true` if the node pointed to by path is expanded in tree_view. More...
void | set_reorderable (bool reorderable=true)
| This function is a convenience function to allow you to reorder models that support the `Gtk::TreeDragSourceIface` and the `Gtk::TreeDragDestIface`. More...
bool | get_reorderable () const
| Retrieves whether the user can reorder the tree via drag-and-drop. More...
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. More...
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. More...
void | set_cursor (const TreeModel::Path & path)
| Sets the current keyboard focus to be at path , and selects it. More...
void | get_cursor (TreeModel::Path & path, TreeViewColumn *& focus_column)
| Fills in path and focus_column with the current path and focus column. More...
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. More...
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. More...
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. More...
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. More...
void | get_visible_rect (Gdk::Rectangle & visible_rect) const
| Fills visible_rect with the currently-visible region of the buffer, in tree coordinates. More...
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
| Determine whether the point (x, y) in the tree view is blank, that is no cell content nor an expander arrow is drawn at the location. More...
bool | is_blank_at_pos (int x, int y) const
| Determine whether the point (x, y) in the tree view is blank, that is no cell content nor an expander arrow is drawn at the location. More...
void | enable_model_drag_source (const Glib::RefPtr< const Gdk::ContentFormats > & formats, Gdk::ModifierType start_button_mask=static_cast< Gdk::ModifierType >(GDK_MODIFIER_MASK), Gdk::DragAction actions=Gdk::DragAction::COPY|Gdk::DragAction::MOVE)
| Turns tree_view into a drag source for automatic DND. More...
void | enable_model_drag_source (Gdk::ModifierType start_button_mask=static_cast< Gdk::ModifierType >(GDK_MODIFIER_MASK), Gdk::DragAction actions=Gdk::DragAction::COPY|Gdk::DragAction::MOVE)
| Turns the TreeView into a drag source for automatic DND. More...
void | enable_model_drag_dest (const Glib::RefPtr< const Gdk::ContentFormats > & formats, Gdk::DragAction actions=Gdk::DragAction::COPY|Gdk::DragAction::MOVE)
| Turns tree_view into a drop destination for automatic DND. More...
void | enable_model_drag_dest (Gdk::DragAction actions=Gdk::DragAction::COPY|Gdk::DragAction::MOVE)
| Turns the TreeView into a drop destination for automatic DND. More...
void | unset_rows_drag_source ()
| Undoes the effect of enable_model_drag_source() More...
void | unset_rows_drag_dest ()
| Undoes the effect of enable_model_drag_dest() More...
void | set_drag_dest_row (const TreeModel::Path & path, DropPosition pos)
| Sets the row that is highlighted for feedback. More...
void | unset_drag_dest_row ()
| Remove an existing highlight. More...
void | get_drag_dest_row (TreeModel::Path & path, DropPosition & pos) const
| Gets information about the row that is highlighted for feedback. More...
bool | get_dest_row_at_pos (int drag_x, int drag_y, TreeModel::Path & path, DropPosition & pos) const
| Determines the destination row for a given position. More...
Glib::RefPtr< Gdk::Paintable > | create_row_drag_icon (const TreeModel::Path & path) const
| Creates a `cairo_surface_t` representation of the row at path. More...
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"). More...
bool | get_enable_search () const
| Returns whether or not the tree allows to start interactive searching by typing in text. More...
int | get_search_column () const
| Gets the column searched on by the interactive search code. More...
void | set_search_column (const TreeModelColumnBase & column)
| Sets column as the column where the interactive search code should search in for the current model. More...
void | set_search_column (int column)
| Sets column as the column where the interactive search code should search in for the current model. More...
void | set_search_equal_func (const SlotSearchEqual & slot)
| Sets the compare function for the interactive search capabilities. More...
Editable * | get_search_entry ()
| Returns the `Gtk::Entry` which is currently in use as interactive search entry for tree_view. More...
const Editable * | get_search_entry () const
| Returns the `Gtk::Entry` which is currently in use as interactive search entry for tree_view. More...
void | set_search_entry (Editable & entry)
| Sets the entry which the interactive search code will use for this tree_view. More...
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). More...
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. More...
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. More...
void | convert_bin_window_to_widget_coords (int bx, int by, int & wx, int & wy) const
| Converts bin_window coordinates to widget relative coordinates. More...
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. More...
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). More...
void | set_fixed_height_mode (bool enable=true)
| Enables or disables the fixed height mode of tree_view. More...
bool | get_fixed_height_mode () const
| Returns whether fixed height mode is turned on for tree_view. More...
void | set_hover_selection (bool hover=true)
| Enables or disables the hover selection mode of tree_view. More...
bool | get_hover_selection () const
| Returns whether hover selection mode is turned on for tree_view. More...
void | set_hover_expand (bool expand=true)
| Enables or disables the hover expansion mode of tree_view. More...
bool | get_hover_expand () const
| Returns whether hover expansion mode is turned on for tree_view. More...
void | set_rubber_banding (bool enable=true)
| Enables or disables rubber banding in tree_view. More...
bool | get_rubber_banding () const
| Returns whether rubber banding is turned on for tree_view. More...
bool | is_rubber_banding_active () const
| Returns whether a rubber banding operation is currently being done in tree_view. More...
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. More...
void | unset_row_separator_func ()
| Removes the row separator function, so no separators are drawn. More...
void | set_grid_lines (GridLines grid_lines)
| Sets which grid lines to draw in tree_view. More...
GridLines | get_grid_lines () const
| Returns which grid lines are enabled in tree_view. More...
void | set_enable_tree_lines (bool enable=true)
| Sets whether to draw lines interconnecting the expanders in tree_view. More...
bool | get_enable_tree_lines () const
| Returns whether or not tree lines are drawn in tree_view. More...
void | set_show_expanders (bool enabled=true)
| Sets whether to draw and enable expanders and indent child rows in tree_view. More...
bool | get_show_expanders () const
| Returns whether or not expanders are drawn in tree_view. More...
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. More...
int | get_level_indentation () const
| Returns the amount, in pixels, of extra indentation for child levels in tree_view. More...
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. More...
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. More...
bool | get_tooltip_context_path (int x, int y, bool keyboard_tip, TreeModel::Path & path)
| This function is supposed to be used in a Gtk::Widget::query-tooltip signal handler for Gtk::TreeView. More...
bool | get_tooltip_context_iter (int x, int y, bool keyboard_tip, Gtk::TreeModel::iterator & iter)
| This function is supposed to be used in a Gtk::Widget::query-tooltip signal handler for Gtk::TreeView. More...
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. More...
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. More...
Glib::SignalProxy< void(const TreeModel::Path &, TreeViewColumn *)> | signal_row_activated ()
Glib::SignalProxy< bool(const TreeModel::iterator &, const TreeModel::Path &)> | signal_test_expand_row ()
Glib::SignalProxy< bool(const TreeModel::iterator &, const TreeModel::Path &)> | signal_test_collapse_row ()
Glib::SignalProxy< void(const TreeModel::iterator &, const TreeModel::Path &)> | signal_row_expanded ()
Glib::SignalProxy< void(const TreeModel::iterator &, const TreeModel::Path &)> | signal_row_collapsed ()
Glib::SignalProxy< void()> | signal_cursor_changed ()
Glib::SignalProxy< void()> | signal_columns_changed ()
Glib::PropertyProxy< Glib::RefPtr< TreeModel > > | property_model ()
Glib::PropertyProxy_ReadOnly< Glib::RefPtr< TreeModel > > | property_model () const
Glib::PropertyProxy< bool > | property_headers_visible ()
| Default value: `true` More...
Glib::PropertyProxy_ReadOnly< bool > | property_headers_visible () const
| Default value: `true` More...
Glib::PropertyProxy< bool > | property_headers_clickable ()
| Default value: `true` More...
Glib::PropertyProxy_ReadOnly< bool > | property_headers_clickable () const
| Default value: `true` More...
Glib::PropertyProxy< TreeViewColumn * > | property_expander_column ()
Glib::PropertyProxy_ReadOnly< TreeViewColumn * > | property_expander_column () const
Glib::PropertyProxy< bool > | property_reorderable ()
| Default value: `false` More...
Glib::PropertyProxy_ReadOnly< bool > | property_reorderable () const
| Default value: `false` More...
Glib::PropertyProxy< bool > | property_enable_search ()
| Default value: `true` More...
Glib::PropertyProxy_ReadOnly< bool > | property_enable_search () const
| Default value: `true` More...
Glib::PropertyProxy< int > | property_search_column ()
| Default value: -1. More...
Glib::PropertyProxy_ReadOnly< int > | property_search_column () const
| Default value: -1. More...
Glib::PropertyProxy< bool > | property_fixed_height_mode ()
| Setting the property_fixed_height_mode() property to `true` speeds up `Gtk::TreeView` by assuming that all rows have the same height. More...
Glib::PropertyProxy_ReadOnly< bool > | property_fixed_height_mode () const
| Setting the property_fixed_height_mode() property to `true` speeds up `Gtk::TreeView` by assuming that all rows have the same height. More...
Glib::PropertyProxy< bool > | property_hover_selection ()
| Enables or disables the hover selection mode of tree_view. More...
Glib::PropertyProxy_ReadOnly< bool > | property_hover_selection () const
| Enables or disables the hover selection mode of tree_view. More...
Glib::PropertyProxy< bool > | property_hover_expand ()
| Enables or disables the hover expansion mode of tree_view. More...
Glib::PropertyProxy_ReadOnly< bool > | property_hover_expand () const
| Enables or disables the hover expansion mode of tree_view. More...
Glib::PropertyProxy< bool > | property_show_expanders ()
| `true` if the view has expanders. More...
Glib::PropertyProxy_ReadOnly< bool > | property_show_expanders () const
| `true` if the view has expanders. More...
Glib::PropertyProxy< bool > | property_level_indentation ()
| Extra indentation for each level. More...
Glib::PropertyProxy_ReadOnly< bool > | property_level_indentation () const
| Extra indentation for each level. More...
Glib::PropertyProxy< bool > | property_rubber_banding ()
| Default value: `false` More...
Glib::PropertyProxy_ReadOnly< bool > | property_rubber_banding () const
| Default value: `false` More...
Glib::PropertyProxy< bool > | property_enable_grid_lines ()
| Default value: Gtk::TreeView::GridLines::NONE. More...
Glib::PropertyProxy_ReadOnly< bool > | property_enable_grid_lines () const
| Default value: Gtk::TreeView::GridLines::NONE. More...
Glib::PropertyProxy< bool > | property_enable_tree_lines ()
| Default value: `false` More...
Glib::PropertyProxy_ReadOnly< bool > | property_enable_tree_lines () const
| Default value: `false` More...
Glib::PropertyProxy< int > | property_tooltip_column ()
| Default value: -1. More...
Glib::PropertyProxy_ReadOnly< int > | property_tooltip_column () const
| Default value: -1. More...
Glib::PropertyProxy< bool > | property_activate_on_single_click ()
| The activate-on-single-click property specifies whether the "row-activated" signal will be emitted after a single click. More...
Glib::PropertyProxy_ReadOnly< bool > | property_activate_on_single_click () const
| The activate-on-single-click property specifies whether the "row-activated" signal will be emitted after a single click. More...
Public Member Functions inherited from Gtk::Widget
| Widget (Widget && src) noexcept
Widget & | operator= (Widget && src) noexcept
| Widget (const Widget &)=delete
Widget & | operator= (const Widget &)=delete
| ~Widget () noexcept override
| Destroys the widget. More...
GtkWidget * | gobj ()
| Provides access to the underlying C GObject. More...
const GtkWidget * | gobj () const
| Provides access to the underlying C GObject. More...
Glib::RefPtr< ConstraintTarget > | make_refptr_constrainttarget ()
| Converts this widget to a reference counted Gtk::ConstraintTarget. More...
Glib::RefPtr< const ConstraintTarget > | make_refptr_constrainttarget () const
| Converts this widget to a reference counted Gtk::ConstraintTarget. More...
void | show ()
| Flags a widget to be displayed. More...
void | hide ()
| Reverses the effects of show(). More...
void | queue_draw ()
| Schedules this widget to be redrawn in the paint phase of the current or the next frame. More...
void | queue_resize ()
| Flags a widget to have its size renegotiated. More...
void | queue_allocate ()
| Flags the widget for a rerun of the size_allocate_vfunc() function. More...
void | size_allocate (const Allocation & allocation, int baseline)
| Allocates widget with a transformation that translates the origin to the position in allocation. More...
SizeRequestMode | get_request_mode () const
| Gets whether the widget prefers a height-for-width layout or a width-for-height layout. More...
void | measure (Orientation orientation, int for_size, int & minimum, int & natural, int & minimum_baseline, int & natural_baseline) const
| Measures widget in the orientation orientation and for the given for_size. More...
void | get_preferred_size (Requisition & minimum_size, Requisition & natural_size) const
| Retrieves the minimum and natural size of a widget, taking into account the widget’s preference for height-for-width management. More...
void | set_layout_manager (const Glib::RefPtr< LayoutManager > & layout_manager)
| Sets the layout manager delegate instance that provides an implementation for measuring and allocating the children of widget. More...
void | unset_layout_manager ()
| Undoes the effect of a previous call to set_layout_manager(). More...
Glib::RefPtr< LayoutManager > | get_layout_manager ()
| Retrieves the layout manager used by widget. More...
Glib::RefPtr< const LayoutManager > | get_layout_manager () const
| Retrieves the layout manager used by widget. More...
bool | mnemonic_activate (bool group_cycling)
| Emits the signal_mnemonic_activate() signal. More...
bool | activate ()
| For widgets that can be “activated” (buttons, menu items, etc.) this function activates them. More...
void | set_can_focus (bool can_focus=true)
| Specifies whether the input focus can enter the widget or any of its children. More...
bool | get_can_focus () const
| Determines whether the input focus can enter widget or any of its children. More...
void | set_focusable (bool focusable=true)
| Specifies whether widget can own the input focus. More...
bool | get_focusable () const
| Determines whether widget can own the input focus. More...
bool | has_focus () const
| Determines if the widget has the global input focus. More...
bool | is_focus () const
| Determines if the widget is the focus widget within its toplevel. More...
bool | has_visible_focus () const
| Determines if the widget should show a visible indication that it has the global input focus. More...
bool | grab_focus ()
| Causes widget to have the keyboard focus for the `Gtk::Window` it's inside. More...
void | set_focus_on_click (bool focus_on_click=true)
| Sets whether the widget should grab focus when it is clicked with the mouse. More...
bool | get_focus_on_click () const
| Returns whether the widget should grab focus when it is clicked with the mouse. More...
void | set_can_target (bool can_target=true)
| Sets whether widget can be the target of pointer events. More...
bool | get_can_target () const
| Queries whether widget can be the target of pointer events. More...
bool | has_default () const
| Determines whether widget is the current default widget within its toplevel. More...
void | set_receives_default (bool receives_default=true)
| Specifies whether widget will be treated as the default widget within its toplevel when it has the focus, even if another widget is the default. More...
bool | get_receives_default () const
| Determines whether widget is always treated as the default widget within its toplevel when it has the focus, even if another widget is the default. More...
void | set_name (const Glib::ustring & name)
| Sets a widgets name. More...
void | unset_name ()
Glib::ustring | get_name () const
| Retrieves the name of a widget. More...
void | set_state_flags (StateFlags flags, bool clear=true)
| Turns on flag values in the current widget state. More...
void | unset_state_flags (StateFlags flags)
| Turns off flag values for the current widget state. More...
StateFlags | get_state_flags () const
| Returns the widget state as a flag set. More...
void | set_sensitive (bool sensitive=true)
| Sets the sensitivity of a widget. More...
bool | get_sensitive () const
| Returns the widget’s sensitivity. More...
bool | is_sensitive () const
| Returns the widget’s effective sensitivity. More...
void | set_visible (bool visible=true)
| Sets the visibility state of widget. More...
bool | get_visible () const
| Determines whether the widget is visible. More...
bool | is_visible () const
| Determines whether the widget and all its parents are marked as visible. More...
bool | is_drawable () const
| Determines whether widget can be drawn to. More...
bool | get_realized () const
| Determines whether widget is realized. More...
bool | get_mapped () const
| Whether the widget is mapped. More...
void | set_child_visible (bool visible=true)
| Sets whether widget should be mapped along with its parent. More...
bool | get_child_visible () const
| Gets the value set with set_child_visible(). More...
int | get_allocated_width () const
| Returns the width that has currently been allocated to widget. More...
int | get_allocated_height () const
| Returns the height that has currently been allocated to widget. More...
int | get_allocated_baseline () const
| Returns the baseline that has currently been allocated to widget. More...
Allocation | get_allocation () const
| Retrieves the widget’s location. More...
int | get_width () const
| Returns the content width of the widget. More...
int | get_height () const
| Returns the content height of the widget. More...
int | get_size (Orientation orientation) const
| Returns the content width or height of the widget. More...
Widget * | get_parent ()
| Returns the parent widget of widget. More...
const Widget * | get_parent () const
| Returns the parent widget of widget. More...
Root * | get_root ()
| Returns the `Gtk::Root` widget of widget. More...
const Root * | get_root () const
| Returns the `Gtk::Root` widget of widget. More...
Native * | get_native ()
| Returns the nearest `Gtk::Native` ancestor of widget. More...
const Native * | get_native () const
| Returns the nearest `Gtk::Native` ancestor of widget. More...
bool | child_focus (DirectionType direction)
| Called by widgets as the user moves around the window using keyboard shortcuts. More...
bool | keynav_failed (DirectionType direction)
| Emits the `::keynav-failed` signal on the widget. More...
void | error_bell ()
| Notifies the user about an input-related error on this widget. More...
void | set_size_request (int width=-1, int height=-1)
| Sets the minimum size of a widget. More...
void | get_size_request (int & width, int & height) const
| Gets the size request that was explicitly set for the widget using set_size_request(). More...
void | set_opacity (double opacity)
| Request the widget to be rendered partially transparent. More...
double | get_opacity () const
| #Fetches the requested opacity for this widget. More...
void | set_overflow (Overflow overflow)
| Sets how widget treats content that is drawn outside the widget's content area. More...
Overflow | get_overflow () const
| Returns the widgets overflow value. More...
Widget * | get_ancestor (GType widget_type)
| Gets the first ancestor of widget with type widget_type. More...
const Widget * | get_ancestor (GType widget_type) const
| Gets the first ancestor of widget with type widget_type. More...
int | get_scale_factor () const
| Retrieves the internal scale factor that maps from window coordinates to the actual device pixels. More...
Glib::RefPtr< Gdk::Display > | get_display ()
| Get the `Gdk::Display` for the toplevel window associated with this widget. More...
Glib::RefPtr< const Gdk::Display > | get_display () const
| Get the `Gdk::Display` for the toplevel window associated with this widget. More...
Glib::RefPtr< Settings > | get_settings ()
| Gets the settings object holding the settings used for this widget. More...
Glib::RefPtr< Gdk::Clipboard > | get_clipboard ()
| Gets the clipboard object for widget. More...
Glib::RefPtr< const Gdk::Clipboard > | get_clipboard () const
| Gets the clipboard object for widget. More...
Glib::RefPtr< Gdk::Clipboard > | get_primary_clipboard ()
| Gets the primary clipboard of widget. More...
Glib::RefPtr< const Gdk::Clipboard > | get_primary_clipboard () const
| Gets the primary clipboard of widget. More...
bool | get_hexpand () const
| Gets whether the widget would like any available extra horizontal space. More...
void | set_hexpand (bool expand=true)
| Sets whether the widget would like any available extra horizontal space. More...
bool | get_hexpand_set () const
| Gets whether set_hexpand() has been used to explicitly set the expand flag on this widget. More...
void | set_hexpand_set (bool set=true)
| Sets whether the hexpand flag will be used. More...
bool | get_vexpand () const
| Gets whether the widget would like any available extra vertical space. More...
void | set_vexpand (bool expand=true)
| Sets whether the widget would like any available extra vertical space. More...
bool | get_vexpand_set () const
| Gets whether set_vexpand() has been used to explicitly set the expand flag on this widget. More...
void | set_vexpand_set (bool set=true)
| Sets whether the vexpand flag will be used. More...
bool | compute_expand (Orientation orientation)
| Computes whether a container should give this widget extra space when possible. More...
void | set_expand (bool expand=true)
| Sets whether the widget would like any available extra space in both directions. More...
Align | get_halign () const
| Gets the horizontal alignment of widget. More...
void | set_halign (Align align)
| Sets the horizontal alignment of widget. More...
Align | get_valign () const
| Gets the vertical alignment of widget. More...
void | set_valign (Align align)
| Sets the vertical alignment of widget. More...
int | get_margin_start () const
| Gets the start margin of widget. More...
void | set_margin_start (int margin)
| Sets the start margin of widget. More...
int | get_margin_end () const
| Gets the end margin of widget. More...
void | set_margin_end (int margin)
| Sets the end margin of widget. More...
int | get_margin_top () const
| Gets the top margin of widget. More...
void | set_margin_top (int margin)
| Sets the top margin of widget. More...
int | get_margin_bottom () const
| Gets the bottom margin of widget. More...
void | set_margin_bottom (int margin)
| Sets the bottom margin of widget. More...
void | set_margin (int margin)
| Set all 4 margins to the same value. More...
bool | is_ancestor (Widget & ancestor) const
| Determines whether widget is somewhere inside ancestor, possibly with intermediate containers. More...
bool | translate_coordinates (Widget & dest_widget, double src_x, double src_y, double & dest_x, double & dest_y)
| Translate coordinates relative to src_widget’s allocation to coordinates relative to dest_widget’s allocations. More...
bool | contains (double x, double y) const
| Tests if the point at ( x, y) is contained in widget. More...
Widget * | pick (double x, double y, PickFlags flags=PickFlags::DEFAULT)
| Finds the descendant of widget closest to the point ( x, y). More...
const Widget * | pick (double x, double y, PickFlags flags=PickFlags::DEFAULT) const
| Finds the descendant of widget closest to the point ( x, y). More...
void | add_controller (const Glib::RefPtr< EventController > & controller)
| Adds controller to widget so that it will receive events. More...
void | remove_controller (const Glib::RefPtr< EventController > & controller)
| Removes controller from widget, so that it doesn't process events anymore. More...
Glib::RefPtr< Pango::Context > | create_pango_context ()
| Creates a new `Pango::Context` with the appropriate font map, font options, font description, and base direction for drawing text for this widget. More...
Glib::RefPtr< Pango::Context > | get_pango_context ()
| Gets a `Pango::Context` with the appropriate font map, font description, and base direction for this widget. More...
void | set_font_options (const Cairo::FontOptions & options)
| Sets the `cairo_font_options_t` used for Pango rendering in this widget. More...
void | unset_font_options ()
| Undoes the effect of previous calls to set_font_options(). More...
Cairo::FontOptions | get_font_options () const
| Returns the `cairo_font_options_t` of widget. More...
Glib::RefPtr< Pango::Layout > | create_pango_layout (const Glib::ustring & text)
| Creates a new `Pango::Layout` with the appropriate font map, font description, and base direction for drawing text for this widget. More...
void | set_direction (TextDirection dir)
| Sets the reading direction on a particular widget. More...
TextDirection | get_direction () const
| Gets the reading direction for a particular widget. More...
void | set_cursor (const Glib::RefPtr< Gdk::Cursor > & cursor)
| Sets the cursor to be shown when pointer devices point towards widget. More...
void | set_cursor (const Glib::ustring & name={})
| Sets a named cursor to be shown when pointer devices point towards the widget. More...
Glib::RefPtr< Gdk::Cursor > | get_cursor ()
| Queries the cursor set on widget. More...
Glib::RefPtr< const Gdk::Cursor > | get_cursor () const
| Queries the cursor set on widget. More...
std::vector< Widget * > | list_mnemonic_labels ()
| Returns the widgets for which this widget is the target of a mnemonic. More...
std::vector< const Widget * > | list_mnemonic_labels () const
| Returns the widgets for which this widget is the target of a mnemonic. More...
void | add_mnemonic_label (Widget & label)
| Adds a widget to the list of mnemonic labels for this widget. More...
void | remove_mnemonic_label (Widget & label)
| Removes a widget from the list of mnemonic labels for this widget. More...
bool | drag_check_threshold (int start_x, int start_y, int current_x, int current_y)
| Checks to see if a drag movement has passed the GTK drag threshold. More...
Glib::RefPtr< Gdk::FrameClock > | get_frame_clock ()
| Obtains the frame clock for a widget. More...
Glib::RefPtr< const Gdk::FrameClock > | get_frame_clock () const
| Obtains the frame clock for a widget. More...
void | set_parent (Widget & parent)
| Sets parent as the parent widget of widget. More...
void | unparent ()
| Dissociate widget from its parent. More...
void | map ()
| Causes a widget to be mapped if it isn’t already. More...
void | unmap ()
| Causes a widget to be unmapped if it’s currently mapped. More...
void | trigger_tooltip_query ()
| Triggers a tooltip query on the display where the toplevel of widget is located. More...
void | set_tooltip_text (const Glib::ustring & text)
| Sets text as the contents of the tooltip. More...
Glib::ustring | get_tooltip_text () const
| Gets the contents of the tooltip for widget. More...
void | set_tooltip_markup (const Glib::ustring & markup)
| Sets markup as the contents of the tooltip, which is marked up with the Pango text markup language. More...
Glib::ustring | get_tooltip_markup () const
| Gets the contents of the tooltip for widget. More...
void | set_has_tooltip (bool has_tooltip=TRUE)
| Sets the `has-tooltip` property on widget to has_tooltip. More...
bool | get_has_tooltip () const
| Returns the current value of the `has-tooltip` property. More...
bool | in_destruction () const
| Returns whether the widget is currently being destroyed. More...
Glib::RefPtr< StyleContext > | get_style_context ()
| Returns the style context associated to widget. More...
Glib::RefPtr< const StyleContext > | get_style_context () const
| Returns the style context associated to widget. More...
guint | add_tick_callback (const SlotTick & slot)
| Queues an animation frame update and adds a callback to be called before each frame. More...
void | remove_tick_callback (guint id)
| Removes a tick callback previously registered with add_tick_callback(). More...
void | insert_action_group (const Glib::ustring & name, const Glib::RefPtr< Gio::ActionGroup > & group)
| Inserts group into widget. More...
void | remove_action_group (const Glib::ustring & name)
| Removes a group from the widget. More...
bool | activate_action (const Glib::ustring & name, const Glib::VariantBase & args={})
| Looks up the action in the action groups associated with the widget and its ancestors, and activates it. More...
void | activate_default ()
| Activates the `default.activate` action from widget. More...
void | set_font_map (const Glib::RefPtr< Pango::FontMap > & font_map)
| Sets the font map to use for Pango rendering. More...
Glib::RefPtr< Pango::FontMap > | get_font_map ()
| Gets the font map of widget. More...
Glib::RefPtr< const Pango::FontMap > | get_font_map () const
| Gets the font map of widget. More...
Widget * | get_first_child ()
| Returns the widgets first child. More...
const Widget * | get_first_child () const
| Returns the widgets first child. More...
Widget * | get_last_child ()
| Returns the widgets last child. More...
const Widget * | get_last_child () const
| Returns the widgets last child. More...
Widget * | get_next_sibling ()
| Returns the widgets next sibling. More...
const Widget * | get_next_sibling () const
| Returns the widgets next sibling. More...
Widget * | get_prev_sibling ()
| Returns the widgets previous sibling. More...
const Widget * | get_prev_sibling () const
| Returns the widgets previous sibling. More...
Glib::RefPtr< Gio::ListModel > | observe_children ()
| Returns a `Gio::ListModel` to track the children of widget. More...
Glib::RefPtr< const Gio::ListModel > | observe_children () const
| Returns a `Gio::ListModel` to track the children of widget. More...
Glib::RefPtr< Gio::ListModel > | observe_controllers ()
| Returns a `Gio::ListModel` to track the Gtk::EventControllers of widget. More...
Glib::RefPtr< const Gio::ListModel > | observe_controllers () const
| Returns a `Gio::ListModel` to track the Gtk::EventControllers of widget. More...
void | insert_after (Widget & parent, const Widget & previous_sibling)
| Inserts the Widget into the child widget list of parent after previous_sibling. More...
void | insert_before (Widget & parent, const Widget & next_sibling)
| Inserts the Widget into the child widget list of parent before next_sibling. More...
void | insert_at_start (Widget & parent)
| Inserts the Widget at the beginning of the child widget list of parent. More...
void | insert_at_end (Widget & parent)
| Inserts the Widget at the end of the child widget list of parent. More...
void | snapshot_child (Widget & child, const Glib::RefPtr< Gtk::Snapshot > & snapshot)
| Snapshot the a child of widget. More...
bool | should_layout () const
| Returns whether widget should contribute to the measuring and allocation of its parent. More...
Glib::ustring | get_css_name () const
| Returns the CSS name that is used for self. More...
void | add_css_class (const Glib::ustring & css_class)
| Adds a style class to widget. More...
void | remove_css_class (const Glib::ustring & css_class)
| Removes a style from widget. More...
bool | has_css_class (const Glib::ustring & css_class) const
| Returns whether css_class is currently applied to widget. More...
std::vector< Glib::ustring > | get_css_classes () const
| Returns the list of style classes applied to widget. More...
void | set_css_classes (const std::vector< Glib::ustring > & classes)
| Clear all style classes applied to widget and replace them with classes. More...
Glib::SignalProxy< void()> | signal_show ()
Glib::SignalProxy< void()> | signal_hide ()
Glib::SignalProxy< void()> | signal_map ()
| Emitted on mapping of a widget to the screen. More...
Glib::SignalProxy< void()> | signal_unmap ()
Glib::SignalProxy< void()> | signal_realize ()
| Emitted on realization of a widget. More...
Glib::SignalProxy< void()> | signal_unrealize ()
Glib::SignalProxy< void(Gtk::StateFlags)> | signal_state_flags_changed ()
Glib::SignalProxy< void(TextDirection)> | signal_direction_changed ()
Glib::SignalProxy< bool(bool)> | signal_mnemonic_activate ()
Glib::SignalProxy< void()> | signal_destroy ()
| Emitted during the dispose phase. More...
Glib::SignalProxy< bool(int, int, bool, const Glib::RefPtr< Tooltip > &)> | signal_query_tooltip ()
Glib::PropertyProxy< Glib::ustring > | property_name ()
| The name of the widget. More...
Glib::PropertyProxy_ReadOnly< Glib::ustring > | property_name () const
| The name of the widget. More...
Glib::PropertyProxy_ReadOnly< Widget * > | property_parent () const
| The parent widget of this widget. More...
Glib::PropertyProxy_ReadOnly< Root * > | property_root () const
| The `Gtk::Root` widget of the widget tree containing this widget. More...
Glib::PropertyProxy< int > | property_width_request ()
| Override for width request of the widget. More...
Glib::PropertyProxy_ReadOnly< int > | property_width_request () const
| Override for width request of the widget. More...
Glib::PropertyProxy< int > | property_height_request ()
| Override for height request of the widget. More...
Glib::PropertyProxy_ReadOnly< int > | property_height_request () const
| Override for height request of the widget. More...
Glib::PropertyProxy< bool > | property_visible ()
| Whether the widget is visible. More...
Glib::PropertyProxy_ReadOnly< bool > | property_visible () const
| Whether the widget is visible. More...
Glib::PropertyProxy< bool > | property_sensitive ()
| Whether the widget responds to input. More...
Glib::PropertyProxy_ReadOnly< bool > | property_sensitive () const
| Whether the widget responds to input. More...
Glib::PropertyProxy< bool > | property_can_focus ()
| Whether the widget or any of its descendents can accept the input focus. More...
Glib::PropertyProxy_ReadOnly< bool > | property_can_focus () const
| Whether the widget or any of its descendents can accept the input focus. More...
Glib::PropertyProxy_ReadOnly< bool > | property_has_focus () const
| Whether the widget has the input focus. More...
Glib::PropertyProxy< bool > | property_can_target ()
| Whether the widget can receive pointer events. More...
Glib::PropertyProxy_ReadOnly< bool > | property_can_target () const
| Whether the widget can receive pointer events. More...
Glib::PropertyProxy< bool > | property_focus_on_click ()
| Whether the widget should grab focus when it is clicked with the mouse. More...
Glib::PropertyProxy_ReadOnly< bool > | property_focus_on_click () const
| Whether the widget should grab focus when it is clicked with the mouse. More...
Glib::PropertyProxy< bool > | property_focusable ()
| Whether this widget itself will accept the input focus. More...
Glib::PropertyProxy_ReadOnly< bool > | property_focusable () const
| Whether this widget itself will accept the input focus. More...
Glib::PropertyProxy_ReadOnly< bool > | property_has_default () const
| Whether the widget is the default widget. More...
Glib::PropertyProxy< bool > | property_receives_default ()
| Whether the widget will receive the default action when it is focused. More...
Glib::PropertyProxy_ReadOnly< bool > | property_receives_default () const
| Whether the widget will receive the default action when it is focused. More...
Glib::PropertyProxy< Glib::RefPtr< Gdk::Cursor > > | property_cursor ()
| The cursor used by widget. More...
Glib::PropertyProxy_ReadOnly< Glib::RefPtr< Gdk::Cursor > > | property_cursor () const
| The cursor used by widget. More...
Glib::PropertyProxy< bool > | property_has_tooltip ()
| Enables or disables the emission of the signal_query_tooltip() signal on widget. More...
Glib::PropertyProxy_ReadOnly< bool > | property_has_tooltip () const
| Enables or disables the emission of the signal_query_tooltip() signal on widget. More...
Glib::PropertyProxy< Glib::ustring > | property_tooltip_markup ()
| Sets the text of tooltip to be the given string, which is marked up with Pango markup. More...
Glib::PropertyProxy_ReadOnly< Glib::ustring > | property_tooltip_markup () const
| Sets the text of tooltip to be the given string, which is marked up with Pango markup. More...
Glib::PropertyProxy< Glib::ustring > | property_tooltip_text ()
| Sets the text of tooltip to be the given string. More...
Glib::PropertyProxy_ReadOnly< Glib::ustring > | property_tooltip_text () const
| Sets the text of tooltip to be the given string. More...
Glib::PropertyProxy< Align > | property_halign ()
| How to distribute horizontal space if widget gets extra space. More...
Glib::PropertyProxy_ReadOnly< Align > | property_halign () const
| How to distribute horizontal space if widget gets extra space. More...
Glib::PropertyProxy< Align > | property_valign ()
| How to distribute vertical space if widget gets extra space. More...
Glib::PropertyProxy_ReadOnly< Align > | property_valign () const
| How to distribute vertical space if widget gets extra space. More...
Glib::PropertyProxy< int > | property_margin_start ()
| Margin on start of widget, horizontally. More...
Glib::PropertyProxy_ReadOnly< int > | property_margin_start () const
| Margin on start of widget, horizontally. More...
Glib::PropertyProxy< int > | property_margin_end ()
| Margin on end of widget, horizontally. More...
Glib::PropertyProxy_ReadOnly< int > | property_margin_end () const
| Margin on end of widget, horizontally. More...
Glib::PropertyProxy< int > | property_margin_top ()
| Margin on top side of widget. More...
Glib::PropertyProxy_ReadOnly< int > | property_margin_top () const
| Margin on top side of widget. More...
Glib::PropertyProxy< int > | property_margin_bottom ()
| Margin on bottom side of widget. More...
Glib::PropertyProxy_ReadOnly< int > | property_margin_bottom () const
| Margin on bottom side of widget. More...
Glib::PropertyProxy< bool > | property_hexpand ()
| Whether to expand horizontally. More...
Glib::PropertyProxy_ReadOnly< bool > | property_hexpand () const
| Whether to expand horizontally. More...
Glib::PropertyProxy< bool > | property_hexpand_set ()
| Whether to use the `hexpand` property. More...
Glib::PropertyProxy_ReadOnly< bool > | property_hexpand_set () const
| Whether to use the `hexpand` property. More...
Glib::PropertyProxy< bool > | property_vexpand ()
| Whether to expand vertically. More...
Glib::PropertyProxy_ReadOnly< bool > | property_vexpand () const
| Whether to expand vertically. More...
Glib::PropertyProxy< bool > | property_vexpand_set ()
| Whether to use the `vexpand` property. More...
Glib::PropertyProxy_ReadOnly< bool > | property_vexpand_set () const
| Whether to use the `vexpand` property. More...
Glib::PropertyProxy< double > | property_opacity ()
| The requested opacity of the widget. More...
Glib::PropertyProxy_ReadOnly< double > | property_opacity () const
| The requested opacity of the widget. More...
Glib::PropertyProxy< Overflow > | property_overflow ()
| How content outside the widget's content area is treated. More...
Glib::PropertyProxy_ReadOnly< Overflow > | property_overflow () const
| How content outside the widget's content area is treated. More...
Glib::PropertyProxy_ReadOnly< int > | property_scale_factor () const
| The scale factor of the widget. More...
Glib::PropertyProxy_ReadOnly< Glib::ustring > | property_css_name () const
| The name of this widget in the CSS tree. More...
Glib::PropertyProxy< std::vector< Glib::ustring > > | property_css_classes ()
| A list of css classes applied to this widget. More...
Glib::PropertyProxy_ReadOnly< std::vector< Glib::ustring > > | property_css_classes () const
| A list of css classes applied to this widget. More...
Glib::PropertyProxy< Glib::RefPtr< LayoutManager > > | property_layout_manager ()
| The `Gtk::LayoutManager` instance to use to compute the preferred size of the widget, and allocate its children. More...
Glib::PropertyProxy_ReadOnly< Glib::RefPtr< LayoutManager > > | property_layout_manager () const
| The `Gtk::LayoutManager` instance to use to compute the preferred size of the widget, and allocate its children. More...
Public Member Functions inherited from Gtk::Object
| Object (Object && src) noexcept
Object & | operator= (Object && src) noexcept
| ~Object () noexcept override
Public Member Functions inherited from Glib::Object
| Object (const Object &)=delete
Object & | operator= (const Object &)=delete
| Object (Object &&src) noexcept
Object & | operator= (Object &&src) noexcept
void * | get_data (const QueryQuark &key)
void | set_data (const Quark &key, void *data)
void | set_data (const Quark &key, void *data, DestroyNotify notify)
void | remove_data (const QueryQuark &quark)
void * | steal_data (const QueryQuark &quark)
Glib::RefPtr< Glib::Object > | wrap (GObject *object, bool take_copy=false)
Public Member Functions inherited from Glib::ObjectBase
| ObjectBase (const ObjectBase &)=delete
ObjectBase & | operator= (const ObjectBase &)=delete
void | set_property_value (const Glib::ustring &property_name, const Glib::ValueBase &value)
void | get_property_value (const Glib::ustring &property_name, Glib::ValueBase &value) const
void | set_property (const Glib::ustring &property_name, const PropertyType &value)
void | get_property (const Glib::ustring &property_name, PropertyType &value) const
PropertyType | get_property (const Glib::ustring &property_name) const
sigc::connection | connect_property_changed (const Glib::ustring &property_name, const sigc::slot< void()> &slot)
sigc::connection | connect_property_changed (const Glib::ustring &property_name, sigc::slot< void()> &&slot)
void | freeze_notify ()
void | thaw_notify ()
virtual void | reference () const
virtual void | unreference () const
GObject * | gobj ()
const GObject * | gobj () const
GObject * | gobj_copy () const
Public Member Functions inherited from Gtk::Accessible
| Accessible (Accessible && src) noexcept
Accessible & | operator= (Accessible && src) noexcept
| ~Accessible () noexcept override
GtkAccessible * | gobj ()
| Provides access to the underlying C GObject. More...
const GtkAccessible * | gobj () const
| Provides access to the underlying C GObject. More...
Role | get_accessible_role () const
| Retrieves the `Gtk::Accessible::Role` for the given `Gtk::Accessible`. More...
void | update_state (State state, const Glib::ValueBase & value)
| Updates an accessible state. More...
void | update_property (Property property, const Glib::ValueBase & value)
| Updates an accessible property. More...
void | update_relation (Relation relation, const Glib::ValueBase & value)
| Updates an accessible relation. More...
void | reset_state (State state)
| Resets the accessible state to its default value. More...
void | reset_property (Property property)
| Resets the accessible property to its default value. More...
void | reset_relation (Relation relation)
| Resets the accessible relation to its default value. More...
Glib::PropertyProxy< Role > | property_accessible_role ()
| The accessible role of the given `Gtk::Accessible` implementation. More...
Glib::PropertyProxy_ReadOnly< Role > | property_accessible_role () const
| The accessible role of the given `Gtk::Accessible` implementation. More...
Public Member Functions inherited from Glib::Interface
| Interface ()
| Interface (Interface &&src) noexcept
Interface & | operator= (Interface &&src) noexcept
| Interface (const Glib::Interface_Class &interface_class)
| Interface (GObject *castitem)
| ~Interface () noexcept override
| Interface (const Interface &)=delete
Interface & | operator= (const Interface &)=delete
GObject * | gobj ()
const GObject * | gobj () const
Public Member Functions inherited from Gtk::Buildable
| Buildable (Buildable && src) noexcept
Buildable & | operator= (Buildable && src) noexcept
| ~Buildable () noexcept override
GtkBuildable * | gobj ()
| Provides access to the underlying C GObject. More...
const GtkBuildable * | gobj () const
| Provides access to the underlying C GObject. More...
Glib::ustring | get_buildable_id () const
| Gets the ID of the buildable object. More...
Public Member Functions inherited from Gtk::ConstraintTarget
| ConstraintTarget (ConstraintTarget && src) noexcept
ConstraintTarget & | operator= (ConstraintTarget && src) noexcept
| ~ConstraintTarget () noexcept override
GtkConstraintTarget * | gobj ()
| Provides access to the underlying C GObject. More...
const GtkConstraintTarget * | gobj () const
| Provides access to the underlying C GObject. More...
Public Member Functions inherited from Gtk::Scrollable
| Scrollable (Scrollable && src) noexcept
Scrollable & | operator= (Scrollable && src) noexcept
| ~Scrollable () noexcept override
GtkScrollable * | gobj ()
| Provides access to the underlying C GObject. More...
const GtkScrollable * | gobj () const
| Provides access to the underlying C GObject. More...
Glib::RefPtr< Adjustment > | get_hadjustment ()
| Retrieves the `Gtk::Adjustment` used for horizontal scrolling. More...
Glib::RefPtr< const Adjustment > | get_hadjustment () const
| Retrieves the `Gtk::Adjustment` used for horizontal scrolling. More...
void | set_hadjustment (const Glib::RefPtr< Adjustment > & hadjustment)
| Sets the horizontal adjustment of the `Gtk::Scrollable`. More...
void | unset_hadjustment ()
| This method removes the hadjustment. More...
Glib::RefPtr< Adjustment > | get_vadjustment ()
| Retrieves the `Gtk::Adjustment` used for vertical scrolling. More...
Glib::RefPtr< const Adjustment > | get_vadjustment () const
| Retrieves the `Gtk::Adjustment` used for vertical scrolling. More...
void | set_vadjustment (const Glib::RefPtr< Adjustment > & vadjustment)
| Sets the vertical adjustment of the `Gtk::Scrollable`. More...
void | unset_vadjustment ()
| This method removes the vadjustment. More...
Policy | get_hscroll_policy () const
| Gets the horizontal `Gtk::Scrollable::Policy`. More...
void | set_hscroll_policy (Policy policy)
| Sets the `Gtk::Scrollable::Policy`. More...
Policy | get_vscroll_policy () const
| Gets the vertical `Gtk::Scrollable::Policy`. More...
void | set_vscroll_policy (Policy policy)
| Sets the `Gtk::Scrollable::Policy`. More...
bool | get_border (Border & border) const
| Returns the size of a non-scrolling border around the outside of the scrollable. More...
Glib::PropertyProxy< Glib::RefPtr< Adjustment > > | property_hadjustment ()
| Horizontal `Gtk::Adjustment` of the scrollable widget. More...
Glib::PropertyProxy_ReadOnly< Glib::RefPtr< Adjustment > > | property_hadjustment () const
| Horizontal `Gtk::Adjustment` of the scrollable widget. More...
Glib::PropertyProxy< Glib::RefPtr< Adjustment > > | property_vadjustment ()
| Vertical `Gtk::Adjustment` of the scrollable widget. More...
Glib::PropertyProxy_ReadOnly< Glib::RefPtr< Adjustment > > | property_vadjustment () const
| Vertical `Gtk::Adjustment` of the scrollable widget. More...
Glib::PropertyProxy< Policy > | property_hscroll_policy ()
| Determines when horizontal scrolling should start. More...
Glib::PropertyProxy_ReadOnly< Policy > | property_hscroll_policy () const
| Determines when horizontal scrolling should start. More...
Glib::PropertyProxy< Policy > | property_vscroll_policy ()
| Determines when vertical scrolling should start. More...
Glib::PropertyProxy_ReadOnly< Policy > | property_vscroll_policy () const
| Determines when vertical scrolling should start. More...

## Static Public Member Functions
static GType | get_type ()
| Get the GType for this class, for use with the underlying GObject type system. More...
Static Public Member Functions inherited from Gtk::Widget
static GType | get_type ()
| Get the GType for this class, for use with the underlying GObject type system. More...
static void | set_default_direction (TextDirection dir)
| Sets the default reading direction for widgets. More...
static TextDirection | get_default_direction ()
| Obtains the current default reading direction. More...
Static Public Member Functions inherited from Gtk::Accessible
static void | add_interface (GType gtype_implementer)
static GType | get_type ()
| Get the GType for this class, for use with the underlying GObject type system. More...
Static Public Member Functions inherited from Gtk::Buildable
static void | add_interface (GType gtype_implementer)
static GType | get_type ()
| Get the GType for this class, for use with the underlying GObject type system. More...
Static Public Member Functions inherited from Gtk::ConstraintTarget
static void | add_interface (GType gtype_implementer)
static GType | get_type ()
| Get the GType for this class, for use with the underlying GObject type system. More...
Static Public Member Functions inherited from Gtk::Scrollable
static void | add_interface (GType gtype_implementer)
static GType | get_type ()
| Get the GType for this class, for use with the underlying GObject type system. More...

## Related Functions
(Note that these are not member functions.)
Gtk::TreeView * | wrap (GtkTreeView * object, bool take_copy=false)
| A Glib::wrap() method for this object. More...
Related Functions inherited from Gtk::Widget
Gtk::Widget * | wrap (GtkWidget * object, bool take_copy=false)
| A Glib::wrap() method for this object. More...
Related Functions inherited from Gtk::Accessible
Glib::RefPtr< Gtk::Accessible > | wrap (GtkAccessible * object, bool take_copy=false)
| A Glib::wrap() method for this object. More...
Related Functions inherited from Gtk::Buildable
Glib::RefPtr< Gtk::Buildable > | wrap (GtkBuildable * object, bool take_copy=false)
| A Glib::wrap() method for this object. More...
Related Functions inherited from Gtk::ConstraintTarget
Glib::RefPtr< Gtk::ConstraintTarget > | wrap (GtkConstraintTarget * object, bool take_copy=false)
| A Glib::wrap() method for this object. More...
Related Functions inherited from Gtk::Scrollable
Glib::RefPtr< Gtk::Scrollable > | wrap (GtkScrollable * object, bool take_copy=false)
| A Glib::wrap() method for this object. More...

## Additional Inherited Members
Protected Member Functions inherited from Gtk::Widget
virtual void | root_vfunc ()
virtual void | unroot_vfunc ()
virtual void | size_allocate_vfunc (int width, int height, int baseline)
virtual SizeRequestMode | get_request_mode_vfunc () const
virtual void | measure_vfunc (Orientation orientation, int for_size, int & minimum, int & natural, int & minimum_baseline, int & natural_baseline) const
virtual bool | grab_focus_vfunc ()
virtual void | set_focus_child_vfunc (Widget * child)
| Sets the focused child of widget. More...
virtual void | compute_expand_vfunc (bool & hexpand_p, bool & vexpand_p)
virtual bool | contains_vfunc (double x, double y) const
virtual void | snapshot_vfunc (const Glib::RefPtr< Gtk::Snapshot > & snapshot)
| Widget ()
void | realize ()
| Creates the GDK resources associated with a widget. More...
void | unrealize ()
| Causes a widget to be unrealized (frees all GDK resources associated with the widget). More...
void | realize_if_needed ()
void | set_focus_child (Widget & child)
| Set child as the current focus child of widget. More...
void | unset_focus_child ()
| Unsets the focus child of the widget. More...
Widget * | get_focus_child ()
| Returns the current focus child of widget. More...
const Widget * | get_focus_child () const
| Returns the current focus child of widget. More...
virtual void | on_show ()
| This is a default handler for the signal signal_show(). More...
virtual void | on_hide ()
| This is a default handler for the signal signal_hide(). More...
virtual void | on_map ()
| This is a default handler for the signal signal_map(). More...
virtual void | on_unmap ()
| This is a default handler for the signal signal_unmap(). More...
virtual void | on_realize ()
| This is a default handler for the signal signal_realize(). More...
virtual void | on_unrealize ()
| This is a default handler for the signal signal_unrealize(). More...
virtual void | on_state_flags_changed (Gtk::StateFlags previous_state_flags)
| This is a default handler for the signal signal_state_flags_changed(). More...
virtual void | on_direction_changed (TextDirection direction)
| This is a default handler for the signal signal_direction_changed(). More...
virtual bool | on_mnemonic_activate (bool group_cycling)
| This is a default handler for the signal signal_mnemonic_activate(). More...
virtual bool | on_query_tooltip (int x, int y, bool keyboard_tooltip, const Glib::RefPtr< Tooltip > & tooltip)
| This is a default handler for the signal signal_query_tooltip(). More...
Protected Member Functions inherited from Glib::Object
| Object ()
| Object (const Glib::ConstructParams &construct_params)
| Object (GObject *castitem)
| ~Object () noexcept override
Protected Member Functions inherited from Glib::ObjectBase
| ObjectBase ()
| ObjectBase (const char *custom_type_name)
| ObjectBase (const std::type_info &custom_type_info)
| ObjectBase (ObjectBase &&src) noexcept
ObjectBase & | operator= (ObjectBase &&src) noexcept
virtual | ~ObjectBase () noexcept=0
void | initialize (GObject *castitem)
void | initialize_move (GObject *castitem, Glib::ObjectBase *previous_wrapper)
Protected Member Functions inherited from Gtk::Accessible
| Accessible ()
| You should derive from this class to use it. More...
Protected Member Functions inherited from Gtk::Buildable
| Buildable ()
| You should derive from this class to use it. More...
Protected Member Functions inherited from Gtk::ConstraintTarget
| ConstraintTarget ()
| You should derive from this class to use it. More...
Protected Member Functions inherited from Gtk::Scrollable
| Scrollable ()
| You should derive from this class to use it. More...
virtual bool | get_border_vfunc (Border & border) const

## 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

## ◆ Column

typedef TreeViewColumn Gtk::TreeView::Column

A visible column in a Gtk::TreeView widget.

## ◆ Selection

typedef TreeSelection Gtk::TreeView::Selection

A selection object for Gtk::TreeView.

## ◆ SlotColumnDrop

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.

## ◆ SlotMapping

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

## ◆ SlotRowSeparator

typedef sigc::slot<bool(const Glib::RefPtr<TreeModel>&, const TreeModel::const_iterator&)> Gtk::TreeView::SlotRowSeparator

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::const_iterator& iter);

## ◆ SlotSearchEqual

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

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

## ◆ SlotTreeCellData

typedef TreeViewColumn::SlotTreeCellData Gtk::TreeView::SlotTreeCellData

## Constructor & Destructor Documentation

## ◆ TreeView() [1/4]

Gtk::TreeView::TreeView | ( | TreeView && | src | ) |
| noexcept

## ◆ TreeView() [2/4]

Gtk::TreeView::TreeView | ( | const TreeView & |  | ) |
| delete

## ◆ ~TreeView()

Gtk::TreeView::~TreeView | ( |  | ) |
| overridenoexcept

## ◆ TreeView() [3/4]

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

Default constructor.

## ◆ TreeView() [4/4]

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

Constructor that binds to a TreeModel.

## Member Function Documentation

## ◆ append_column() [1/3]

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

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

## ◆ append_column() [2/3]

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 .

The returned value is useful, for example, for connecting the column renderer signal to a slot:

int Ncolumns = mTreeView.append_column("Column Title", mColumns.mName);
auto renderer =
dynamic_cast<Gtk::CellRendererText*>(mTreeView.get_column_cell_renderer(Ncolumns-1));
renderer->signal_edited().connect(sigc::mem_fun(*this, &MyWindow::on_name_edited));
Gtk::CellRendererText
Renders text in a cell.
Definition: cellrenderertext.h:54
Gtk::CellRendererText::signal_edited
Glib::SignalProxy< void(const Glib::ustring &, const Glib::ustring &)> signal_edited()

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.

## ◆ append_column() [3/3]

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

  column | The `Gtk::TreeViewColumn` to add.

Returns
  The number of columns in tree_view after appending.

## ◆ append_column_editable()

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

  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.

## ◆ append_column_numeric()

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

  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.
  format | A 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.

## ◆ append_column_numeric_editable()

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 format does not influence the interpretation of the user's input.

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.
  format | A 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.

## ◆ collapse_all()

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

Recursively collapses all visible, expanded nodes in tree_view.

## ◆ collapse_row()

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.

## ◆ columns_autosize()

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

Resizes all columns to their optimal width.

Only works after the treeview has been realized.

## ◆ convert_bin_window_to_tree_coords()

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

Parameters

  bx | X coordinate relative to bin_window.
  by | Y coordinate relative to bin_window.
  tx | Return location for tree X coordinate.
  ty | Return location for tree Y coordinate.

## ◆ convert_bin_window_to_widget_coords()

void Gtk::TreeView::convert_bin_window_to_widget_coords | ( | int | bx,
|  | int | by,
|  | int & | wx,
|  | int & | wy
| ) |  | const

Converts bin_window coordinates to widget relative coordinates.

Parameters

  bx | Bin_window X coordinate.
  by | Bin_window Y coordinate.
  wx | Return location for widget X coordinate.
  wy | Return location for widget Y coordinate.

## ◆ convert_tree_to_bin_window_coords()

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.

Parameters

  tx | Tree X coordinate.
  ty | Tree Y coordinate.
  bx | Return location for X coordinate relative to bin_window.
  by | Return location for Y coordinate relative to bin_window.

## ◆ convert_tree_to_widget_coords()

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.

Parameters

  tx | X coordinate relative to the tree.
  ty | Y coordinate relative to the tree.
  wx | Return location for widget X coordinate.
  wy | Return location for widget Y coordinate.

## ◆ convert_widget_to_bin_window_coords()

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.

Parameters

  wx | X coordinate relative to the widget.
  wy | Y coordinate relative to the widget.
  bx | Return location for bin_window X coordinate.
  by | Return location for bin_window Y coordinate.

## ◆ convert_widget_to_tree_coords()

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

Parameters

  wx | X coordinate relative to the widget.
  wy | Y coordinate relative to the widget.
  tx | Return location for tree X coordinate.
  ty | Return location for tree Y coordinate.

## ◆ create_row_drag_icon()

Glib::RefPtr< Gdk::Paintable > 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

  path | A `Gtk::TreePath` in tree_view.

Returns
  A newly-allocated surface of the drag icon.

## ◆ enable_model_drag_dest() [1/2]

void Gtk::TreeView::enable_model_drag_dest | ( | const Glib::RefPtr< const Gdk::ContentFormats > & | formats,
|  | Gdk::DragAction | actions = `Gdk::DragAction::COPY|Gdk::DragAction::MOVE`
| ) |  |

Turns tree_view into a drop destination for automatic DND.

Calling this method sets `Gtk::TreeView`:reorderable to `false`.

Parameters

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

## ◆ enable_model_drag_dest() [2/2]

void Gtk::TreeView::enable_model_drag_dest | ( | Gdk::DragAction | actions = `Gdk::DragAction::COPY|Gdk::DragAction::MOVE` | ) |

Turns the TreeView into a drop destination for automatic DND.

Calling this method sets property_reorderable() to `false`. Uses the GTK_TYPE_TREE_ROW_DATA GType target, which the TreeView can handle automatically.

Parameters

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

## ◆ enable_model_drag_source() [1/2]

void Gtk::TreeView::enable_model_drag_source | ( | const Glib::RefPtr< const Gdk::ContentFormats > & | formats,
|  | Gdk::ModifierType | start_button_mask = `static_cast< Gdk::ModifierType >(GDK_MODIFIER_MASK)`,
|  | Gdk::DragAction | actions = `Gdk::DragAction::COPY|Gdk::DragAction::MOVE`
| ) |  |

Turns tree_view into a drag source for automatic DND.

Calling this method sets `Gtk::TreeView`:reorderable to `false`.

Parameters

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

## ◆ enable_model_drag_source() [2/2]

void Gtk::TreeView::enable_model_drag_source | ( | Gdk::ModifierType | start_button_mask = `static_cast< Gdk::ModifierType >(GDK_MODIFIER_MASK)`,
|  | Gdk::DragAction | actions = `Gdk::DragAction::COPY|Gdk::DragAction::MOVE`
| ) |  |

Turns the TreeView into a drag source for automatic DND.

Calling this method sets property_reorderable() to `false`. Uses the GTK_TYPE_TREE_ROW_DATA GType target, which the TreeView can handle automatically.

Parameters

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

## ◆ expand_all()

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

Recursively expands all nodes in the tree_view.

## ◆ expand_row()

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.

## ◆ expand_to_path()

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.

Parameters

  path | Path to a row.

## ◆ get_activate_on_single_click()

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

Gets the setting set by set_activate_on_single_click().

Returns
  `true` if row-activated will be emitted on a single click.

## ◆ get_background_area()

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

## ◆ get_cell_area()

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

## ◆ get_column() [1/2]

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 `nullptr` if the position is outside the range of columns.

## ◆ get_column() [2/2]

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 `nullptr` if the position is outside the range of columns.

## ◆ get_column_cell_renderer() [1/2]

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.

## ◆ get_column_cell_renderer() [2/2]

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.

## ◆ get_columns() [1/2]

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.

## ◆ get_columns() [2/2]

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.

## ◆ get_cursor()

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

## ◆ get_dest_row_at_pos()

bool Gtk::TreeView::get_dest_row_at_pos | ( | int | drag_x,
|  | int | drag_y,
|  | TreeModel::Path & | path,
|  | DropPosition & | 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

## ◆ get_drag_dest_row()

void Gtk::TreeView::get_drag_dest_row | ( | TreeModel::Path & | path,
|  | DropPosition & | 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

## ◆ get_enable_search()

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.

## ◆ get_enable_tree_lines()

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

Returns whether or not tree lines are drawn in tree_view.

Returns
  `true` if tree lines are drawn in tree_view, `false` otherwise.

## ◆ get_expander_column() [1/2]

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

Returns the column that is the current expander column, or `nullptr` if none has been set.

This column has the expander arrow drawn next to it.

Returns
  The expander column.

## ◆ get_expander_column() [2/2]

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

Returns the column that is the current expander column, or `nullptr` if none has been set.

This column has the expander arrow drawn next to it.

Returns
  The expander column.

## ◆ get_fixed_height_mode()

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

Returns whether fixed height mode is turned on for tree_view.

Returns
  `true` if tree_view is in fixed height mode.

## ◆ get_grid_lines()

GridLines Gtk::TreeView::get_grid_lines | ( |  | ) | const

Returns which grid lines are enabled in tree_view.

Returns
  A `Gtk::TreeView`GridLines value indicating which grid lines are enabled.

## ◆ get_headers_clickable()

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

Returns whether all header columns are clickable.

Returns
  `true` if all header columns are clickable, otherwise `false`.

## ◆ get_headers_visible()

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.

## ◆ get_hover_expand()

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

Returns whether hover expansion mode is turned on for tree_view.

Returns
  `true` if tree_view is in hover expansion mode.

## ◆ get_hover_selection()

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

Returns whether hover selection mode is turned on for tree_view.

Returns
  `true` if tree_view is in hover selection mode.

## ◆ get_level_indentation()

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

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

Returns
  The amount of extra indentation for child levels in tree_view. A return value of 0 means that this feature is disabled.

## ◆ get_model() [1/2]

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

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

Returns `nullptr` if the model is unset.

Returns
  A `Gtk::TreeModel`.

## ◆ get_model() [2/2]

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

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

Returns `nullptr` if the model is unset.

Returns
  A `Gtk::TreeModel`.

## ◆ get_n_columns()

guint Gtk::TreeView::get_n_columns | ( |  | ) | const

Queries the number of columns in the given tree_view.

Returns
  The number of columns in the tree_view.

## ◆ get_path_at_pos() [1/2]

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.

That is, x and y are relative to an events coordinates. Widget-relative coordinates must be converted using convert_widget_to_bin_window_coords(). 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

  x | The x position to be identified (relative to bin_window).
  y | The y position to be identified (relative to bin_window).
  path | A reference to a TreeModel::Path to be filled in

Returns
  true if a row exists at that coordinate.

newin{2,16}

## ◆ get_path_at_pos() [2/2]

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.

That is, x and y are relative to an events coordinates. Widget-relative coordinates must be converted using convert_widget_to_bin_window_coords(). 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

  | x | The x position to be identified (relative to bin_window).
  | y | The y position to be identified (relative to bin_window).
  [out] | path | A reference to a TreeModel::Path to be filled in
  [out] | column | A reference to a TreeViewColumn pointer to be filled in
  [out] | cell_x | A reference where the X coordinate relative to the cell can be placed
  [out] | cell_y | A 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:

## ◆ get_reorderable()

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.

## ◆ get_rubber_banding()

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

Returns whether rubber banding is turned on for tree_view.

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

Returns
  `true` if rubber banding in tree_view is enabled.

## ◆ get_search_column()

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.

## ◆ get_search_entry() [1/2]

Editable * 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, `nullptr` will be returned.

Returns
  The entry currently in use as search entry.

## ◆ get_search_entry() [2/2]

const Editable * 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, `nullptr` will be returned.

Returns
  The entry currently in use as search entry.

## ◆ get_selection() [1/2]

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

Gets the `Gtk::TreeSelection` associated with tree_view.

Returns
  A `Gtk::TreeSelection` object.

## ◆ get_selection() [2/2]

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

Gets the `Gtk::TreeSelection` associated with tree_view.

Returns
  A `Gtk::TreeSelection` object.

## ◆ get_show_expanders()

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

Returns whether or not expanders are drawn in tree_view.

Returns
  `true` if expanders are drawn in tree_view, `false` otherwise.

## ◆ get_tooltip_column()

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.

Returns
  The index of the tooltip column that is currently being used, or -1 if this is disabled.

## ◆ get_tooltip_context_iter()

bool Gtk::TreeView::get_tooltip_context_iter | ( | int | x,
|  | int | y,
|  | bool | keyboard_tip,
|  | Gtk::TreeModel::iterator & | iter
| ) |  |

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.

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 reference to receive a Gtk::TreeModel::iterator

Returns
  Whether or not the given tooltip context points to a row.

Since gtkmm 2.12:

## ◆ get_tooltip_context_path()

bool Gtk::TreeView::get_tooltip_context_path | ( | int | x,
|  | int | y,
|  | bool | keyboard_tip,
|  | TreeModel::Path & | path
| ) |  |

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.

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

Returns
  Whether or not the given tooltip context points to a row.

Since gtkmm 2.12:

## ◆ get_type()

static GType Gtk::TreeView::get_type | ( |  | ) |
| static

Get the GType for this class, for use with the underlying GObject type system.

## ◆ get_visible_range()

bool Gtk::TreeView::get_visible_range | ( | TreeModel::Path & | start_path,
|  | TreeModel::Path & | end_path
| ) |  | const

## ◆ get_visible_rect()

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_rect | Rectangle to fill.

## ◆ gobj() [1/2]

GtkTreeView * Gtk::TreeView::gobj | ( |  | ) |
| inline

Provides access to the underlying C GObject.

## ◆ gobj() [2/2]

const GtkTreeView * Gtk::TreeView::gobj | ( |  | ) | const
| inline

Provides access to the underlying C GObject.

## ◆ insert_column() [1/3]

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.

## ◆ insert_column() [2/3]

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.

## ◆ insert_column() [3/3]

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.

## ◆ insert_column_editable()

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

  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.

## ◆ insert_column_with_data_func()

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

Inserts a new column into the TreeView with the given cell renderer and a SlotTreeCellData 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

## ◆ is_blank_at_pos() [1/2]

bool Gtk::TreeView::is_blank_at_pos | ( | int | x,
|  | int | y
| ) |  | const

Determine whether the point (x, y) in the tree view is blank, that is no cell content nor an expander arrow is drawn at the location.

If so, the location can be considered as the background. You might wish to take special action on clicks on the background, such as clearing a current selection, having a custom context menu or starting rubber banding.

The x and y coordinates that are provided must be relative to bin_window coordinates. Widget-relative coordinates must be converted using convert_widget_to_bin_window_coords().

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

Parameters

  x | The x position to be identified (relative to bin_window).
  y | The y position to be identified (relative to bin_window).

Returns
  `true` if the area at the given coordinates is blank, `false` otherwise.

## ◆ is_blank_at_pos() [2/2]

bool Gtk::TreeView::is_blank_at_pos | ( | int | x,
|  | int | y,
|  | TreePath & | path,
|  | TreeViewColumn *& | column,
|  | int & | cell_x,
|  | int & | cell_y
| ) |  | const

Determine whether the point (x, y) in the tree view is blank, that is no cell content nor an expander arrow is drawn at the location.

If so, the location can be considered as the background. You might wish to take special action on clicks on the background, such as clearing a current selection, having a custom context menu or starting rubber banding.

The x and y coordinates that are provided must be relative to bin_window coordinates. Widget-relative coordinates must be converted using convert_widget_to_bin_window_coords().

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

The path, column, cell_x and cell_y arguments will be filled in likewise as for get_path_at_pos(). Please see get_path_at_pos() for more information.

Parameters

  | x | The x position to be identified (relative to bin_window).
  | y | The y position to be identified (relative to bin_window).
  [out] | path | A reference to a Gtk::TreePath to be filled in.
  [out] | column | A reference to a Gtk::TreeViewColumn pointer to be filled in.
  [out] | cell_x | A reference where the X coordinate relative to the cell can be placed.
  [out] | cell_y | A reference where the Y coordinate relative to the cell can be placed.

Returns
  `true` if the area at the given coordinates is blank, `false` otherwise.

## ◆ is_rubber_banding_active()

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

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

Returns
  `true` if a rubber banding operation is currently being done in tree_view.

## ◆ map_expanded_rows()

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.

## ◆ move_column_after()

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.

## ◆ move_column_to_start()

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

## ◆ operator=() [1/2]

TreeView & Gtk::TreeView::operator= | ( | const TreeView & |  | ) |
| delete

## ◆ operator=() [2/2]

TreeView & Gtk::TreeView::operator= | ( | TreeView && | src | ) |
| noexcept

## ◆ property_activate_on_single_click() [1/2]

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

The activate-on-single-click property specifies whether the "row-activated" signal will be emitted after a single click.

Default value: `false`

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

## ◆ property_activate_on_single_click() [2/2]

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

The activate-on-single-click property specifies whether the "row-activated" signal will be emitted after a single click.

Default value: `false`

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

## ◆ property_enable_grid_lines() [1/2]

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

Default value: Gtk::TreeView::GridLines::NONE.

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

## ◆ property_enable_grid_lines() [2/2]

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

Default value: Gtk::TreeView::GridLines::NONE.

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

## ◆ property_enable_search() [1/2]

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

Default value: `true`

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

## ◆ property_enable_search() [2/2]

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

Default value: `true`

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

## ◆ property_enable_tree_lines() [1/2]

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

Default value: `false`

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

## ◆ property_enable_tree_lines() [2/2]

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

Default value: `false`

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

## ◆ property_expander_column() [1/2]

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

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

## ◆ property_expander_column() [2/2]

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

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

## ◆ property_fixed_height_mode() [1/2]

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

Setting the property_fixed_height_mode() property to `true` speeds up `Gtk::TreeView` by assuming that all rows have the same height.

Only enable this option if all rows are the same height.
Please see Gtk::TreeView::set_fixed_height_mode() for more information on this option.

Default value: `false`

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

## ◆ property_fixed_height_mode() [2/2]

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

Setting the property_fixed_height_mode() property to `true` speeds up `Gtk::TreeView` by assuming that all rows have the same height.

Only enable this option if all rows are the same height.
Please see Gtk::TreeView::set_fixed_height_mode() for more information on this option.

Default value: `false`

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

## ◆ property_headers_clickable() [1/2]

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

Default value: `true`

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

## ◆ property_headers_clickable() [2/2]

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

Default value: `true`

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

## ◆ property_headers_visible() [1/2]

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

Default value: `true`

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

## ◆ property_headers_visible() [2/2]

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

Default value: `true`

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

## ◆ property_hover_expand() [1/2]

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

Enables or disables the hover expansion mode of tree_view.

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

This mode is primarily intended for treeviews in popups, e.g. in `Gtk::ComboBox` or `Gtk::EntryCompletion`.

Default value: `false`

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

## ◆ property_hover_expand() [2/2]

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

Enables or disables the hover expansion mode of tree_view.

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

This mode is primarily intended for treeviews in popups, e.g. in `Gtk::ComboBox` or `Gtk::EntryCompletion`.

Default value: `false`

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

## ◆ property_hover_selection() [1/2]

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

Enables or 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::SelectionMode::SINGLE and Gtk::SelectionMode::BROWSE.

This mode is primarily intended for treeviews in popups, e.g. in `Gtk::ComboBox` or `Gtk::EntryCompletion`.

Default value: `false`

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

## ◆ property_hover_selection() [2/2]

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

Enables or 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::SelectionMode::SINGLE and Gtk::SelectionMode::BROWSE.

This mode is primarily intended for treeviews in popups, e.g. in `Gtk::ComboBox` or `Gtk::EntryCompletion`.

Default value: `false`

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

## ◆ property_level_indentation() [1/2]

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

Extra indentation for each level.

Default value: 0

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

## ◆ property_level_indentation() [2/2]

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

Extra indentation for each level.

Default value: 0

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

## ◆ property_model() [1/2]

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

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

## ◆ property_model() [2/2]

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

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

## ◆ property_reorderable() [1/2]

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

Default value: `false`

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

## ◆ property_reorderable() [2/2]

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

Default value: `false`

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

## ◆ property_rubber_banding() [1/2]

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

Default value: `false`

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

## ◆ property_rubber_banding() [2/2]

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

Default value: `false`

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

## ◆ property_search_column() [1/2]

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

Default value: -1.

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

## ◆ property_search_column() [2/2]

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

Default value: -1.

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

## ◆ property_show_expanders() [1/2]

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

`true` if the view has expanders.

Default value: `true`

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

## ◆ property_show_expanders() [2/2]

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

`true` if the view has expanders.

Default value: `true`

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

## ◆ property_tooltip_column() [1/2]

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

Default value: -1.

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

## ◆ property_tooltip_column() [2/2]

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

Default value: -1.

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

## ◆ remove_all_columns()

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

Removes all View columns.

## ◆ remove_column()

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.

## ◆ reset_expander_column()

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

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

See also
  set_expander_column().

## ◆ row_activated()

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.

## ◆ row_expanded()

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.

## ◆ scroll_to_cell() [1/2]

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.

## ◆ scroll_to_cell() [2/2]

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.

## ◆ scroll_to_column() [1/2]

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.

## ◆ scroll_to_column() [2/2]

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.

## ◆ scroll_to_point()

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

## ◆ scroll_to_row() [1/2]

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.

## ◆ scroll_to_row() [2/2]

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.

## ◆ set_activate_on_single_click()

void Gtk::TreeView::set_activate_on_single_click | ( | bool | single = `true` | ) |

Cause the `Gtk::TreeView`::row-activated signal to be emitted on a single click instead of a double click.

Parameters

  single | `true` to emit row-activated on a single click.

## ◆ set_column_drag_function()

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.

## ◆ set_cursor() [1/3]

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.

## ◆ set_cursor() [2/3]

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.

## ◆ set_cursor() [3/3]

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 `nullptr`, then focus is given to the column specified by it. If focus_column and focus_cell are not `nullptr`, 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.

Parameters

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

## ◆ set_drag_dest_row()

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

Sets the row that is highlighted for feedback.

See also unset_drag_dest_row().

Parameters

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

## ◆ set_enable_search()

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_search | `true`, if the user can search interactively.

## ◆ set_enable_tree_lines()

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.

Parameters

  enable | `true` to enable tree line drawing, `false` otherwise.

## ◆ set_expander_column()

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.

## ◆ set_fixed_height_mode()

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::TreeViewColumn::Sizing::FIXED.

Parameters

  enable | `true` to enable fixed height mode.

## ◆ set_grid_lines()

void Gtk::TreeView::set_grid_lines | ( | GridLines | grid_lines | ) |

Sets which grid lines to draw in tree_view.

Parameters

  grid_lines | A `Gtk::TreeView`GridLines value indicating which grid lines to enable.

## ◆ set_headers_clickable()

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.

## ◆ set_headers_visible()

void Gtk::TreeView::set_headers_visible | ( | bool | headers_visible = `true` | ) |

Sets the visibility state of the headers.

Parameters

  headers_visible | `true` if the headers are visible.

## ◆ set_hover_expand()

void Gtk::TreeView::set_hover_expand | ( | bool | expand = `true` | ) |

Enables or disables the hover expansion mode of tree_view.

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

Parameters

  expand | `true` to enable hover selection mode.

## ◆ set_hover_selection()

void Gtk::TreeView::set_hover_selection | ( | bool | hover = `true` | ) |

Enables or 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::SelectionMode::SINGLE and Gtk::SelectionMode::BROWSE.

Parameters

  hover | `true` to enable hover selection mode.

## ◆ set_level_indentation()

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.

Parameters

  indentation | The amount, in pixels, of extra indentation in tree_view.

## ◆ set_model()

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

  model | The model.

## ◆ set_reorderable()

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

This function is a convenience function to allow you to reorder models that support the `Gtk::TreeDragSourceIface` and the `Gtk::TreeDragDestIface`.

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 `GtkTreeModel::row-inserted` and `GtkTreeModel::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

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

## ◆ set_row_separator_func()

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.

## ◆ set_rubber_banding()

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

Enables or disables rubber banding in tree_view.

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

Parameters

  enable | `true` to enable rubber banding.

## ◆ set_search_column() [1/2]

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

  column | The column of the model to search in, or -1 to disable searching.

## ◆ set_search_column() [2/2]

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

  column | The column of the model to search in, or -1 to disable searching.

## ◆ set_search_entry()

void Gtk::TreeView::set_search_entry | ( | Editable & | 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 `nullptr` for entry will make the interactive search code use the built-in popup entry again.

Parameters

  entry | The entry the interactive search code of tree_view should use.

## ◆ set_search_equal_func()

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

## ◆ set_show_expanders()

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.

Parameters

  enabled | `true` to enable expander drawing, `false` otherwise.

## ◆ set_tooltip_cell()

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 `nullptr` 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.

Parameters

  tooltip | A `Gtk::Tooltip`.
  path | A `Gtk::TreePath`.
  column | A `Gtk::TreeViewColumn`.
  cell | A `Gtk::CellRenderer`.

## ◆ set_tooltip_column()

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, `GtkWidget:has-tooltip` will be set to `true` and tree_view will connect a `GtkWidget::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.

Parameters

  column | An integer, which is a valid column number for tree_view’s model.

## ◆ set_tooltip_row()

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 Gtk::Tooltip::set_tip_area().

Parameters

  tooltip | A `Gtk::Tooltip`.
  path | A `Gtk::TreePath`.

## ◆ signal_columns_changed()

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

Slot Prototype:
  `void on_my_columns_changed()`

Flags: Run Last

The number of columns of the treeview has changed.

## ◆ signal_cursor_changed()

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

Slot Prototype:
  `void on_my_cursor_changed()`

Flags: Run Last

The position of the cursor (focused cell) has changed.

## ◆ signal_row_activated()

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

Slot Prototype:
  `void on_my_row_activated(const TreeModel::Path& path, TreeViewColumn* column)`

Flags: Run Last, Action

The "row-activated" signal is emitted when the method [`method @a Gtk.TreeView.row_activated`] is called.

This signal is emitted when the user double-clicks a treeview row with the property_activate_on_single_click() property set to `false`, or when the user single-clicks a row when that property set to `true`.

This signal is also emitted when a non-editable row is selected and one of the keys: `Space`, `Shift`+`Space`, `Return` or `Enter` is pressed.

For selection handling refer to the tree widget conceptual overview as well as `Gtk::TreeSelection`.

Parameters

  path | The `Gtk::TreePath` for the activated row.
  column | The `Gtk::TreeViewColumn` in which the activation occurred.

## ◆ signal_row_collapsed()

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

Slot Prototype:
  `void on_my_row_collapsed(const TreeModel::iterator& iter, const TreeModel::Path& path)`

Flags: Run Last

The given row has been collapsed (child nodes are hidden).

Parameters

  iter | The tree iter of the collapsed row.
  path | A tree path that points to the row.

## ◆ signal_row_expanded()

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

Slot Prototype:
  `void on_my_row_expanded(const TreeModel::iterator& iter, const TreeModel::Path& path)`

Flags: Run Last

The given row has been expanded (child nodes are shown).

Parameters

  iter | The tree iter of the expanded row.
  path | A tree path that points to the row.

## ◆ signal_test_collapse_row()

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

Slot Prototype:
  `bool on_my_test_collapse_row(const TreeModel::iterator& iter, const TreeModel::Path& path)`

Flags: Run Last

The given row is about to be collapsed (hide its children nodes). Use this signal if you need to control the collapsibility of individual rows.

Parameters

  iter | The tree iter of the row to collapse.
  path | A tree path that points to the row.

Returns
  `false` to allow collapsing, `true` to reject.

## ◆ signal_test_expand_row()

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

Slot Prototype:
  `bool on_my_test_expand_row(const TreeModel::iterator& iter, const TreeModel::Path& path)`

Flags: Run Last

The given row is about to be expanded (show its children nodes). Use this signal if you need to control the expandability of individual rows.

Parameters

  iter | The tree iter of the row to expand.
  path | A tree path that points to the row.

Returns
  `false` to allow expansion, `true` to reject.

## ◆ unset_column_drag_function()

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.

## ◆ unset_drag_dest_row()

void Gtk::TreeView::unset_drag_dest_row | ( |  | ) |

Remove an existing highlight.

See set_drag_dest_row().

Since gtkmm 3.2:

## ◆ unset_model()

void Gtk::TreeView::unset_model | ( |  | ) |

Remove the model from the TreeView.

See also
  set_model().

Since gtkmm 2.8:

## ◆ unset_row_separator_func()

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:

## ◆ unset_rows_drag_dest()

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

Undoes the effect of enable_model_drag_dest()

## ◆ unset_rows_drag_source()

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

Undoes the effect of enable_model_drag_source()

## Friends And Related Function Documentation

## ◆ wrap()

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

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

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.