gtkmm  4.8.0
Public Types | Public Member Functions | Static Public Member Functions | Related Functions | List of all members
Gtk::TreeView Class Reference

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:
Inheritance graph
[legend]

Public Types

enum class  DropPosition {
  BEFORE ,
  AFTER ,
  INTO_OR_BEFORE ,
  INTO_OR_AFTER
}
 An enum for determining where a dropped row goes. More...
 
enum class  GridLines {
  NONE ,
  HORIZONTAL ,
  VERTICAL ,
  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 Gtk::Accessible
enum class  Role {
  ALERT ,
  ALERT_DIALOG ,
  BANNER ,
  BUTTON ,
  CAPTION ,
  CELL ,
  CHECKBOX ,
  COLUMN_HEADER ,
  COMBO_BOX ,
  COMMAND ,
  COMPOSITE ,
  DIALOG ,
  DOCUMENT ,
  FEED ,
  FORM ,
  GENERIC ,
  GRID ,
  GRID_CELL ,
  GROUP ,
  HEADING ,
  IMG ,
  INPUT ,
  LABEL ,
  LANDMARK ,
  LEGEND ,
  LINK ,
  LIST ,
  LIST_BOX ,
  LIST_ITEM ,
  LOG ,
  MAIN ,
  MARQUEE ,
  MATH ,
  METER ,
  MENU ,
  MENU_BAR ,
  MENU_ITEM ,
  MENU_ITEM_CHECKBOX ,
  MENU_ITEM_RADIO ,
  NAVIGATION ,
  NONE ,
  NOTE ,
  OPTION ,
  PRESENTATION ,
  PROGRESS_BAR ,
  RADIO ,
  RADIO_GROUP ,
  RANGE ,
  REGION ,
  ROW ,
  ROW_GROUP ,
  ROW_HEADER ,
  SCROLLBAR ,
  SEARCH ,
  SEARCH_BOX ,
  SECTION ,
  SECTION_HEAD ,
  SELECT ,
  SEPARATOR ,
  SLIDER ,
  SPIN_BUTTON ,
  STATUS ,
  STRUCTURE ,
  SWITCH ,
  TAB ,
  TABLE ,
  TAB_LIST ,
  TAB_PANEL ,
  TEXT_BOX ,
  TIME ,
  TIMER ,
  TOOLBAR ,
  TOOLTIP ,
  TREE ,
  TREE_GRID ,
  TREE_ITEM ,
  WIDGET ,
  WINDOW
}
 The accessible role for a Gtk::Accessible implementation. More...
 
enum class  State {
  BUSY ,
  CHECKED ,
  DISABLED ,
  EXPANDED ,
  HIDDEN ,
  INVALID ,
  PRESSED ,
  SELECTED
}
 The possible accessible states of a Gtk::Accessible. More...
 
enum class  Property {
  AUTOCOMPLETE ,
  DESCRIPTION ,
  HAS_POPUP ,
  KEY_SHORTCUTS ,
  LABEL ,
  LEVEL ,
  MODAL ,
  MULTI_LINE ,
  MULTI_SELECTABLE ,
  ORIENTATION ,
  PLACEHOLDER ,
  READ_ONLY ,
  REQUIRED ,
  ROLE_DESCRIPTION ,
  SORT ,
  VALUE_MAX ,
  VALUE_MIN ,
  VALUE_NOW ,
  VALUE_TEXT
}
 The possible accessible properties of a Gtk::Accessible. More...
 
enum class  Relation {
  ACTIVE_DESCENDANT ,
  COL_COUNT ,
  COL_INDEX ,
  COL_INDEX_TEXT ,
  COL_SPAN ,
  CONTROLS ,
  DESCRIBED_BY ,
  DETAILS ,
  ERROR_MESSAGE ,
  FLOW_TO ,
  LABELLED_BY ,
  OWNS ,
  POS_IN_SET ,
  ROW_COUNT ,
  ROW_INDEX ,
  ROW_INDEX_TEXT ,
  ROW_SPAN ,
  SET_SIZE
}
 The possible accessible relations of a Gtk::Accessible. More...
 
- Public Types inherited from Gtk::Scrollable
enum class  Policy {
  MINIMUM ,
  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
 
TreeViewoperator= (TreeView && src) noexcept
 
 TreeView (const TreeView &)=delete
 
TreeViewoperator= (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< TreeModelget_model ()
 Returns the model the Gtk::TreeView is based on. More...
 
Glib::RefPtr< const TreeModelget_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< TreeSelectionget_selection ()
 Gets the Gtk::TreeSelection associated with tree_view. More...
 
Glib::RefPtr< const TreeSelectionget_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...
 
TreeViewColumnget_column (int n)
 Gets the Gtk::TreeViewColumn at the given position in the #tree_view. More...
 
const TreeViewColumnget_column (int n) const
 Gets the Gtk::TreeViewColumn at the given position in the #tree_view. More...
 
CellRendererget_column_cell_renderer (int n)
 Gets the CellRenderer for that column. More...
 
const CellRendererget_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...
 
TreeViewColumnget_expander_column ()
 Returns the column that is the current expander column, or nullptr if none has been set. More...
 
const TreeViewColumnget_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::Paintablecreate_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...
 
Editableget_search_entry ()
 Returns the Gtk::Entry which is currently in use as interactive search entry for tree_view. More...
 
const Editableget_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
 
Widgetoperator= (Widget && src) noexcept
 
 Widget (const Widget &)=delete
 
Widgetoperator= (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< ConstraintTargetmake_refptr_constrainttarget ()
 Converts this widget to a reference counted Gtk::ConstraintTarget. More...
 
Glib::RefPtr< const ConstraintTargetmake_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< LayoutManagerget_layout_manager ()
 Retrieves the layout manager used by widget. More...
 
Glib::RefPtr< const LayoutManagerget_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...
 
Widgetget_parent ()
 Returns the parent widget of widget. More...
 
const Widgetget_parent () const
 Returns the parent widget of widget. More...
 
Rootget_root ()
 Returns the Gtk::Root widget of widget. More...
 
const Rootget_root () const
 Returns the Gtk::Root widget of widget. More...
 
Nativeget_native ()
 Returns the nearest Gtk::Native ancestor of widget. More...
 
const Nativeget_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...
 
Widgetget_ancestor (GType widget_type)
 Gets the first ancestor of widget with type widget_type. More...
 
const Widgetget_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::Displayget_display ()
 Get the Gdk::Display for the toplevel window associated with this widget. More...
 
Glib::RefPtr< const Gdk::Displayget_display () const
 Get the Gdk::Display for the toplevel window associated with this widget. More...
 
Glib::RefPtr< Settingsget_settings ()
 Gets the settings object holding the settings used for this widget. More...
 
Glib::RefPtr< Gdk::Clipboardget_clipboard ()
 Gets the clipboard object for widget. More...
 
Glib::RefPtr< const Gdk::Clipboardget_clipboard () const
 Gets the clipboard object for widget. More...
 
Glib::RefPtr< Gdk::Clipboardget_primary_clipboard ()
 Gets the primary clipboard of widget. More...
 
Glib::RefPtr< const Gdk::Clipboardget_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...
 
Widgetpick (double x, double y, PickFlags flags=PickFlags::DEFAULT)
 Finds the descendant of widget closest to the point ( x, y). More...
 
const Widgetpick (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::Cursorget_cursor ()
 Queries the cursor set on widget. More...
 
Glib::RefPtr< const Gdk::Cursorget_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::FrameClockget_frame_clock ()
 Obtains the frame clock for a widget. More...
 
Glib::RefPtr< const Gdk::FrameClockget_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< StyleContextget_style_context ()
 Returns the style context associated to widget. More...
 
Glib::RefPtr< const StyleContextget_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...
 
Widgetget_first_child ()
 Returns the widgets first child. More...
 
const Widgetget_first_child () const
 Returns the widgets first child. More...
 
Widgetget_last_child ()
 Returns the widgets last child. More...
 
const Widgetget_last_child () const
 Returns the widgets last child. More...
 
Widgetget_next_sibling ()
 Returns the widgets next sibling. More...
 
const Widgetget_next_sibling () const
 Returns the widgets next sibling. More...
 
Widgetget_prev_sibling ()
 Returns the widgets previous sibling. More...
 
const Widgetget_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...
 
Gdk::RGBA get_color () const
 Gets the current foreground color for the widget's CSS style. 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< Alignproperty_halign ()
 How to distribute horizontal space if widget gets extra space. More...
 
Glib::PropertyProxy_ReadOnly< Alignproperty_halign () const
 How to distribute horizontal space if widget gets extra space. More...
 
Glib::PropertyProxy< Alignproperty_valign ()
 How to distribute vertical space if widget gets extra space. More...
 
Glib::PropertyProxy_ReadOnly< Alignproperty_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< Overflowproperty_overflow ()
 How content outside the widget's content area is treated. More...
 
Glib::PropertyProxy_ReadOnly< Overflowproperty_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
 
Objectoperator= (Object && src) noexcept
 
 ~Object () noexcept override
 
- Public Member Functions inherited from Gtk::Accessible
 Accessible (Accessible && src) noexcept
 
Accessibleoperator= (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< Roleproperty_accessible_role ()
 The accessible role of the given Gtk::Accessible implementation. More...
 
Glib::PropertyProxy_ReadOnly< Roleproperty_accessible_role () const
 The accessible role of the given Gtk::Accessible implementation. More...
 
- Public Member Functions inherited from Gtk::Buildable
 Buildable (Buildable && src) noexcept
 
Buildableoperator= (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
 
ConstraintTargetoperator= (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
 
Scrollableoperator= (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< Adjustmentget_hadjustment ()
 Retrieves the Gtk::Adjustment used for horizontal scrolling. More...
 
Glib::RefPtr< const Adjustmentget_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< Adjustmentget_vadjustment ()
 Retrieves the Gtk::Adjustment used for vertical scrolling. More...
 
Glib::RefPtr< const Adjustmentget_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< Policyproperty_hscroll_policy ()
 Determines when horizontal scrolling should start. More...
 
Glib::PropertyProxy_ReadOnly< Policyproperty_hscroll_policy () const
 Determines when horizontal scrolling should start. More...
 
Glib::PropertyProxy< Policyproperty_vscroll_policy ()
 Determines when vertical scrolling should start. More...
 
Glib::PropertyProxy_ReadOnly< Policyproperty_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::TreeViewwrap (GtkTreeView * 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...
 
Widgetget_focus_child ()
 Returns the current focus child of widget. More...
 
const Widgetget_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 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().

Deprecated:
4.10: Use Gtk::ListView for lists, and Gtk::ColumnView for tabular lists.

Member Typedef Documentation

◆ Column

A visible column in a Gtk::TreeView widget.

◆ Selection

A selection object for 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

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));
Renders text in a cell.
Definition: cellrenderertext.h:60
Glib::SignalProxy< void(const Glib::ustring &, const Glib::ustring &)> signal_edited()
Parameters
titleThe text to be used in the title header of this column.
model_columnThe column in the TreeModel that will be rendered by this View column.
Returns
The number of columns in the View after appending.

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

Deprecated: 4.10: Use Gtk::ListView or Gtk::ColumnView instead

Parameters
columnThe 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
titleThe text to be used in the title header of this column.
model_columnThe column in the TreeModel that will be rendered by this View column.
Returns
The number of columns in the View after appending.

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

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

◆ collapse_all()

void Gtk::TreeView::collapse_all ( )

Recursively collapses all visible, expanded nodes in tree_view.

Deprecated: 4.10: Use Gtk::ListView or Gtk::ColumnView instead

◆ collapse_row()

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

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

Deprecated: 4.10: Use Gtk::ListView or Gtk::ColumnView instead

Parameters
pathPath 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.

Deprecated: 4.10: Use Gtk::ListView or Gtk::ColumnView instead

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

Deprecated: 4.10: Use Gtk::ListView or Gtk::ColumnView instead

Parameters
bxX coordinate relative to bin_window.
byY coordinate relative to bin_window.
txReturn location for tree X coordinate.
tyReturn location for tree Y coordinate.

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

Deprecated: 4.10: Use Gtk::ListView or Gtk::ColumnView instead

Parameters
bxBin_window X coordinate.
byBin_window Y coordinate.
wxReturn location for widget X coordinate.
wyReturn 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.

Deprecated: 4.10: Use Gtk::ListView or Gtk::ColumnView instead

Parameters
txTree X coordinate.
tyTree Y coordinate.
bxReturn location for X coordinate relative to bin_window.
byReturn location for Y coordinate relative to bin_window.

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

Deprecated: 4.10: Use Gtk::ListView or Gtk::ColumnView instead

Parameters
txX coordinate relative to the tree.
tyY coordinate relative to the tree.
wxReturn location for widget X coordinate.
wyReturn location for widget Y coordinate.

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

Deprecated: 4.10: Use Gtk::ListView or Gtk::ColumnView instead

Parameters
wxX coordinate relative to the widget.
wyY coordinate relative to the widget.
bxReturn location for bin_window X coordinate.
byReturn location for bin_window Y coordinate.

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

Deprecated: 4.10: Use Gtk::ListView or Gtk::ColumnView instead

Parameters
wxX coordinate relative to the widget.
wyY coordinate relative to the widget.
txReturn location for tree X coordinate.
tyReturn location for tree Y coordinate.

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

Deprecated: 4.10: Use Gtk::ListView or Gtk::ColumnView instead

Parameters
pathA 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.

Deprecated: 4.10: Use Gtk::ListView or Gtk::ColumnView instead

Parameters
formatsThe target formats that the drag will support.
actionsThe 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
actionsThe 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.

Deprecated: 4.10: Use Gtk::ListView or Gtk::ColumnView instead

Parameters
start_button_maskMask of allowed buttons to start drag.
formatsThe target formats that the drag will support.
actionsThe 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_maskMask of allowed buttons to start drag.
actionsThe 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.

Deprecated: 4.10: Use Gtk::ListView or Gtk::ColumnView instead

◆ expand_row()

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

Opens the row so its children are visible.

Deprecated: 4.10: Use Gtk::ListView or Gtk::ColumnView instead

Parameters
pathPath to a row.
open_allWhether 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.

Deprecated: 4.10: Use Gtk::ListView or Gtk::ColumnView instead

Parameters
pathPath 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().

Deprecated: 4.10: Use Gtk::ListView or Gtk::ColumnView instead

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
pathA Gtk::TreePath for the row.
columnA Gtk::TreeViewColumn for the column.
rectRectangle 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
pathA Gtk::TreePath for the row.
columnA Gtk::TreeViewColumn for the column.
rectRectangle 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.

Deprecated: 4.10: Use Gtk::ListView or Gtk::ColumnView instead

Parameters
nThe 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.

Deprecated: 4.10: Use Gtk::ListView or Gtk::ColumnView instead

Parameters
nThe 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
nThe 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
nThe 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::TreeViewColumns.

◆ 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::TreeViewColumns.

◆ 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
pathA reference to be filled with the current cursor path
focus_columnA 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_xThe x position to determine the destination row for
drag_yThe y position to determine the destination row for
pathReturn location for the path of the highlighted row
posReturn location for the drop position

◆ 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
pathReturn location for the path of the highlighted row
posReturn 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.

Deprecated: 4.10: Use Gtk::ListView or Gtk::ColumnView instead

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.

Deprecated: 4.10: Use Gtk::ListView or Gtk::ColumnView instead

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.

Deprecated: 4.10: Use Gtk::ListView or Gtk::ColumnView instead

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.

Deprecated: 4.10: Use Gtk::ListView or Gtk::ColumnView instead

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.

Deprecated: 4.10: Use Gtk::ListView or Gtk::ColumnView instead

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.

Deprecated: 4.10: Use Gtk::ListView or Gtk::ColumnView instead

Returns
A Gtk::TreeViewGridLines value indicating which grid lines are enabled.

◆ get_headers_clickable()

bool Gtk::TreeView::get_headers_clickable ( ) const

Returns whether all header columns are clickable.

Deprecated: 4.10: Use Gtk::ListView or Gtk::ColumnView instead

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.

Deprecated: 4.10: Use Gtk::ListView or Gtk::ColumnView instead

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.

Deprecated: 4.10: Use Gtk::ListView or Gtk::ColumnView instead

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.

Deprecated: 4.10: Use Gtk::ListView or Gtk::ColumnView instead

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.

Deprecated: 4.10: Use Gtk::ListView or Gtk::ColumnView instead

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.

Deprecated: 4.10: Use Gtk::ListView or Gtk::ColumnView instead

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.

Deprecated: 4.10: Use Gtk::ListView or Gtk::ColumnView instead

Returns
A Gtk::TreeModel.

◆ get_n_columns()

guint Gtk::TreeView::get_n_columns ( ) const

Queries the number of columns in the given tree_view.

Deprecated: 4.10: Use Gtk::ListView or Gtk::ColumnView instead

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
xThe x position to be identified (relative to bin_window).
yThe y position to be identified (relative to bin_window).
pathA reference to a TreeModel::Path to be filled in
Returns
true if a row exists at that coordinate.

newin{2,16}

◆ 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
xThe x position to be identified (relative to bin_window).
yThe y position to be identified (relative to bin_window).
[out]pathA reference to a TreeModel::Path to be filled in
[out]columnA reference to a TreeViewColumn pointer to be filled in
[out]cell_xA reference where the X coordinate relative to the cell can be placed
[out]cell_yA reference where the Y coordinate relative to the cell can be placed
Returns
true if a row exists at that coordinate.
Since gtkmm 2.8:

◆ get_reorderable()

bool Gtk::TreeView::get_reorderable ( ) const

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

See set_reorderable().

Deprecated: 4.10: Use Gtk::ListView or Gtk::ColumnView instead

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.

Deprecated: 4.10: Use Gtk::ListView or Gtk::ColumnView instead

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.

Deprecated: 4.10: Use Gtk::ListView or Gtk::ColumnView instead

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.

Deprecated: 4.10: Use Gtk::ListView or Gtk::ColumnView instead

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.

Deprecated: 4.10: Use Gtk::ListView or Gtk::ColumnView instead

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.

Deprecated: 4.10: Use Gtk::ListView or Gtk::ColumnView instead

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.

Deprecated: 4.10: Use Gtk::ListView or Gtk::ColumnView instead

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.

Deprecated: 4.10: Use Gtk::ListView or Gtk::ColumnView instead

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.

Deprecated: 4.10: Use Gtk::ListView or Gtk::ColumnView instead

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
xThe x coordinate (relative to widget coordinates)
yThe y coordinate (relative to widget coordinates)
keyboard_tipWhether this is a keyboard tooltip or not
iterA 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
xThe x coordinate (relative to widget coordinates)
yThe y coordinate (relative to widget coordinates)
keyboard_tipWhether this is a keyboard tooltip or not
pathA 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.

Deprecated: 4.10: Use Gtk::ListView or Gtk::ColumnView instead

Parameters
visible_rectRectangle 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
titleThe text to be used in the title header of this column.
cellThe CellRenderer.
positionThe position at which the CellRenderer should be inserted.
Returns
The number of columns in the View after inserting.

◆ 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
titleThe text to be used in the title header of this column.
model_columnThe column in the TreeModel that will be rendered by this View column.
positionThe position at which the CellRenderer should be inserted.
Returns
The number of columns in the View after inserting.

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

Deprecated: 4.10: Use Gtk::ListView or Gtk::ColumnView instead

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

◆ 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
positionPosition to insert, -1 for append
titlecolumn title
cellcell renderer for column
slotfunction to set attributes of cell renderer
Returns
number of columns in the TreeView after the insert

◆ 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
xThe x position to be identified (relative to bin_window).
yThe 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
xThe x position to be identified (relative to bin_window).
yThe y position to be identified (relative to bin_window).
[out]pathA reference to a Gtk::TreePath to be filled in.
[out]columnA reference to a Gtk::TreeViewColumn pointer to be filled in.
[out]cell_xA reference where the X coordinate relative to the cell can be placed.
[out]cell_yA 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.

Deprecated: 4.10: Use Gtk::ListView or Gtk::ColumnView instead

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
slotA 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
columnThe Gtk::TreeViewColumn to be moved.
base_columnThe 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
columnThe 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.

Deprecated: 4.10: Use Gtk::ListView or Gtk::ColumnView instead

Parameters
columnThe 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.

Deprecated: 4.10: Use Gtk::ListView or Gtk::ColumnView instead

Parameters
pathThe Gtk::TreePath to be activated.
columnThe 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.

Deprecated: 4.10: Use Gtk::ListView or Gtk::ColumnView instead

Parameters
pathA 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
pathThe path of the row to move to.
columnThe 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
pathThe path of the row to move to.
columnThe Gtk::TreeViewColumn to move horizontally to.
row_alignThe vertical alignment of the row specified by path.
col_alignThe horizontal alignment of the column specified by column.

◆ 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
columnThe 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
columnThe Gtk::TreeViewColumn to move horizontally to.
col_alignThe 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.

Deprecated: 4.10: Use Gtk::ListView or Gtk::ColumnView instead

Parameters
tree_xX coordinate of new top-left pixel of visible area, or -1.
tree_yY coordinate of new top-left pixel of visible area, or -1.

◆ 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
pathThe 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
pathThe path of the row to move to.
row_alignThe 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.

Deprecated: 4.10: Use Gtk::ListView or Gtk::ColumnView instead

Parameters
singletrue 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
slotA 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
pathA 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
pathA Gtk::TreePath.
focus_columnA Gtk::TreeViewColumn.
start_editingtrue 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.

Deprecated: 4.10: Use Gtk::ListView or Gtk::ColumnView instead

Parameters
pathA Gtk::TreePath.
focus_columnA Gtk::TreeViewColumn.
focus_cellA Gtk::CellRenderer.
start_editingtrue 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
pathThe path of the row to highlight
posSpecifies 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.

Deprecated: 4.10: Use Gtk::ListView or Gtk::ColumnView instead

Parameters
enable_searchtrue, 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.

Deprecated: 4.10: Use Gtk::ListView or Gtk::ColumnView instead

Parameters
enabletrue 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
columnThe 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.

Deprecated: 4.10: Use Gtk::ListView or Gtk::ColumnView instead

Parameters
enabletrue 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.

Deprecated: 4.10: Use Gtk::ListView or Gtk::ColumnView instead

Parameters
grid_linesA Gtk::TreeViewGridLines 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.

Deprecated: 4.10: Use Gtk::ListView or Gtk::ColumnView instead

Parameters
settingtrue 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.

Deprecated: 4.10: Use Gtk::ListView or Gtk::ColumnView instead

Parameters
headers_visibletrue 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.

Deprecated: 4.10: Use Gtk::ListView or Gtk::ColumnView instead

Parameters
expandtrue 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.

Deprecated: 4.10: Use Gtk::ListView or Gtk::ColumnView instead

Parameters
hovertrue 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.

Deprecated: 4.10: Use Gtk::ListView or Gtk::ColumnView instead

Parameters
indentationThe 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
modelThe 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.

Deprecated: 4.10: Use Gtk::ListView or Gtk::ColumnView instead

Parameters
reorderabletrue, 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.

Deprecated: 4.10: Use Gtk::ListView or Gtk::ColumnView instead

Parameters
enabletrue 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.

Deprecated: 4.10: Use Gtk::ListView or Gtk::ColumnView instead

Parameters
columnThe 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.

Deprecated: 4.10: Use Gtk::ListView or Gtk::ColumnView instead

Parameters
columnThe 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.

Deprecated: 4.10: Use Gtk::ListView or Gtk::ColumnView instead

Parameters
entryThe 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
slotThe 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.

Deprecated: 4.10: Use Gtk::ListView or Gtk::ColumnView instead

Parameters
enabledtrue 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.

Deprecated: 4.10: Use Gtk::ListView or Gtk::ColumnView instead

Parameters
tooltipA Gtk::Tooltip.
pathA Gtk::TreePath.
columnA Gtk::TreeViewColumn.
cellA 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.

Deprecated: 4.10: Use Gtk::ListView or Gtk::ColumnView instead

Parameters
columnAn 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().

Deprecated: 4.10: Use Gtk::ListView or Gtk::ColumnView instead

Parameters
tooltipA Gtk::Tooltip.
pathA 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
pathThe Gtk::TreePath for the activated row.
columnThe 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
iterThe tree iter of the collapsed row.
pathA 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
iterThe tree iter of the expanded row.
pathA 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
iterThe tree iter of the row to collapse.
pathA 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
iterThe tree iter of the row to expand.
pathA 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
objectThe C instance.
take_copyFalse if the result should take ownership of the C instance. True if it should take a new copy or ref.
Returns
A C++ instance that wraps this C instance.