gtkmm 3.6.0

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes

- Class List
- Class Index
- Class Hierarchy
- Class Members

Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Related Functions
Gtk::TreeView Class Reference
Widgets | Container Widgets | TreeView Classes

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

Inheritance diagram for Gtk::TreeView:
[legend]

List of all members.

## Public Types

typedef TreeViewColumn | Column
| A visible column in a Gtk::TreeView widget.
typedef TreeSelection | Selection
| A selection object for Gtk::TreeView.
typedef TreeViewColumn::SlotCellData | SlotCellData
typedef sigc::slot< bool, TreeView*, TreeViewColumn *, TreeViewColumn *, TreeViewColumn* > | SlotColumnDrop
| For instance, bool on_column_drop(TreeView*, tree_view, TreeViewColumn* column, TreeViewColumn* prev_column, TreeViewColumn* next_column)
typedef sigc::slot< void, TreeView*, const TreeModel::Path& > | SlotMapping
| For example, void on_map_expanded_rows(TreeView* tree_view, const TreeModel::Path& path);.
typedef sigc::slot< bool, const Glib::RefPtr< TreeModel > &, int, const Glib::ustring &, const TreeModel::iterator& > | SlotSearchEqual
| void on_search_equal(const Glib::RefPtr<TreeModel>& model, int column, const Glib::ustring& key, const TreeModel::iterator& iter)
typedef sigc::slot< void, Gtk::Widget* > | SlotSearchPosition
| void on_search_position(Gtk::Widget* search_dialog)
typedef sigc::slot< bool, const Glib::RefPtr< TreeModel > &, const TreeModel::iterator& > | SlotRowSeparator
| The slot type for determining whether the row pointed to by the iterator should be rendered as a separator.
Public Types inherited from Gtk::Container
typedef sigc::slot< void, Widget& > | ForeachSlot
| For instance, void on_foreach(Gtk::Widget* widget);.

## Public Member Functions

virtual | ~TreeView ()
GtkTreeView* | gobj ()
| Provides access to the underlying C GtkObject.
const GtkTreeView* | gobj () const
| Provides access to the underlying C GtkObject.
| TreeView ()
| Default constructor.
| TreeView (const Glib::RefPtr< TreeModel >& model)
| Constructor that binds to a TreeModel.
Glib::RefPtr< TreeModel > | get_model ()
| Returns the model the Gtk::TreeView is based on.
Glib::RefPtr< const TreeModel > | get_model () const
| Returns the model the Gtk::TreeView is based on.
void | set_model (const Glib::RefPtr< TreeModel >& model)
| Sets the model for a Gtk::TreeView.
void | unset_model ()
| Remove the model from the TreeView.
Glib::RefPtr< TreeSelection > | get_selection ()
| Gets the Gtk::TreeSelection associated with tree_view.
Glib::RefPtr< const TreeSelection > | get_selection () const
| Gets the Gtk::TreeSelection associated with tree_view.
bool | get_headers_visible () const
| Returns `true` if the headers on the tree_view are visible.
void | set_headers_visible (bool headers_visible=true)
| Sets the visibility state of the headers.
void | columns_autosize ()
| Resizes all columns to their optimal width.
bool | get_headers_clickable () const
| Returns whether all header columns are clickable.
void | set_headers_clickable (bool setting=true)
| Allow the column title buttons to be clicked.
void | set_rules_hint (bool setting=true)
| This function tells GTK+ that the user interface for your application requires users to read across tree rows and associate cells with one another.
bool | get_rules_hint () const
| Gets the setting set by set_rules_hint().
int | append_column (TreeViewColumn& column)
| Appends column to the list of columns.
template<class ColumnType >
int | append_column (const Glib::ustring& title, const TreeModelColumn< ColumnType >& model_column)
| Appends a View column with the appropriate CellRenderer for the Model column.
template<class ColumnType >
int | append_column_numeric (const Glib::ustring& title, const TreeModelColumn< ColumnType >& model_column, const Glib::ustring& format)
| Like append_column(), but only for numeric types, which will be displayed in the specified format.
template<class ColumnType >
int | append_column_editable (const Glib::ustring& title, const TreeModelColumn< ColumnType >& model_column)
| Appends a View column with the appropriate CellRenderer for the Model column.
template<class ColumnType >
int | append_column_numeric_editable (const Glib::ustring& title, const TreeModelColumn< ColumnType >& model_column, const Glib::ustring& format)
| Like append_column_editable(), but only for numeric types, which will be displayed in the specified format.
int | append_column (const Glib::ustring& title, CellRenderer& cell)
| Creates a View column containing the CellRenderer, and appends it.
int | remove_column (TreeViewColumn& column)
| Removes column from tree_view.
void | remove_all_columns ()
| Removes all View columns.
int | insert_column (TreeViewColumn& column, int position)
| This inserts the column into the tree_view at position.
int | insert_column (const Glib::ustring& title, CellRenderer& cell, int position)
| Creates a View column containing the CellRenderer, and inserts it.
template<class ColumnType >
int | insert_column (const Glib::ustring& title, const TreeModelColumn< ColumnType >& model_column, int position)
| Inserts a View column with the appropriate CellRenderer for the Model column.
template<class ColumnType >
int | insert_column_editable (const Glib::ustring& title, const TreeModelColumn< ColumnType >& model_column, int position)
| Inserts a View column with the appropriate CellRenderer for the Model column.
int | insert_column_with_data_func (int position, const Glib::ustring& title, CellRenderer& cell, const SlotCellData& slot)
| Inserts a new column into the TreeView with the given cell renderer and a SlotCellData to set cell renderer attributes (normally using data from the model).
guint | get_n_columns () const
| Queries the number of columns in the given tree_view.
TreeViewColumn* | get_column (int n)
| Gets the Gtk::TreeViewColumn at the given position in the #tree_view.
const TreeViewColumn* | get_column (int n) const
| Gets the Gtk::TreeViewColumn at the given position in the #tree_view.
CellRenderer* | get_column_cell_renderer (int n)
| Gets the CellRenderer for that column.
const CellRenderer* | get_column_cell_renderer (int n) const
| Gets the CellRenderer for that column.
std::vector< TreeViewColumn* > | get_columns ()
| Returns a list of all the Gtk::TreeViewColumn s currently in tree_view.
std::vector< const TreeViewColumn* > | get_columns () const
| Returns a list of all the Gtk::TreeViewColumn s currently in tree_view.
void | move_column_after (TreeViewColumn& column, TreeViewColumn& base_column)
| Moves column to be after to base_column.
void | move_column_to_start (TreeViewColumn& column)
| This method moves column to the first position in the view.
void | set_expander_column (TreeViewColumn& column)
| Sets the column to draw the expander arrow at.
void | reset_expander_column ()
| This method resets the expander arrow to the default - the first visible column.
TreeViewColumn* | get_expander_column ()
| Returns the column that is the current expander column.
const TreeViewColumn* | get_expander_column () const
| Returns the column that is the current expander column.
void | set_column_drag_function (const SlotColumnDrop& slot)
| Sets a callback slot for determining where a column may be dropped when dragged.
void | unset_column_drag_function ()
| See set_column_drag_function().
void | scroll_to_point (int tree_x, int tree_y)
| Scrolls the tree view such that the top-left corner of the visible area is tree_x, tree_y, where tree_x and tree_y are specified in tree coordinates.
void | scroll_to_cell (const TreeModel::Path& path, TreeViewColumn& column, float row_align, float col_align)
| Moves the alignments of tree view to the position specified by column and path.
void | scroll_to_cell (const TreeModel::Path& path, TreeViewColumn& column)
| Moves the alignments of tree view to the position specified by column and path.
void | scroll_to_row (const TreeModel::Path& path, float row_align)
| Moves the alignments of tree view to the position specified by path.
void | scroll_to_row (const TreeModel::Path& path)
| Moves the alignments of tree view to the position specified by path.
void | scroll_to_column (TreeViewColumn& column, float col_align)
| Moves the alignments of tree view to the position specified by column.
void | scroll_to_column (TreeViewColumn& column)
| Moves the alignments of tree view to the position specified by column.
void | row_activated (const TreeModel::Path& path, TreeViewColumn& column)
| Activates the cell determined by path and column.
void | expand_all ()
| Recursively expands all nodes in the tree_view.
void | collapse_all ()
| Recursively collapses all visible, expanded nodes in tree_view.
void | expand_to_path (const TreeModel::Path& path)
| Expands the row at path.
bool | expand_row (const TreeModel::Path& path, bool open_all)
| Opens the row so its children are visible.
bool | collapse_row (const TreeModel::Path& path)
| Collapses a row (hides its child rows, if they exist).
void | map_expanded_rows (const SlotMapping& slot)
| Calls the callback slot on all expanded rows.
bool | row_expanded (const TreeModel::Path& path)
| Returns `true` if the node pointed to by path is expanded in tree_view.
void | set_reorderable (bool reorderable=true)
| This function is a convenience function to allow you to reorder models that support the Gtk::TreeDragSourceIface and the Gtk::TreeDragDestIface.
bool | get_reorderable () const
| Retrieves whether the user can reorder the tree via drag-and-drop.
void | set_cursor (const TreeModel::Path& path, TreeViewColumn& focus_column, bool start_editing=false)
| Sets the current keyboard focus to be at path, and selects it.
void | set_cursor (const TreeModel::Path& path, TreeViewColumn& focus_column, CellRenderer& focus_cell, bool start_editing=false)
| Sets the current keyboard focus to be at path, and selects it.
void | set_cursor (const TreeModel::Path& path)
| Sets the current keyboard focus to be at path , and selects it.
void | get_cursor (TreeModel::Path& path, TreeViewColumn*& focus_column)
| Fills in path and focus_column with the current path and focus column.
Glib::RefPtr< Gdk::Window > | get_bin_window ()
| Returns the window that tree_view renders to.
Glib::RefPtr< const Gdk::Window > | get_bin_window () const
| Returns the window that tree_view renders to.
bool | get_path_at_pos (int x, int y, TreeModel::Path& path, TreeViewColumn*& column, int& cell_x, int& cell_y) const
| Finds the path at the point (x, y), relative to bin_window coordinates (please get_bin_window()).
bool | get_path_at_pos (int x, int y, TreeModel::Path& path) const
| Finds the path at the point (x, y), relative to bin_window coordinates (please get_bin_window()).
void | get_cell_area (const TreeModel::Path& path, TreeViewColumn& column, Gdk::Rectangle& rect) const
| Fills the bounding rectangle in tree window coordinates for the cell at the row specified by path and the column specified by column.
void | get_background_area (const TreeModel::Path& path, TreeViewColumn& column, Gdk::Rectangle& rect) const
| Fills the bounding rectangle in tree window coordinates for the cell at the row specified by path and the column specified by column.
void | get_visible_rect (Gdk::Rectangle& visible_rect) const
| Fills visible_rect with the currently-visible region of the buffer, in tree coordinates.
bool | get_visible_range (TreeModel::Path& start_path, TreeModel::Path& end_path) const
bool | is_blank_at_pos (int x, int y, TreePath& path, TreeViewColumn*& column, int& cell_x, int& cell_y) const
bool | is_blank_at_pos (int x, int y) const
void | enable_model_drag_source (const std::vector< TargetEntry >& targets, Gdk::ModifierType start_button_mask=Gdk::MODIFIER_MASK, Gdk::DragAction actions=Gdk::ACTION_COPY|Gdk::ACTION_MOVE)
| Turns the TreeView into a drag source for automatic DND.
void | enable_model_drag_source (Gdk::ModifierType start_button_mask=Gdk::MODIFIER_MASK, Gdk::DragAction actions=Gdk::ACTION_COPY|Gdk::ACTION_MOVE)
| Turns the TreeView into a drag source for automatic DND.
void | enable_model_drag_dest (const std::vector< TargetEntry >& targets, Gdk::DragAction actions=Gdk::ACTION_COPY|Gdk::ACTION_MOVE)
| Turns the TreeView into a drop destination for automatic DND.
void | enable_model_drag_dest (Gdk::DragAction actions=Gdk::ACTION_COPY|Gdk::ACTION_MOVE)
| Turns the TreeView into a drop destination for automatic DND.
void | unset_rows_drag_source ()
| Undoes the effect of enable_model_drag_source()
void | unset_rows_drag_dest ()
| Undoes the effect of enable_model_drag_source()
void | set_drag_dest_row (const TreeModel::Path& path, TreeViewDropPosition pos)
| Sets the row that is highlighted for feedback.
void | unset_drag_dest_row ()
| Remove an existing highlight.
void | get_drag_dest_row (TreeModel::Path& path, TreeViewDropPosition& pos) const
| Gets information about the row that is highlighted for feedback.
bool | get_dest_row_at_pos (int drag_x, int drag_y, TreeModel::Path& path, TreeViewDropPosition& pos) const
| Determines the destination row for a given position.
Cairo::RefPtr< Cairo::Surface > | create_row_drag_icon (const TreeModel::Path& path) const
| Creates a #cairo_surface_t representation of the row at path.
void | set_enable_search (bool enable_search=true)
| If enable_search is set, then the user can type in text to search through the tree interactively (this is sometimes called "typeahead find").
bool | get_enable_search () const
| Returns whether or not the tree allows to start interactive searching by typing in text.
int | get_search_column () const
| Gets the column searched on by the interactive search code.
void | set_search_column (const TreeModelColumnBase& column)
| Sets column as the column where the interactive search code should search in for the current model.
void | set_search_column (int column)
| Sets column as the column where the interactive search code should search in for the current model.
void | set_search_equal_func (const SlotSearchEqual& slot)
| Sets the compare function for the interactive search capabilities.
Entry* | get_search_entry ()
| Returns the Gtk::Entry which is currently in use as interactive search entry for tree_view.
const Entry* | get_search_entry () const
| Returns the Gtk::Entry which is currently in use as interactive search entry for tree_view.
void | set_search_entry (Entry& entry)
| Sets the entry which the interactive search code will use for this tree_view.
void | set_search_position_func (const SlotSearchPosition& slot)
void | convert_widget_to_tree_coords (int wx, int wy, int& tx, int& ty) const
| Converts widget coordinates to coordinates for the tree (the full scrollable area of the tree).
void | convert_tree_to_widget_coords (int tx, int ty, int& wx, int& wy) const
| Converts tree coordinates (coordinates in full scrollable area of the tree) to widget coordinates.
void | convert_widget_to_bin_window_coords (int wx, int wy, int& bx, int& by) const
| Converts widget coordinates to coordinates for the bin_window (see get_bin_window()).
void | convert_bin_window_to_widget_coords (int bx, int by, int& wx, int& wy) const
| Converts bin_window coordinates (see get_bin_window()) to widget relative coordinates.
void | convert_tree_to_bin_window_coords (int tx, int ty, int& bx, int& by) const
| Converts tree coordinates (coordinates in full scrollable area of the tree) to bin_window coordinates.
void | convert_bin_window_to_tree_coords (int bx, int by, int& tx, int& ty) const
| Converts bin_window coordinates to coordinates for the tree (the full scrollable area of the tree).
void | set_fixed_height_mode (bool enable=true)
| Enables or disables the fixed height mode of tree_view.
bool | get_fixed_height_mode () const
| Returns whether fixed height mode is turned on for tree_view.
void | set_hover_selection (bool hover=true)
| Enables or disables the hover selection mode of tree_view.
bool | get_hover_selection () const
| Returns whether hover selection mode is turned on for tree_view.
void | set_hover_expand (bool expand=true)
| Enables or disables the hover expansion mode of tree_view.
bool | get_hover_expand () const
| Returns whether hover expansion mode is turned on for tree_view.
void | set_rubber_banding (bool enable=true)
| Enables or disables rubber banding in tree_view.
bool | get_rubber_banding () const
| Returns whether rubber banding is turned on for tree_view.
bool | is_rubber_banding_active () const
| Returns whether a rubber banding operation is currently being done in tree_view.
void | set_row_separator_func (const SlotRowSeparator& slot)
| Sets the row separator function, which is used to determine whether a row should be drawn as a separator.
void | unset_row_separator_func ()
| Removes the row separator function, so no separators are drawn.
void | set_grid_lines (TreeViewGridLines grid_lines)
| Sets which grid lines to draw in tree_view.
TreeViewGridLines | get_grid_lines () const
| Returns which grid lines are enabled in tree_view.
void | set_enable_tree_lines (bool enable=true)
| Sets whether to draw lines interconnecting the expanders in tree_view.
bool | get_enable_tree_lines () const
| Returns whether or not tree lines are drawn in tree_view.
void | set_show_expanders (bool enabled=true)
| Sets whether to draw and enable expanders and indent child rows in tree_view.
bool | get_show_expanders () const
| Returns whether or not expanders are drawn in tree_view.
void | set_level_indentation (int indentation)
| Sets the amount of extra indentation for child levels to use in tree_view in addition to the default indentation.
int | get_level_indentation () const
| Returns the amount, in pixels, of extra indentation for child levels in tree_view.
void | set_tooltip_row (const Glib::RefPtr< Tooltip >& tooltip, const TreePath& path)
| Sets the tip area of tooltip to be the area covered by the row at path.
void | set_tooltip_cell (const Glib::RefPtr< Tooltip >& tooltip, const TreeModel::Path* path, TreeViewColumn* column, CellRenderer* cell)
| Sets the tip area of tooltip to the area path, column and cell have in common.
bool | get_tooltip_context_path (int& x, int& y, bool keyboard_tip, TreeModel::Path& path)
bool | get_tooltip_context_iter (int& x, int& y, bool keyboard_tip, Gtk::TreeModel::iterator& iter)
void | set_tooltip_column (int column)
| If you only plan to have simple (text-only) tooltips on full rows, you can use this function to have Gtk::TreeView handle these automatically for you.
int | get_tooltip_column () const
| Returns the column of tree_view's model which is being used for displaying tooltips on tree_view's rows.
Glib::SignalProxy2< void, const TreeModel::Path &, TreeViewColumn* > | signal_row_activated ()
Glib::SignalProxy2< bool, const TreeModel::iterator &, const TreeModel::Path& > | signal_test_expand_row ()
Glib::SignalProxy2< bool, const TreeModel::iterator &, const TreeModel::Path& > | signal_test_collapse_row ()
Glib::SignalProxy2< void, const TreeModel::iterator &, const TreeModel::Path& > | signal_row_expanded ()
Glib::SignalProxy2< void, const TreeModel::iterator &, const TreeModel::Path& > | signal_row_collapsed ()
Glib::SignalProxy0< void > | signal_cursor_changed ()
Glib::SignalProxy0< void > | signal_columns_changed ()
Glib::PropertyProxy < Glib::RefPtr< TreeModel > > | property_model ()
| The model for the tree view.
Glib::PropertyProxy_ReadOnly < Glib::RefPtr< TreeModel > > | property_model () const
| The model for the tree view.
Glib::PropertyProxy< bool > | property_headers_visible ()
| Show the column header buttons.
Glib::PropertyProxy_ReadOnly < bool > | property_headers_visible () const
| Show the column header buttons.
Glib::PropertyProxy< bool > | property_headers_clickable ()
| Column headers respond to click events.
Glib::PropertyProxy_ReadOnly < bool > | property_headers_clickable () const
| Column headers respond to click events.
Glib::PropertyProxy < TreeViewColumn* > | property_expander_column ()
| Set the column for the expander column.
Glib::PropertyProxy_ReadOnly < TreeViewColumn* > | property_expander_column () const
| Set the column for the expander column.
Glib::PropertyProxy< bool > | property_reorderable ()
| View is reorderable.
Glib::PropertyProxy_ReadOnly < bool > | property_reorderable () const
| View is reorderable.
Glib::PropertyProxy< bool > | property_rules_hint ()
| Set a hint to the theme engine to draw rows in alternating colors.
Glib::PropertyProxy_ReadOnly < bool > | property_rules_hint () const
| Set a hint to the theme engine to draw rows in alternating colors.
Glib::PropertyProxy< bool > | property_enable_search ()
| View allows user to search through columns interactively.
Glib::PropertyProxy_ReadOnly < bool > | property_enable_search () const
| View allows user to search through columns interactively.
Glib::PropertyProxy< int > | property_search_column ()
| Model column to search through during interactive search.
Glib::PropertyProxy_ReadOnly< int > | property_search_column () const
| Model column to search through during interactive search.
Glib::PropertyProxy< bool > | property_fixed_height_mode ()
| Speeds up GtkTreeView by assuming that all rows have the same height.
Glib::PropertyProxy_ReadOnly < bool > | property_fixed_height_mode () const
| Speeds up GtkTreeView by assuming that all rows have the same height.
Glib::PropertyProxy< bool > | property_hover_selection ()
| Whether the selection should follow the pointer.
Glib::PropertyProxy_ReadOnly < bool > | property_hover_selection () const
| Whether the selection should follow the pointer.
Glib::PropertyProxy< bool > | property_hover_expand ()
| Whether rows should be expanded/collapsed when the pointer moves over them.
Glib::PropertyProxy_ReadOnly < bool > | property_hover_expand () const
| Whether rows should be expanded/collapsed when the pointer moves over them.
Glib::PropertyProxy< bool > | property_show_expanders ()
| View has expanders.
Glib::PropertyProxy_ReadOnly < bool > | property_show_expanders () const
| View has expanders.
Glib::PropertyProxy< bool > | property_level_indentation ()
| Extra indentation for each level.
Glib::PropertyProxy_ReadOnly < bool > | property_level_indentation () const
| Extra indentation for each level.
Glib::PropertyProxy< bool > | property_rubber_banding ()
| Whether to enable selection of multiple items by dragging the mouse pointer.
Glib::PropertyProxy_ReadOnly < bool > | property_rubber_banding () const
| Whether to enable selection of multiple items by dragging the mouse pointer.
Glib::PropertyProxy< bool > | property_enable_grid_lines ()
| Whether grid lines should be drawn in the tree view.
Glib::PropertyProxy_ReadOnly < bool > | property_enable_grid_lines () const
| Whether grid lines should be drawn in the tree view.
Glib::PropertyProxy< bool > | property_enable_tree_lines ()
| Whether tree lines should be drawn in the tree view.
Glib::PropertyProxy_ReadOnly < bool > | property_enable_tree_lines () const
| Whether tree lines should be drawn in the tree view.
Glib::PropertyProxy< int > | property_tooltip_column ()
| The column in the model containing the tooltip texts for the rows.
Glib::PropertyProxy_ReadOnly< int > | property_tooltip_column () const
| The column in the model containing the tooltip texts for the rows.
Public Member Functions inherited from Gtk::Container
virtual | ~Container ()
void | set_border_width (guint border_width)
| Sets the border width of the container.
guint | get_border_width () const
| Retrieves the border width of the container.
virtual void | add (Widget& widget)
void | remove (Widget& widget)
| Removes widget from container.
void | set_resize_mode (ResizeMode resize_mode)
| Sets the resize mode for the container.
ResizeMode | get_resize_mode () const
| Returns the resize mode for the container.
void | check_resize ()
| Request that contained widgets check their size.
void | foreach (const ForeachSlot& slot)
| Operate on contained items.
void | forall (const ForeachSlot& slot)
| Operate on contained items, including internal children.
std::vector< Widget* > | get_children ()
| (internal) Operate on contained items (see foreach())
std::vector< const Widget* > | get_children () const
| Returns the container's non-internal children.
void | propagate_draw (Widget& child, const ::Cairo::RefPtr< ::Cairo::Context >& cr)
| When a container receives a call to the draw function, it must send synthetic Gtk::Widget::signal_draw() calls to all children that don't have their own Gdk::Windows.
void | set_focus_chain (const std::vector< Widget* >& focusable_widgets)
| Sets a focus chain, overriding the one computed automatically by GTK+.
bool | has_focus_chain () const
std::vector< Widget* > | get_focus_chain ()
std::vector< const Widget* > | get_focus_chain () const
void | unset_focus_chain ()
| Removes a focus chain explicitly set with set_focus_chain().
void | set_reallocate_redraws (bool needs_redraws=true)
| Sets the reallocate_redraws flag of the container to the given value.
void | set_focus_child (Widget& widget)
| Sets the focus on a child.
Widget* | get_focus_child ()
| Returns the current focus child widget inside container.
const Widget* | get_focus_child () const
| Returns the current focus child widget inside container.
void | set_focus_vadjustment (const Glib::RefPtr< Adjustment >& adjustment)
| Hooks up an adjustment to focus handling in a container, so when a child of the container is focused, the adjustment is scrolled to show that widget.
Glib::RefPtr< Adjustment > | get_focus_vadjustment ()
| Retrieves the vertical focus adjustment for the container.
Glib::RefPtr< const Adjustment > | get_focus_vadjustment () const
| Retrieves the vertical focus adjustment for the container.
void | set_focus_hadjustment (const Glib::RefPtr< Adjustment >& adjustment)
| Hooks up an adjustment to focus handling in a container, so when a child of the container is focused, the adjustment is scrolled to show that widget.
Glib::RefPtr< Adjustment > | get_focus_hadjustment ()
| Retrieves the horizontal focus adjustment for the container.
Glib::RefPtr< const Adjustment > | get_focus_hadjustment () const
| Retrieves the horizontal focus adjustment for the container.
void | resize_children ()
GType | child_type () const
| Returns the type of the children supported by the container.
WidgetPath | get_path_for_child (const Widget& child) const
| Returns a newly created widget path representing all the widget hierarchy from the toplevel down to and including child.
Glib::SignalProxy1< void, Widget* > | signal_add ()
Glib::SignalProxy1< void, Widget* > | signal_remove ()
Glib::SignalProxy0< void > | signal_check_resize ()
Glib::SignalProxy1< void, Widget* > | signal_set_focus_child ()
void | show_all_children (bool recursive=true)
Public Member Functions inherited from Gtk::Widget
virtual | ~Widget ()
| Destroys the widget.
void | show ()
| Flags a widget to be displayed.
void | show_now ()
| Shows a widget.
void | hide ()
| Reverses the effects of show(), causing the widget to be hidden (invisible to the user).
void | show_all ()
| Recursively shows a widget, and any child widgets (if the widget is a container).
void | queue_draw ()
| Equivalent to calling queue_draw_area() for the entire area of a widget.
void | queue_draw_area (int x, int y, int width, int height)
| Convenience function that calls queue_draw_region() on the region created from the given coordinates.
void | queue_draw_region (const ::Cairo::RefPtr< const ::Cairo::Region >& region)
| Invalidates the rectangular area of widget defined by region by calling gdk_window_invalidate_region() on the widget's window and all its child windows.
void | queue_resize ()
| This function is only for use in widget implementations.
void | size_allocate (const Allocation& allocation)
| This function is only used by Gtk::Container subclasses, to assign a size and position to their child widgets.
SizeRequestMode | get_request_mode () const
| Gets whether the widget prefers a height-for-width layout or a width-for-height layout.
void | get_preferred_width (int& minimum_width, int& natural_width) const
| Retrieves a widget's initial minimum and natural width.
void | get_preferred_height_for_width (int width, int& minimum_height, int& natural_height) const
| Retrieves a widget's minimum and natural height if it would be given the specified width.
void | get_preferred_height (int& minimum_height, int& natural_height) const
| Retrieves a widget's initial minimum and natural height.
void | get_preferred_width_for_height (int height, int& minimum_width, int& natural_width) const
| Retrieves a widget's minimum and natural width if it would be given the specified height.
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.
void | add_accelerator (const Glib::ustring& accel_signal, const Glib::RefPtr< AccelGroup >& accel_group, guint accel_key, Gdk::ModifierType accel_mods, AccelFlags accel_flags)
| Installs an accelerator for this widget in accel_group that causes accel_signal to be emitted if the accelerator is activated.
bool | remove_accelerator (const Glib::RefPtr< AccelGroup >& accel_group, guint accel_key, Gdk::ModifierType accel_mods)
| Removes an accelerator from widget, previously installed with add_accelerator().
void | set_accel_path (const Glib::ustring& accel_path, const Glib::RefPtr< AccelGroup >& accel_group)
| Given an accelerator group, accel_group, and an accelerator path, accel_path, sets up an accelerator in accel_group so whenever the key binding that is defined for accel_path is pressed, widget will be activated.
bool | mnemonic_activate (bool group_cycling)
| Emits the Gtk::Widget::signal_mnemonic_activate() signal.
bool | event (GdkEvent* event)
| Rarely-used function.
int | send_expose (GdkEvent*event)
| Very rarely-used function.
bool | send_focus_change (GdkEvent*event)
| Sends the focus change event to widget.
bool | activate ()
| For widgets that can be "activated" (buttons, menu items, etc.) this function activates them.
void | reparent (Widget& new_parent)
| Moves a widget from one Gtk::Container to another, handling reference count issues to avoid destroying the widget.
bool | intersect (const Gdk::Rectangle& area) const
bool | intersect (const Gdk::Rectangle& area, Gdk::Rectangle& intersection) const
| Computes the intersection of a widget's area and area, storing the intersection in intersection, and returns `true` if there was an intersection.
::Cairo::RefPtr< ::Cairo::Region > | region_intersect (const ::Cairo::RefPtr< ::Cairo::Region >& region) const
| Computes the intersection of a widget's area and region, returning the intersection.
void | freeze_child_notify ()
| Stops emission of Gtk::Widget::signal_child_notify() signals on widget.
void | child_notify (const Glib::ustring& child_property)
| Emits a Gtk::Widget::signal_child_notify() signal for the child property child_property on widget.
void | thaw_child_notify ()
| Reverts the effect of a previous call to freeze_child_notify().
void | set_can_focus (bool can_focus=true)
| Specifies whether widget can own the input focus.
bool | get_can_focus () const
| Determines whether widget can own the input focus.
bool | has_focus () const
| Determines if the widget has the global input focus.
bool | is_focus () const
| Determines if the widget is the focus widget within its toplevel.
bool | has_visible_focus () const
| Determines if the widget should show a visible indication that it has the global input focus.
void | grab_focus ()
| Causes widget to have the keyboard focus for the Gtk::Window it's inside.
void | set_can_default (bool can_default=true)
| Specifies whether widget can be a default widget.
bool | get_can_default () const
| Determines whether widget can be a default widget.
bool | has_default () const
| Determines whether widget is the current default widget within its toplevel.
void | grab_default ()
| Causes widget to become the default widget.
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.
bool | get_receives_default () const
| Determines whether widget is alyways treated as default widget withing its toplevel when it has the focus, even if another widget is the default.
bool | has_grab () const
| Determines whether the widget is currently grabbing events, so it is the only widget receiving input events (keyboard and mouse).
bool | device_is_shadowed (const Glib::RefPtr< const Gdk::Device >& device)
| Returns `true` if device has been shadowed by a GTK+ device grab on another widget, so it would stop sending events to widget.
void | add_modal_grab ()
| Block events to everything else than this widget and its children.
void | remove_modal_grab ()
| Remove the modal grab of the widget in case it was previously grabbed.
void | set_name (const Glib::ustring& name)
| Widgets can be named, which allows you to refer to them from a CSS file.
void | unset_name ()
Glib::ustring | get_name () const
| Retrieves the name of a widget.
void | set_state (StateType state)
| This function is for use in widget implementations.
StateType | get_state () const
| Returns the widget's state.
void | set_state_flags (StateFlags flags, bool clear=true)
| This function is for use in widget implementations.
void | unset_state_flags (StateFlags flags)
| This function is for use in widget implementations.
StateFlags | get_state_flags () const
| Returns the widget state as a flag set.
void | set_sensitive (bool sensitive=true)
| Sets the sensitivity of a widget.
bool | get_sensitive () const
| Returns the widget's sensitivity (in the sense of returning the value that has been set using set_sensitive()).
bool | is_sensitive () const
| Returns the widget's effective sensitivity, which means it is sensitive itself and also its parent widget is sensitive.
void | set_visible (bool visible=true)
| Sets the visibility state of widget.
bool | get_visible () const
| Determines whether the widget is visible.
bool | get_has_window () const
| Determines whether widget has a Gdk::Window of its own.
bool | get_is_toplevel () const
| Determines whether widget is a toplevel widget.
bool | get_is_drawable () const
| Determines whether widget can be drawn to.
bool | get_realized () const
| Determines whether widget is realized.
bool | get_mapped () const
| Whether the widget is mapped.
void | set_app_paintable (bool app_paintable=true)
| Sets whether the application intends to draw on the widget in an Gtk::Widget::signal_draw() handler.
bool | get_app_paintable () const
| Determines whether the application intends to draw on the widget in an Gtk::Widget::signal_draw() handler.
void | set_double_buffered (bool double_buffered=true)
| Widgets are double buffered by default; you can use this function to turn off the buffering.
bool | get_double_buffered () const
| Determines whether the widget is double buffered.
void | set_redraw_on_allocate (bool redraw_on_allocate=true)
| Sets whether the entire widget is queued for drawing when its size allocation changes.
void | set_child_visible (bool is_visible=true)
| Sets whether widget should be mapped along with its when its parent is mapped and widget has been shown with show().
bool | get_child_visible () const
| Gets the value set with set_child_visible().
Glib::RefPtr< Gdk::Window > | get_window ()
| Returns the widget's window if it is realized, `0` otherwise.
Glib::RefPtr< const Gdk::Window > | get_window () const
| Returns the widget's window if it is realized, `0` otherwise.
int | get_allocated_width () const
| Returns the width that has currently been allocated to widget.
int | get_allocated_height () const
| Returns the height that has currently been allocated to widget.
Allocation | get_allocation () const
| Retrieves the widget's location.
void | set_allocation (const Allocation& allocation)
| Sets the widget's allocation.
Container* | get_parent ()
| Returns the parent container of widget.
const Container* | get_parent () const
| Returns the parent container of widget.
Glib::RefPtr< Gdk::Window > | get_parent_window ()
| Gets widget's parent window.
Glib::RefPtr< const Gdk::Window > | get_parent_window () const
| Gets widget's parent window.
void | set_parent_window (const Glib::RefPtr< const Gdk::Window >& parent_window)
| Sets a non default parent window for widget.
bool | child_focus (DirectionType direction)
| This function is used by custom widget implementations; if you're writing an app, you'd use grab_focus() to move the focus to a particular widget, and Gtk::Container::set_focus_chain() to change the focus tab order.
bool | keynav_failed (DirectionType direction)
| This function should be called whenever keyboard navigation within a single widget hits a boundary.
void | error_bell ()
| Notifies the user about an input-related error on this widget.
void | set_size_request (int width=-1, int height=-1)
| Sets the minimum size of a widget; that is, the widget's size request will be width by height.
void | get_size_request (int& width, int& height) const
| Gets the size request that was explicitly set for the widget using set_size_request().
void | set_events (Gdk::EventMask events)
| Sets the event mask (see Gdk::EventMask) for a widget.
void | add_events (Gdk::EventMask events)
| Adds the events in the bitfield events to the event mask for widget.
void | set_device_events (const Glib::RefPtr< const Gdk::Device >& device, Gdk::EventMask events)
| Sets the device event mask (see Gdk::EventMask) for a widget.
void | add_device_events (const Glib::RefPtr< const Gdk::Device >& device, Gdk::EventMask events)
| Adds the device events in the bitfield events to the event mask for widget.
void | set_device_enabled (const Glib::RefPtr< Gdk::Device >& device, bool enabled=true)
| Enables or disables a Gdk::Device to interact with widget and all its children.
bool | get_device_enabled (const Glib::RefPtr< const Gdk::Device >& device) const
| Returns whether device can interact with widget and its children.
Container* | get_toplevel ()
| This function returns the topmost widget in the container hierarchy widget is a part of.
const Container* | get_toplevel () const
| This function returns the topmost widget in the container hierarchy widget is a part of.
Widget* | get_ancestor (GType widget_type)
| Gets the first ancestor of widget with type widget_type.
const Widget* | get_ancestor (GType widget_type) const
| Gets the first ancestor of widget with type widget_type.
Glib::RefPtr< Gdk::Visual > | get_visual ()
| Gets the visual that will be used to render widget.
Glib::RefPtr< Gdk::Screen > | get_screen ()
| Get the Gdk::Screen from the toplevel window associated with this widget.
Glib::RefPtr< const Gdk::Screen > | get_screen () const
| Get the Gdk::Screen from the toplevel window associated with this widget.
bool | has_screen () const
| Checks whether there is a Gdk::Screen is associated with this widget.
Glib::RefPtr< Gdk::Display > | get_display ()
| Get the Gdk::Display for the toplevel window associated with this widget.
Glib::RefPtr< const Gdk::Display > | get_display () const
| Get the Gdk::Display for the toplevel window associated with this widget.
Glib::RefPtr< Gdk::Window > | get_root_window ()
| Get the root window where this widget is located.
Glib::RefPtr< const Gdk::Window > | get_root_window () const
| Get the root window where this widget is located.
Glib::RefPtr< Settings > | get_settings ()
| Gets the settings object holding the settings used for this widget.
Glib::RefPtr< Clipboard > | get_clipboard (const Glib::ustring& selection)
| Returns the clipboard object for the given selection to be used with widget.
Glib::RefPtr< const Clipboard > | get_clipboard (const Glib::ustring& selection) const
| Returns the clipboard object for the given selection to be used with widget.
bool | get_hexpand () const
| Gets whether the widget would like any available extra horizontal space.
void | set_hexpand (bool expand=true)
| Sets whether the widget would like any available extra horizontal space.
bool | get_hexpand_set () const
| Gets whether set_hexpand() has been used to explicitly set the expand flag on this widget.
void | set_hexpand_set (bool set=true)
| Sets whether the hexpand flag (see get_hexpand()) will be used.
bool | get_vexpand () const
| Gets whether the widget would like any available extra vertical space.
void | set_vexpand (bool expand=true)
| Sets whether the widget would like any available extra vertical space.
bool | get_vexpand_set () const
| Gets whether set_vexpand() has been used to explicitly set the expand flag on this widget.
void | set_vexpand_set (bool set=true)
| Sets whether the vexpand flag (see get_vexpand()) will be used.
void | queue_compute_expand ()
| Mark widget as needing to recompute its expand flags.
bool | compute_expand (Orientation orientation)
| Computes whether a container should give this widget extra space when possible.
bool | get_support_multidevice () const
| Returns `true` if widget is multiple pointer aware.
void | set_support_multidevice (bool support_multidevice=true)
| Enables or disables multiple pointer awareness.
Glib::RefPtr< Atk::Object > | get_accessible ()
| Returns the accessible object that describes the widget to an assistive technology.
Glib::RefPtr< const Atk::Object > | get_accessible () const
| Returns the accessible object that describes the widget to an assistive technology.
Align | get_halign () const
| Gets the value of the Gtk::Widget::property_halign() property.
void | set_halign (Align align)
| Sets the horizontal alignment of widget.
Align | get_valign () const
| Gets the value of the Gtk::Widget::property_valign() property.
void | set_valign (Align align)
| Sets the vertical alignment of widget.
int | get_margin_left () const
| Gets the value of the Gtk::Widget::property_margin_left() property.
void | set_margin_left (int margin)
| Sets the left margin of widget.
int | get_margin_right () const
| Gets the value of the Gtk::Widget::property_margin_right() property.
void | set_margin_right (int margin)
| Sets the right margin of widget.
int | get_margin_top () const
| Gets the value of the Gtk::Widget::property_margin_top() property.
void | set_margin_top (int margin)
| Sets the top margin of widget.
int | get_margin_bottom () const
| Gets the value of the Gtk::Widget::property_margin_bottom() property.
void | set_margin_bottom (int margin)
| Sets the bottom margin of widget.
Gdk::EventMask | get_events () const
| Returns the event mask for the widget (a bitfield containing flags from the Gdk::EventMask enumeration).
Gdk::EventMask | get_device_events (const Glib::RefPtr< const Gdk::Device >& device) const
| Returns the events mask for the widget corresponding to an specific device.
void | get_pointer (int& x, int& y) const
| Obtains the location of the mouse pointer in widget coordinates.
bool | is_ancestor (Widget& ancestor) const
| Determines whether widget is somewhere inside ancestor, possibly with intermediate containers.
bool | translate_coordinates (Widget& dest_widget, int src_x, int src_y, int& dest_x, int& dest_y)
| Translate coordinates relative to src_widget's allocation to coordinates relative to dest_widget's allocations.
void | override_color (const Gdk::RGBA& color, StateFlags state=(StateFlags) 0)
void | unset_color (StateFlags state=(StateFlags) 0)
void | override_background_color (const Gdk::RGBA& color, StateFlags state=(StateFlags) 0)
void | unset_background_color (StateFlags state=(StateFlags) 0)
void | override_font (const Pango::FontDescription& font_desc)
| Sets the font to use for a widget.
void | unset_font ()
void | override_symbolic_color (const Glib::ustring& name, const Gdk::RGBA& color)
| Sets a symbolic color for a widget.
void | unset_symbolic_color (const Glib::ustring& name)
void | override_cursor (const Gdk::RGBA& cursor, const Gdk::RGBA& secondary_cursor)
| Sets the cursor color to use in a widget, overriding the Gtk::Widget::property_cursor_color() and Gtk::Widget::property_secondary_cursor_color() style properties.
void | unset_cursor ()
void | reset_style ()
| Updates the style context of widget and all descendents by updating its widget path.
template<class PropertyType >
void | get_style_property (const Glib::ustring& the_property_name, PropertyType& value) const
| Gets the value of a style property of widget.
Glib::RefPtr< Pango::Context > | create_pango_context ()
| Creates a new Pango::Context with the appropriate font map, font description, and base direction for drawing text for this widget.
Glib::RefPtr< Pango::Context > | get_pango_context ()
| Gets a Pango::Context with the appropriate font map, font description, and base direction for this widget.
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.
Glib::RefPtr< Gdk::Pixbuf > | render_icon_pixbuf (const StockID& stock_id, IconSize size)
| A convenience function that uses the theme engine and style settings for widget to look up stock_id and render it to a pixbuf.
void | set_composite_name (const Glib::ustring& name)
| Sets a widgets composite name.
void | unset_composite_name ()
Glib::ustring | get_composite_name () const
| Obtains the composite name of a widget.
void | set_direction (TextDirection dir)
| Sets the reading direction on a particular widget.
TextDirection | get_direction () const
| Gets the reading direction for a particular widget.
void | shape_combine_region (const ::Cairo::RefPtr< const ::Cairo::Region >& region)
| Sets a shape for this widget's GDK window.
void | input_shape_combine_region (const ::Cairo::RefPtr< const ::Cairo::Region >& region)
| Sets an input shape for this widget's GDK window.
WidgetPath | get_path () const
| Returns the Gtk::WidgetPath representing widget, if the widget is not connected to a toplevel widget, a partial path will be created.
std::vector< Widget* > | list_mnemonic_labels ()
| Returns a newly allocated list of the widgets, normally labels, for which this widget is the target of a mnemonic (see for example, Gtk::Label::set_mnemonic_widget()).
std::vector< const Widget* > | list_mnemonic_labels () const
| Returns a newly allocated list of the widgets, normally labels, for which this widget is the target of a mnemonic (see for example, Gtk::Label::set_mnemonic_widget()).
void | add_mnemonic_label (Widget& label)
| Adds a widget to the list of mnemonic labels for this widget.
void | remove_mnemonic_label (Widget& label)
| Removes a widget from the list of mnemonic labels for this widget.
void | drag_get_data (const Glib::RefPtr< Gdk::DragContext >& context, const Glib::ustring& target, guint32 time)
void | drag_highlight ()
void | drag_unhighlight ()
void | drag_dest_set (DestDefaults flags=DestDefaults(0), Gdk::DragAction actions=Gdk::DragAction(0))
void | drag_dest_set (const std::vector< TargetEntry >& targets, DestDefaults flags=DEST_DEFAULT_ALL, Gdk::DragAction actions=Gdk::ACTION_COPY)
void | drag_dest_set_proxy (const Glib::RefPtr< Gdk::Window >& proxy_window, Gdk::DragProtocol protocol, bool use_coordinates)
void | drag_dest_unset ()
Glib::ustring | drag_dest_find_target (const Glib::RefPtr< Gdk::DragContext >& context, const Glib::RefPtr< TargetList >& target_list) const
| Looks for a match between context->targets and the dest_target_list, returning the first matching target, otherwise returning Gdk::NONE.
Glib::ustring | drag_dest_find_target (const Glib::RefPtr< Gdk::DragContext >& context) const
Glib::RefPtr< TargetList > | drag_dest_get_target_list ()
Glib::RefPtr< const TargetList > | drag_dest_get_target_list () const
void | drag_dest_set_target_list (const Glib::RefPtr< TargetList >& target_list)
void | drag_dest_add_text_targets ()
void | drag_dest_add_image_targets ()
void | drag_dest_add_uri_targets ()
void | drag_source_set (const std::vector< TargetEntry >& targets, Gdk::ModifierType start_button_mask=Gdk::MODIFIER_MASK, Gdk::DragAction actions=Gdk::ACTION_COPY)
void | drag_source_unset ()
void | drag_source_set_icon (const Glib::RefPtr< Gdk::Pixbuf >& pixbuf)
void | drag_source_set_icon (const StockID& stock_id)
| Sets the icon that will be used for drags from a particular source to a stock icon.
void | drag_source_set_icon (const Glib::ustring& icon_name)
| Sets the icon that will be used for drags from a particular source to a themed icon.
void | drag_source_add_text_targets ()
| Add the text targets supported by Gtk::Selection to the target list of the drag source.
void | drag_source_add_uri_targets ()
void | drag_source_add_image_targets ()
Glib::RefPtr< Gdk::DragContext > | drag_begin (const Glib::RefPtr< TargetList >& targets, Gdk::DragAction actions, int button, GdkEvent*event)
bool | drag_check_threshold (int start_x, int start_y, int current_x, int current_y)
void | drag_set_as_icon (const Glib::RefPtr< Gdk::DragContext >& context, int hot_x, int hot_y)
void | queue_resize_no_redraw ()
| This function works like queue_resize(), except that the widget is not invalidated.
bool | get_no_show_all () const
| Returns the current value of the Gtk::Widget::property_no_show_all() property, which determines whether calls to show_all() will affect this widget.
void | set_no_show_all (bool no_show_all=true)
| Sets the Gtk::Widget::property_no_show_all() property, which determines whether calls to show_all() will affect this widget.
void | set_parent (Widget& parent)
| This function is useful only when implementing subclasses of Gtk::Container.
void | unparent ()
| This function is only for use in widget implementations.
void | map ()
| This function is only for use in widget implementations.
void | unmap ()
| This function is only for use in widget implementations.
void | draw_insertion_cursor (const ::Cairo::RefPtr< ::Cairo::Context >& cr, const Gdk::Rectangle& location, bool is_primary, TextDirection direction, bool draw_arrow=true)
| Draws a text caret on cr at location.
void | set_tooltip_window (Window& widget)
| Replaces the default, usually yellow, window used for displaying tooltips with custom_window.
Window* | get_tooltip_window ()
| Returns the Gtk::Window of the current tooltip.
void | trigger_tooltip_query ()
| Triggers a tooltip query on the display where the toplevel of widget is located.
void | set_tooltip_text (const Glib::ustring& text)
| Sets text as the contents of the tooltip.
Glib::ustring | get_tooltip_text () const
| Gets the contents of the tooltip for widget.
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.
Glib::ustring | get_tooltip_markup () const
| Gets the contents of the tooltip for widget.
void | set_has_tooltip (bool has_tooltip=TRUE)
| Sets the has-tooltip property on widget to has_tooltip.
bool | get_has_tooltip () const
| Returns the current value of the has-tooltip property.
int | get_width () const
int | get_height () const
bool | is_composited () const
| Whether widget can rely on having its alpha channel drawn correctly.
bool | in_destruction () const
| Returns whether the widget is currently being destroyed.
Glib::RefPtr< StyleContext > | get_style_context ()
| Returns the style context associated to widget.
Glib::RefPtr< Gtk::StyleContext > | get_style_context () const
| Returns the style context associated to widget.
Gdk::ModifierType | get_modifier_mask (Gdk::ModifierIntent intent)
| Returns the modifier mask the widget's windowing system backend uses for a particular purpose.
Glib::SignalProxy0< void > | signal_show ()
Glib::SignalProxy0< void > | signal_hide ()
Glib::SignalProxy0< void > | signal_map ()
| Emitted on mapping of a widget to the screen.
Glib::SignalProxy0< void > | signal_unmap ()
Glib::SignalProxy0< void > | signal_realize ()
| Emitted on realization of a widget.
Glib::SignalProxy0< void > | signal_unrealize ()
Glib::SignalProxy1< void, Allocation& > | signal_size_allocate ()
Glib::SignalProxy1< void, Gtk::StateType > | signal_state_changed ()
Glib::SignalProxy1< void, Gtk::StateFlags > | signal_state_flags_changed ()
Glib::SignalProxy1< void, Widget* > | signal_parent_changed ()
| Informs objects that their parent changed.
Glib::SignalProxy1< void, Widget* > | signal_hierarchy_changed ()
Glib::SignalProxy0< void > | signal_style_updated ()
Glib::SignalProxy1< void, TextDirection > | signal_direction_changed ()
Glib::SignalProxy1< void, bool > | signal_grab_notify ()
Glib::SignalProxy1< void, GParamSpec* > | signal_child_notify ()
Glib::SignalProxy1< bool, bool > | signal_mnemonic_activate ()
Glib::SignalProxy0< void > | signal_grab_focus ()
Glib::SignalProxy1< bool, DirectionType > | signal_focus ()
Glib::SignalProxy1< bool, GdkEvent* > | signal_event ()
Glib::SignalProxy1< void, GdkEvent* > | signal_event_after ()
Glib::SignalProxy1< bool, GdkEventButton* > | signal_button_press_event ()
| Event triggered by user pressing button.
Glib::SignalProxy1< bool, GdkEventButton* > | signal_button_release_event ()
| Event triggered by user releasing button.
Glib::SignalProxy1< bool, GdkEventScroll* > | signal_scroll_event ()
Glib::SignalProxy1< bool, GdkEventMotion* > | signal_motion_notify_event ()
| Event triggered by user moving pointer.
Glib::SignalProxy1< bool, GdkEventAny* > | signal_delete_event ()
Glib::SignalProxy1< bool, const ::Cairo::RefPtr < ::Cairo::Context >& > | signal_draw ()
Glib::SignalProxy1< bool, GdkEventKey* > | signal_key_press_event ()
| Event triggered by a key press will widget has focus.
Glib::SignalProxy1< bool, GdkEventKey* > | signal_key_release_event ()
| Event triggered by a key release will widget has focus.
Glib::SignalProxy1< bool, GdkEventCrossing* > | signal_enter_notify_event ()
| Event triggered by pointer entering widget area.
Glib::SignalProxy1< bool, GdkEventCrossing* > | signal_leave_notify_event ()
| Event triggered by pointer leaving widget area.
Glib::SignalProxy1< bool, GdkEventConfigure* > | signal_configure_event ()
| Event triggered by a window resizing.
Glib::SignalProxy1< bool, GdkEventFocus* > | signal_focus_in_event ()
Glib::SignalProxy1< bool, GdkEventFocus* > | signal_focus_out_event ()
Glib::SignalProxy1< bool, GdkEventAny* > | signal_map_event ()
Glib::SignalProxy1< bool, GdkEventAny* > | signal_unmap_event ()
Glib::SignalProxy1< bool, GdkEventProperty* > | signal_property_notify_event ()
Glib::SignalProxy1< bool, GdkEventSelection* > | signal_selection_clear_event ()
Glib::SignalProxy1< bool, GdkEventSelection* > | signal_selection_request_event ()
Glib::SignalProxy1< bool, GdkEventSelection* > | signal_selection_notify_event ()
Glib::SignalProxy1< bool, GdkEventProximity* > | signal_proximity_in_event ()
Glib::SignalProxy1< bool, GdkEventProximity* > | signal_proximity_out_event ()
Glib::SignalProxy1< bool, GdkEventVisibility* > | signal_visibility_notify_event ()
Glib::SignalProxy1< bool, GdkEventWindowState* > | signal_window_state_event ()
Glib::SignalProxy3< void, SelectionData&, guint, guint > | signal_selection_get ()
Glib::SignalProxy2< void, const SelectionData&, guint > | signal_selection_received ()
Glib::SignalProxy1< void, const Glib::RefPtr < Gdk::DragContext >& > | signal_drag_begin ()
Glib::SignalProxy1< void, const Glib::RefPtr < Gdk::DragContext >& > | signal_drag_end ()
Glib::SignalProxy4< void, const Glib::RefPtr < Gdk::DragContext > &, SelectionData&, guint, guint > | signal_drag_data_get ()
Glib::SignalProxy1< void, const Glib::RefPtr < Gdk::DragContext >& > | signal_drag_data_delete ()
Glib::SignalProxy2< bool, const Glib::RefPtr < Gdk::DragContext > &, DragResult > | signal_drag_failed ()
Glib::SignalProxy2< void, const Glib::RefPtr < Gdk::DragContext >&, guint > | signal_drag_leave ()
Glib::SignalProxy4< bool, const Glib::RefPtr < Gdk::DragContext >&, int, int, guint > | signal_drag_motion ()
Glib::SignalProxy4< bool, const Glib::RefPtr < Gdk::DragContext >&, int, int, guint > | signal_drag_drop ()
Glib::SignalProxy6< void, const Glib::RefPtr < Gdk::DragContext >&, int, int, const SelectionData &, guint, guint > | signal_drag_data_received ()
Glib::SignalProxy1< void, const Glib::RefPtr < Gdk::Screen >& > | signal_screen_changed ()
Glib::SignalProxy0< void > | signal_composited_changed ()
Glib::SignalProxy0< bool > | signal_popup_menu ()
Glib::SignalProxy4< bool, int, int, bool, const Glib::RefPtr < Tooltip >& > | signal_query_tooltip ()
Glib::SignalProxy1< bool, GdkEventGrabBroken* > | signal_grab_broken_event ()
Glib::SignalProxy1< bool, GdkEventExpose* > | signal_damage_event ()
Glib::SignalProxy1< bool, GdkEventTouch* > | signal_touch_event ()
Glib::PropertyProxy < Glib::ustring > | property_name ()
| The name of the widget.
Glib::PropertyProxy_ReadOnly < Glib::ustring > | property_name () const
| The name of the widget.
Glib::PropertyProxy< Container* > | property_parent ()
| The parent widget of this widget.
Glib::PropertyProxy_ReadOnly < Container* > | property_parent () const
| The parent widget of this widget.
Glib::PropertyProxy< int > | property_width_request ()
| Override for width request of the widget, or -1 if natural request should be used.
Glib::PropertyProxy_ReadOnly< int > | property_width_request () const
| Override for width request of the widget, or -1 if natural request should be used.
Glib::PropertyProxy< int > | property_height_request ()
| Override for height request of the widget, or -1 if natural request should be used.
Glib::PropertyProxy_ReadOnly< int > | property_height_request () const
| Override for height request of the widget, or -1 if natural request should be used.
Glib::PropertyProxy< bool > | property_visible ()
| Whether the widget is visible.
Glib::PropertyProxy_ReadOnly < bool > | property_visible () const
| Whether the widget is visible.
Glib::PropertyProxy< bool > | property_sensitive ()
| Whether the widget responds to input.
Glib::PropertyProxy_ReadOnly < bool > | property_sensitive () const
| Whether the widget responds to input.
Glib::PropertyProxy< bool > | property_app_paintable ()
| Whether the application will paint directly on the widget.
Glib::PropertyProxy_ReadOnly < bool > | property_app_paintable () const
| Whether the application will paint directly on the widget.
Glib::PropertyProxy< bool > | property_can_focus ()
| Whether the widget can accept the input focus.
Glib::PropertyProxy_ReadOnly < bool > | property_can_focus () const
| Whether the widget can accept the input focus.
Glib::PropertyProxy< bool > | property_has_focus ()
| Whether the widget has the input focus.
Glib::PropertyProxy_ReadOnly < bool > | property_has_focus () const
| Whether the widget has the input focus.
Glib::PropertyProxy< bool > | property_is_focus ()
| Whether the widget is the focus widget within the toplevel.
Glib::PropertyProxy_ReadOnly < bool > | property_is_focus () const
| Whether the widget is the focus widget within the toplevel.
Glib::PropertyProxy< bool > | property_can_default ()
| Whether the widget can be the default widget.
Glib::PropertyProxy_ReadOnly < bool > | property_can_default () const
| Whether the widget can be the default widget.
Glib::PropertyProxy< bool > | property_has_default ()
| Whether the widget is the default widget.
Glib::PropertyProxy_ReadOnly < bool > | property_has_default () const
| Whether the widget is the default widget.
Glib::PropertyProxy< bool > | property_receives_default ()
| If TRUE, the widget will receive the default action when it is focused.
Glib::PropertyProxy_ReadOnly < bool > | property_receives_default () const
| If TRUE, the widget will receive the default action when it is focused.
Glib::PropertyProxy_ReadOnly < bool > | property_composite_child () const
| Whether the widget is part of a composite widget.
Glib::PropertyProxy < Glib::RefPtr< Style > > | property_style ()
| The style of the widget, which contains information about how it will look (colors etc).
Glib::PropertyProxy_ReadOnly < Glib::RefPtr< Style > > | property_style () const
| The style of the widget, which contains information about how it will look (colors etc).
Glib::PropertyProxy < Gdk::EventMask > | property_events ()
| The event mask that decides what kind of GdkEvents this widget gets.
Glib::PropertyProxy_ReadOnly < Gdk::EventMask > | property_events () const
| The event mask that decides what kind of GdkEvents this widget gets.
Glib::PropertyProxy< bool > | property_has_tooltip ()
| Whether this widget has a tooltip.
Glib::PropertyProxy_ReadOnly < bool > | property_has_tooltip () const
| Whether this widget has a tooltip.
Glib::PropertyProxy < Glib::ustring > | property_tooltip_markup ()
| The contents of the tooltip for this widget.
Glib::PropertyProxy_ReadOnly < Glib::ustring > | property_tooltip_markup () const
| The contents of the tooltip for this widget.
Glib::PropertyProxy < Glib::ustring > | property_tooltip_text ()
| The contents of the tooltip for this widget.
Glib::PropertyProxy_ReadOnly < Glib::ustring > | property_tooltip_text () const
| The contents of the tooltip for this widget.
Glib::PropertyProxy_ReadOnly < Glib::RefPtr< Gdk::Window > > | property_window () const
| The widget's window if it is realized.
Glib::PropertyProxy< bool > | property_no_show_all ()
| Whether gtk_widget_show_all() should not affect this widget.
Glib::PropertyProxy_ReadOnly < bool > | property_no_show_all () const
| Whether gtk_widget_show_all() should not affect this widget.
Glib::PropertyProxy< bool > | property_double_buffered ()
| Whether the widget is double buffered.
Glib::PropertyProxy_ReadOnly < bool > | property_double_buffered () const
| Whether the widget is double buffered.
Glib::PropertyProxy< Align > | property_halign ()
| How to position in extra horizontal space.
Glib::PropertyProxy_ReadOnly < Align > | property_halign () const
| How to position in extra horizontal space.
Glib::PropertyProxy< Align > | property_valign ()
| How to position in extra vertical space.
Glib::PropertyProxy_ReadOnly < Align > | property_valign () const
| How to position in extra vertical space.
Glib::PropertyProxy< int > | property_margin_left ()
| Pixels of extra space on the left side.
Glib::PropertyProxy_ReadOnly< int > | property_margin_left () const
| Pixels of extra space on the left side.
Glib::PropertyProxy< int > | property_margin_right ()
| Pixels of extra space on the right side.
Glib::PropertyProxy_ReadOnly< int > | property_margin_right () const
| Pixels of extra space on the right side.
Glib::PropertyProxy< int > | property_margin_top ()
| Pixels of extra space on the top side.
Glib::PropertyProxy_ReadOnly< int > | property_margin_top () const
| Pixels of extra space on the top side.
Glib::PropertyProxy< int > | property_margin_bottom ()
| Pixels of extra space on the bottom side.
Glib::PropertyProxy_ReadOnly< int > | property_margin_bottom () const
| Pixels of extra space on the bottom side.
Glib::PropertyProxy< int > | property_margin ()
| Pixels of extra space on all four sides.
Glib::PropertyProxy_ReadOnly< int > | property_margin () const
| Pixels of extra space on all four sides.
Glib::PropertyProxy< bool > | property_hexpand ()
| Whether widget wants more horizontal space.
Glib::PropertyProxy_ReadOnly < bool > | property_hexpand () const
| Whether widget wants more horizontal space.
Glib::PropertyProxy< bool > | property_hexpand_set ()
| Whether to use the hexpand property.
Glib::PropertyProxy_ReadOnly < bool > | property_hexpand_set () const
| Whether to use the hexpand property.
Glib::PropertyProxy< bool > | property_vexpand ()
| Whether widget wants more vertical space.
Glib::PropertyProxy_ReadOnly < bool > | property_vexpand () const
| Whether widget wants more vertical space.
Glib::PropertyProxy< bool > | property_vexpand_set ()
| Whether to use the vexpand property.
Glib::PropertyProxy_ReadOnly < bool > | property_vexpand_set () const
| Whether to use the vexpand property.
Glib::PropertyProxy< bool > | property_expand ()
| Whether widget wants to expand in both directions.
Glib::PropertyProxy_ReadOnly < bool > | property_expand () const
| Whether widget wants to expand in both directions.
Public Member Functions inherited from Gtk::Object
virtual | ~Object ()
Public Member Functions inherited from Glib::Object
void * | get_data (const QueryQuark &key)
void | set_data (const Quark &key, void *data)
void | set_data (const Quark &key, void *data, DestroyNotify notify)
void | remove_data (const QueryQuark &quark)
void * | steal_data (const QueryQuark &quark)
void | set_property_value (const Glib::ustring &property_name, const Glib::ValueBase &value)
void | get_property_value (const Glib::ustring &property_name, Glib::ValueBase &value) const
void | set_property (const Glib::ustring &property_name, const PropertyType &value)
void | get_property (const Glib::ustring &property_name, PropertyType &value) const
void | connect_property_changed (const Glib::ustring &property_name, const sigc::slot< void > &slot)
sigc::connection | connect_property_changed_with_return (const Glib::ustring &property_name, const sigc::slot< void > &slot)
void | freeze_notify ()
void | thaw_notify ()
virtual void | reference () const
virtual void | unreference () const
GObject * | gobj_copy () const
Glib::RefPtr< Glib::Object > | wrap (GObject *object, bool take_copy=false)
Public Member Functions inherited from Gtk::Buildable
virtual | ~Buildable ()
Public Member Functions inherited from Glib::Interface
| Interface (const Glib::Interface_Class &interface_class)
| Interface (GObject *castitem)
virtual | ~Interface ()
void | set_property_value (const Glib::ustring &property_name, const Glib::ValueBase &value)
void | get_property_value (const Glib::ustring &property_name, Glib::ValueBase &value) const
void | set_property (const Glib::ustring &property_name, const PropertyType &value)
void | get_property (const Glib::ustring &property_name, PropertyType &value) const
void | connect_property_changed (const Glib::ustring &property_name, const sigc::slot< void > &slot)
sigc::connection | connect_property_changed_with_return (const Glib::ustring &property_name, const sigc::slot< void > &slot)
void | freeze_notify ()
void | thaw_notify ()
virtual void | reference () const
virtual void | unreference () const
GObject * | gobj_copy () const
Public Member Functions inherited from Gtk::Scrollable
virtual | ~Scrollable ()
Glib::RefPtr< Adjustment > | get_hadjustment ()
| Retrieves the Gtk::Adjustment used for horizontal scrolling.
Glib::RefPtr< const Adjustment > | get_hadjustment () const
| Retrieves the Gtk::Adjustment used for horizontal scrolling.
void | set_hadjustment (const Glib::RefPtr< Adjustment >& hadjustment)
| Sets the horizontal adjustment of the Gtk::Scrollable.
void | unset_hadjustment ()
| This method removes the hadjustment.
Glib::RefPtr< Adjustment > | get_vadjustment ()
| Retrieves the Gtk::Adjustment used for vertical scrolling.
Glib::RefPtr< const Adjustment > | get_vadjustment () const
| Retrieves the Gtk::Adjustment used for vertical scrolling.
void | set_vadjustment (const Glib::RefPtr< Adjustment >& hadjustment)
| Sets the vertical adjustment of the Gtk::Scrollable.
void | unset_vadjustment ()
| This method removes the vadjustment.
ScrollablePolicy | get_hscroll_policy () const
| Gets the horizontal Gtk::ScrollablePolicy.
void | set_hscroll_policy (ScrollablePolicy policy)
| Sets the Gtk::ScrollablePolicy to determine whether horizontal scrolling should start below the minimum width or below the natural width.
ScrollablePolicy | get_vscroll_policy () const
| Gets the vertical Gtk::ScrollablePolicy.
void | set_vscroll_policy (ScrollablePolicy policy)
| Sets the Gtk::ScrollablePolicy to determine whether vertical scrolling should start below the minimum height or below the natural height.
Glib::PropertyProxy < Glib::RefPtr< Adjustment > > | property_hadjustment ()
| Horizontal adjustment that is shared between the scrollable widget and its controller.
Glib::PropertyProxy_ReadOnly < Glib::RefPtr< Adjustment > > | property_hadjustment () const
| Horizontal adjustment that is shared between the scrollable widget and its controller.
Glib::PropertyProxy < Glib::RefPtr< Adjustment > > | property_vadjustment ()
| Vertical adjustment that is shared between the scrollable widget and its controller.
Glib::PropertyProxy_ReadOnly < Glib::RefPtr< Adjustment > > | property_vadjustment () const
| Vertical adjustment that is shared between the scrollable widget and its controller.
Glib::PropertyProxy < ScrollablePolicy > | property_hscroll_policy ()
| How the size of the content should be determined.
Glib::PropertyProxy_ReadOnly < ScrollablePolicy > | property_hscroll_policy () const
| How the size of the content should be determined.
Glib::PropertyProxy < ScrollablePolicy > | property_vscroll_policy ()
| How the size of the content should be determined.
Glib::PropertyProxy_ReadOnly < ScrollablePolicy > | property_vscroll_policy () const
| How the size of the content should be determined.

## Static Public Member Functions

static GType | get_type ()
| Get the GType for this class, for use with the underlying GObject type system.
Static Public Member Functions inherited from Gtk::Scrollable
static void | add_interface (GType gtype_implementer)

## Protected Member Functions

virtual void | on_row_activated (const TreeModel::Path& path, TreeViewColumn* column)
| This is a default handler for the signal signal_row_activated().
virtual bool | on_test_expand_row (const TreeModel::iterator& iter, const TreeModel::Path& path)
| This is a default handler for the signal signal_test_expand_row().
virtual bool | on_test_collapse_row (const TreeModel::iterator& iter, const TreeModel::Path& path)
| This is a default handler for the signal signal_test_collapse_row().
virtual void | on_row_expanded (const TreeModel::iterator& iter, const TreeModel::Path& path)
| This is a default handler for the signal signal_row_expanded().
virtual void | on_row_collapsed (const TreeModel::iterator& iter, const TreeModel::Path& path)
| This is a default handler for the signal signal_row_collapsed().
virtual void | on_cursor_changed ()
| This is a default handler for the signal signal_cursor_changed().
virtual void | on_columns_changed ()
| This is a default handler for the signal signal_columns_changed().
Protected Member Functions inherited from Gtk::Container
virtual void | on_add (Widget* widget)
| This is a default handler for the signal signal_add().
virtual void | on_remove (Widget* widget)
| This is a default handler for the signal signal_remove().
virtual void | on_check_resize ()
| This is a default handler for the signal signal_check_resize().
virtual void | on_set_focus_child (Widget* widget)
| This is a default handler for the signal signal_set_focus_child().
| Container ()
virtual GType | child_type_vfunc () const
| Implements child_type().
virtual void | forall_vfunc (gboolean include_internals, GtkCallback callback, gpointer callback_data)
| Invokes a callback on all children of the container.
virtual char* | composite_name_vfunc (GtkWidget* child)
| Returns the composite name of a child widget.
virtual void | set_child_property_vfunc (GtkWidget* child, guint property_id, const GValue* value, GParamSpec* pspec)
| Sets a child property for this container and its child.
virtual void | get_child_property_vfunc (GtkWidget* child, guint property_id, GValue* value, GParamSpec* pspec) const
| Returns a child property for this container and its child.
Glib::PropertyProxy< guint > | property_border_width ()
| The width of the empty border outside the containers children.
Glib::PropertyProxy_ReadOnly < guint > | property_border_width () const
| The width of the empty border outside the containers children.
Glib::PropertyProxy< ResizeMode > | property_resize_mode ()
| Specify how resize events are handled.
Glib::PropertyProxy_ReadOnly < ResizeMode > | property_resize_mode () const
| Specify how resize events are handled.
Glib::PropertyProxy_WriteOnly < Widget* > | property_child ()
| Can be used to add a new child to the container.
Protected Member Functions inherited from Gtk::Widget
virtual void | on_show ()
| This is a default handler for the signal signal_show().
virtual void | on_hide ()
| This is a default handler for the signal signal_hide().
virtual void | on_map ()
| This is a default handler for the signal signal_map().
virtual void | on_unmap ()
| This is a default handler for the signal signal_unmap().
virtual void | on_realize ()
| This is a default handler for the signal signal_realize().
virtual void | on_unrealize ()
| This is a default handler for the signal signal_unrealize().
virtual void | on_size_allocate (Allocation& allocation)
| This is a default handler for the signal signal_size_allocate().
virtual void | on_state_changed (Gtk::StateType previous_state)
| This is a default handler for the signal signal_state_changed().
virtual void | on_parent_changed (Widget* previous_parent)
| This is a default handler for the signal signal_parent_changed().
virtual void | on_hierarchy_changed (Widget* previous_toplevel)
| This is a default handler for the signal signal_hierarchy_changed().
virtual void | on_style_updated ()
| This is a default handler for the signal signal_style_updated().
virtual void | on_direction_changed (TextDirection direction)
| This is a default handler for the signal signal_direction_changed().
virtual void | on_grab_notify (bool was_grabbed)
| This is a default handler for the signal signal_grab_notify().
virtual void | on_child_notify (GParamSpec* pspec)
| This is a default handler for the signal signal_child_notify().
virtual bool | on_mnemonic_activate (bool group_cycling)
| This is a default handler for the signal signal_mnemonic_activate().
virtual void | on_grab_focus ()
| This is a default handler for the signal signal_grab_focus().
virtual bool | on_focus (DirectionType direction)
| This is a default handler for the signal signal_focus().
virtual bool | on_event (GdkEvent*event)
| This is a default handler for the signal signal_event().
virtual bool | on_button_press_event (GdkEventButton*event)
| This is a default handler for the signal signal_button_press_event().
virtual bool | on_button_release_event (GdkEventButton*event)
| This is a default handler for the signal signal_button_release_event().
virtual bool | on_scroll_event (GdkEventScroll*event)
| This is a default handler for the signal signal_scroll_event().
virtual bool | on_motion_notify_event (GdkEventMotion*event)
| This is a default handler for the signal signal_motion_notify_event().
virtual bool | on_delete_event (GdkEventAny*event)
| This is a default handler for the signal signal_delete_event().
virtual bool | on_draw (const ::Cairo::RefPtr< ::Cairo::Context >& cr)
| This is a default handler for the signal signal_draw().
virtual bool | on_key_press_event (GdkEventKey*event)
| This is a default handler for the signal signal_key_press_event().
virtual bool | on_key_release_event (GdkEventKey*event)
| This is a default handler for the signal signal_key_release_event().
virtual bool | on_enter_notify_event (GdkEventCrossing*event)
| This is a default handler for the signal signal_enter_notify_event().
virtual bool | on_leave_notify_event (GdkEventCrossing*event)
| This is a default handler for the signal signal_leave_notify_event().
virtual bool | on_configure_event (GdkEventConfigure*event)
| This is a default handler for the signal signal_configure_event().
virtual bool | on_focus_in_event (GdkEventFocus*event)
| This is a default handler for the signal signal_focus_in_event().
virtual bool | on_focus_out_event (GdkEventFocus*event)
| This is a default handler for the signal signal_focus_out_event().
virtual bool | on_map_event (GdkEventAny*event)
| This is a default handler for the signal signal_map_event().
virtual bool | on_unmap_event (GdkEventAny*event)
| This is a default handler for the signal signal_unmap_event().
virtual bool | on_property_notify_event (GdkEventProperty*event)
| This is a default handler for the signal signal_property_notify_event().
virtual bool | on_selection_clear_event (GdkEventSelection*event)
| This is a default handler for the signal signal_selection_clear_event().
virtual bool | on_selection_request_event (GdkEventSelection*event)
| This is a default handler for the signal signal_selection_request_event().
virtual bool | on_selection_notify_event (GdkEventSelection*event)
| This is a default handler for the signal signal_selection_notify_event().
virtual bool | on_proximity_in_event (GdkEventProximity*event)
| This is a default handler for the signal signal_proximity_in_event().
virtual bool | on_proximity_out_event (GdkEventProximity*event)
| This is a default handler for the signal signal_proximity_out_event().
virtual bool | on_visibility_notify_event (GdkEventVisibility*event)
| This is a default handler for the signal signal_visibility_notify_event().
virtual bool | on_window_state_event (GdkEventWindowState*event)
| This is a default handler for the signal signal_window_state_event().
virtual void | on_selection_get (SelectionData& selection_data, guint info, guint time)
| This is a default handler for the signal signal_selection_get().
virtual void | on_selection_received (const SelectionData& selection_data, guint time)
| This is a default handler for the signal signal_selection_received().
virtual void | on_drag_begin (const Glib::RefPtr< Gdk::DragContext >& context)
| This is a default handler for the signal signal_drag_begin().
virtual void | on_drag_end (const Glib::RefPtr< Gdk::DragContext >& context)
| This is a default handler for the signal signal_drag_end().
virtual void | on_drag_data_get (const Glib::RefPtr< Gdk::DragContext >& context, SelectionData& selection_data, guint info, guint time)
| This is a default handler for the signal signal_drag_data_get().
virtual void | on_drag_data_delete (const Glib::RefPtr< Gdk::DragContext >& context)
| This is a default handler for the signal signal_drag_data_delete().
virtual void | on_drag_leave (const Glib::RefPtr< Gdk::DragContext >& context, guint time)
| This is a default handler for the signal signal_drag_leave().
virtual bool | on_drag_motion (const Glib::RefPtr< Gdk::DragContext >& context, int x, int y, guint time)
| This is a default handler for the signal signal_drag_motion().
virtual bool | on_drag_drop (const Glib::RefPtr< Gdk::DragContext >& context, int x, int y, guint time)
| This is a default handler for the signal signal_drag_drop().
virtual void | on_drag_data_received (const Glib::RefPtr< Gdk::DragContext >& context, int x, int y, const SelectionData& selection_data, guint info, guint time)
| This is a default handler for the signal signal_drag_data_received().
virtual void | on_screen_changed (const Glib::RefPtr< Gdk::Screen >& previous_screen)
| This is a default handler for the signal signal_screen_changed().
virtual void | dispatch_child_properties_changed_vfunc (guint p1, GParamSpec** p2)
virtual void | show_all_vfunc ()
virtual Glib::RefPtr< Atk::Object > | get_accessible_vfunc ()
virtual SizeRequestMode | get_request_mode_vfunc () const
virtual void | get_preferred_width_vfunc (int& minimum_width, int& natural_width) const
virtual void | get_preferred_height_for_width_vfunc (int width, int& minimum_height, int& natural_height) const
virtual void | get_preferred_height_vfunc (int& minimum_height, int& natural_height) const
virtual void | get_preferred_width_for_height_vfunc (int height, int& minimum_width, int& natural_width) const
| Widget ()
void | realize ()
| Creates the GDK (windowing system) resources associated with a widget.
void | unrealize ()
| This function is only useful in widget implementations.
void | draw (const ::Cairo::RefPtr< ::Cairo::Context >& cr)
| Draws widget to cr.
void | set_mapped (bool mapped=true)
| Marks the widget as being realized.
void | set_realized (bool realized=true)
| Marks the widget as being realized.
void | set_has_window (bool has_window=true)
| Specifies whether widget has a Gdk::Window of its own.
void | set_window (const Glib::RefPtr< Gdk::Window >& window)
| Sets a widget's window.
void | transform_cairo_context_to_window (const ::Cairo::RefPtr< ::Cairo::Context >& cr, const Glib::RefPtr< const Gdk::Window >& window)
| Transforms the given cairo context cr from widget-relative coordinates to window-relative coordinates.
Requisition | get_requisition () const
| Retrieves the widget's requisition.
void | get_style_property_value (const Glib::ustring& the_property_name, Glib::ValueBase& value) const
| Gets the value of a style property of widget.
void | realize_if_needed ()
void | insert_action_group (const Glib::ustring& name, const Glib::RefPtr< Gio::ActionGroup >& group)
| Inserts group into widget.
Protected Member Functions inherited from Gtk::Buildable
| Buildable ()
| You should derive from this class to use it.
Protected Member Functions inherited from Glib::Interface
| ObjectBase ()
| ObjectBase (const char *custom_type_name)
| ObjectBase (const std::type_info &custom_type_info)
virtual | ~ObjectBase ()=0
void | initialize (GObject *castitem)
Protected Member Functions inherited from Gtk::Scrollable
| Scrollable ()
| You should derive from this class to use it.

## Related Functions

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

## Detailed Description

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

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

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

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

## Member Typedef Documentation

typedef TreeViewColumn Gtk::TreeView::Column

A visible column in a Gtk::TreeView widget.

typedef TreeSelection Gtk::TreeView::Selection

A selection object for Gtk::TreeView.

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

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

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

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

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

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

typedef sigc::slot<bool, const Glib::RefPtr<TreeModel>&, const TreeModel::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::iterator& iter);

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

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

typedef sigc::slot<void, Gtk::Widget* > Gtk::TreeView::SlotSearchPosition

void on_search_position(Gtk::Widget* search_dialog)

## Constructor & Destructor Documentation

virtual Gtk::TreeView::~TreeView | ( |  | ) |

virtual

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

Default constructor.

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

explicit

Constructor that binds to a TreeModel.

## Member Function Documentation

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

Appends column to the list of columns.

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

Parameters:

  column | The Gtk::TreeViewColumn to add.

Returns:
  The number of columns in tree_view after appending.

template <class ColumnType >

int Gtk::TreeView::append_column | ( | const Glib::ustring & | title,
|  | const TreeModelColumn< ColumnType >& | model_column
| ) |  |

inline

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

The CellRenderer can only be created automatically for some basic column types, such as Glib::ustring, int, double, bool, and Gdk::Pixbuf. If the type is not supported then the following warning will be shown: GLib-GObject-WARNING**: unable to set property `text' of type `gchararray' from value of type `glibmm__CustomBoxed_t'.

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

Parameters:

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

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

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

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

template <class ColumnType >

int Gtk::TreeView::append_column_editable | ( | const Glib::ustring & | title,
|  | const TreeModelColumn< ColumnType >& | model_column
| ) |  |

inline

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

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

See also:
  append_column_numeric_editable().

Parameters:

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

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

template <class ColumnType >

int Gtk::TreeView::append_column_numeric | ( | const Glib::ustring & | title,
|  | const TreeModelColumn< ColumnType >& | model_column,
|  | const Glib::ustring & | format
| ) |  |

inline

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

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

Parameters:

  title | The text to be used in the title header of this column.
  model_column | The column in the TreeModel that will be rendered by this View column.
  format | A printf-style format, such as "%d", used to create a text representation of the number.

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

template <class ColumnType >

int Gtk::TreeView::append_column_numeric_editable | ( | const Glib::ustring & | title,
|  | const TreeModelColumn< ColumnType >& | model_column,
|  | const Glib::ustring & | format
| ) |  |

inline

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

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

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

Parameters:

  title | The text to be used in the title header of this column.
  model_column | The column in the TreeModel that will be rendered by this View column.
  format | A printf-style format, such as "%d", used to create a text representation of the number.

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

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

Recursively collapses all visible, expanded nodes in tree_view.

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

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

Parameters:

  path | Path to a row in the tree_view.

Returns:
  `true` if the row was collapsed.

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

Resizes all columns to their optimal width.

Only works after the treeview has been realized.

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

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

Since gtkmm 2.12:

Parameters:

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

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

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

Since gtkmm 2.12:

Parameters:

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

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

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

Since gtkmm 2.12:

Parameters:

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

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

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

Since gtkmm 2.12:

Parameters:

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

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

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

Since gtkmm 2.12:

Parameters:

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

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

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

Since gtkmm 2.12:

Parameters:

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

Cairo::RefPtr<Cairo::Surface> Gtk::TreeView::create_row_drag_icon | ( | const TreeModel::Path& | path | ) | const

Creates a #cairo_surface_t representation of the row at path.

This image is used for a drag icon.

Parameters:

  path | A Gtk::TreePath in tree_view.

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

void Gtk::TreeView::enable_model_drag_dest | ( | const std::vector< TargetEntry >& | targets,
|  | Gdk::DragAction | actions = `Gdk::ACTION_COPY|Gdk::ACTION_MOVE`
| ) |  |

Turns the TreeView into a drop destination for automatic DND.

Parameters:

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

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

Turns the TreeView into a drop destination for automatic DND.

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

Parameters:

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

void Gtk::TreeView::enable_model_drag_source | ( | const std::vector< TargetEntry >& | targets,
|  | Gdk::ModifierType | start_button_mask = `Gdk::MODIFIER_MASK`,
|  | Gdk::DragAction | actions = `Gdk::ACTION_COPY|Gdk::ACTION_MOVE`
| ) |  |

Turns the TreeView into a drag source for automatic DND.

Parameters:

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

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

Turns the TreeView into a drag source for automatic DND.

Parameters:

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

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

Recursively expands all nodes in the tree_view.

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

Opens the row so its children are visible.

Parameters:

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

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

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

Expands the row at path.

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

Since gtkmm 2.2:

Parameters:

  path | Path to a row.

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

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

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

Parameters:

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

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

Returns the window that tree_view renders to.

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

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

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

Returns the window that tree_view renders to.

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

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

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

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

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

Parameters:

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

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

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

Parameters:

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

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

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

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

Parameters:

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

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

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

Gets the CellRenderer for that column.

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

Parameters:

  n | The position of the view column.

Returns:
  The CellRenderer.

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

Gets the CellRenderer for that column.

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

Parameters:

  n | The position of the view column.

Returns:
  The CellRenderer.

std::vector<TreeViewColumn*> Gtk::TreeView::get_columns | ( |  | ) |

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

Returns:
  A list of Gtk::TreeViewColumn s.

std::vector<const TreeViewColumn*> Gtk::TreeView::get_columns | ( |  | ) | const

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

Returns:
  A list of Gtk::TreeViewColumn s.

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

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

Parameters:

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

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

Determines the destination row for a given position.

Parameters:

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

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

Gets information about the row that is highlighted for feedback.

Parameters:

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

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

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

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

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

Returns whether or not tree lines are drawn in tree_view.

Since gtkmm 2.10:

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

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

Returns the column that is the current expander column.

This column has the expander arrow drawn next to it.

Returns:
  The expander column.

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

Returns the column that is the current expander column.

This column has the expander arrow drawn next to it.

Returns:
  The expander column.

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

Returns whether fixed height mode is turned on for tree_view.

Since gtkmm 2.6:

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

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

Returns which grid lines are enabled in tree_view.

Since gtkmm 2.10:

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

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

Returns whether all header columns are clickable.

Since gtkmm 2.10:

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

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

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

Returns:
  Whether the headers are visible or not.

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

Returns whether hover expansion mode is turned on for tree_view.

Since gtkmm 2.6:

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

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

Returns whether hover selection mode is turned on for tree_view.

Since gtkmm 2.6:

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

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

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

Since gtkmm 2.12:

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

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

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

Returns `0` if the model is unset.

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

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

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

Returns `0` if the model is unset.

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

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

Queries the number of columns in the given tree_view.

Since gtkmm 3.4:

Returns:
  The number of columns in the tree_view.

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

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

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

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

Parameters:

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

Returns:
  true if a row exists at that coordinate.

Since gtkmm 2.8:

bool Gtk::TreeView::get_path_at_pos | ( | int | x,
|  | int | y,
|  | TreeModel::Path& | path
| ) |  | const

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

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

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

Parameters:

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

Returns:
  true if a row exists at that coordinate.

newin{2,16}

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

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

See set_reorderable().

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

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

Returns whether rubber banding is turned on for tree_view.

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

Since gtkmm 2.10:

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

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

Gets the setting set by set_rules_hint().

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

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

Gets the column searched on by the interactive search code.

Returns:
  The column the interactive search code searches in.

Entry* Gtk::TreeView::get_search_entry | ( |  | ) |

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

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

Since gtkmm 2.10:

Returns:
  The entry currently in use as search entry.

const Entry* Gtk::TreeView::get_search_entry | ( |  | ) | const

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

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

Since gtkmm 2.10:

Returns:
  The entry currently in use as search entry.

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

Gets the Gtk::TreeSelection associated with tree_view.

Returns:
  A Gtk::TreeSelection object.

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

Gets the Gtk::TreeSelection associated with tree_view.

Returns:
  A Gtk::TreeSelection object.

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

Returns whether or not expanders are drawn in tree_view.

Since gtkmm 2.12:

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

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

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

Since gtkmm 2.12:

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

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

Parameters:

  x,: | the x coordinate (relative to widget coordinates)
  y,: | the y coordinate (relative to widget coordinates)
  keyboard_tip,: | whether this is a keyboard tooltip or not
  iter,: | a pointer to receive a Gtk::TreeIter

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

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

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

Since gtkmm 2.12:

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

Parameters:

  x,: | the x coordinate (relative to widget coordinates)
  y,: | the y coordinate (relative to widget coordinates)
  keyboard_tip,: | whether this is a keyboard tooltip or not
  path,: | a reference to receive a Gtk::TreePath

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

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

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

Since gtkmm 2.12:

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

static

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

Reimplemented from Gtk::Container.

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

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

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

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

Parameters:

  visible_rect | Rectangle to fill.

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

inline

Provides access to the underlying C GtkObject.

Reimplemented from Gtk::Container.

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

inline

Provides access to the underlying C GtkObject.

Reimplemented from Gtk::Container.

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

This inserts the column into the tree_view at position.

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

Parameters:

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

Returns:
  The number of columns in tree_view after insertion.

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

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

Parameters:

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

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

template <class ColumnType >

int Gtk::TreeView::insert_column | ( | const Glib::ustring & | title,
|  | const TreeModelColumn< ColumnType >& | model_column,
|  | int | position
| ) |  |

inline

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

Parameters:

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

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

template <class ColumnType >

int Gtk::TreeView::insert_column_editable | ( | const Glib::ustring & | title,
|  | const TreeModelColumn< ColumnType >& | model_column,
|  | int | position
| ) |  |

inline

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

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

Parameters:

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

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

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

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

Parameters:

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

Returns:
  number of columns in the TreeView after the insert

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

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

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

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

Since gtkmm 2.12:

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

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

Calls the callback slot on all expanded rows.

Parameters:

  slot | A callback function to be called.

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

Moves column to be after to base_column.

See also move_column_to_start().

Parameters:

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

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

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

Parameters:

  column | The view column that will be moved

virtual void Gtk::TreeView::on_columns_changed | ( |  | ) |

protectedvirtual

This is a default handler for the signal signal_columns_changed().

virtual void Gtk::TreeView::on_cursor_changed | ( |  | ) |

protectedvirtual

This is a default handler for the signal signal_cursor_changed().

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

protectedvirtual

This is a default handler for the signal signal_row_activated().

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

protectedvirtual

This is a default handler for the signal signal_row_collapsed().

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

protectedvirtual

This is a default handler for the signal signal_row_expanded().

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

protectedvirtual

This is a default handler for the signal signal_test_collapse_row().

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

protectedvirtual

This is a default handler for the signal signal_test_expand_row().

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

Whether grid lines should be drawn in the tree view.

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

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

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

Whether grid lines should be drawn in the tree view.

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

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

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

View allows user to search through columns interactively.

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

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

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

View allows user to search through columns interactively.

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

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

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

Whether tree lines should be drawn in the tree view.

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

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

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

Whether tree lines should be drawn in the tree view.

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

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

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

Set the column for the expander column.

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

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

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

Set the column for the expander column.

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

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

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

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

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

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

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

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

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

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

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

Column headers respond to click events.

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

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

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

Column headers respond to click events.

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

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

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

Show the column header buttons.

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

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

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

Show the column header buttons.

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

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

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

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

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

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

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

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

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

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

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

Whether the selection should follow the pointer.

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

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

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

Whether the selection should follow the pointer.

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

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

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

Extra indentation for each level.

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

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

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

Extra indentation for each level.

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

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

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

The model for the tree view.

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

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

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

The model for the tree view.

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

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

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

View is reorderable.

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

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

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

View is reorderable.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Model column to search through during interactive search.

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

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

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

Model column to search through during interactive search.

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

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

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

View has expanders.

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

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

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

View has expanders.

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

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

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

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

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

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

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

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

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

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

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

Removes all View columns.

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

Removes column from tree_view.

Parameters:

  column | The Gtk::TreeViewColumn to remove.

Returns:
  The number of columns in tree_view after removing.

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

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

See also:
  set_expander_column().

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

Activates the cell determined by path and column.

Parameters:

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

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

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

Parameters:

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

Returns:
  `true` if #path is expanded.

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

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

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

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

Parameters:

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

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

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

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

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

Parameters:

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

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

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

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

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

Parameters:

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

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

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

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

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

Parameters:

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

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

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

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

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

Parameters:

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

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

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

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

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

Parameters:

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

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

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

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

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

Parameters:

  path | The path of the row to move to.

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

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

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

See unset_column_drag_function().

Parameters:

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

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

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

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

Parameters:

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

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

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

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

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

Since gtkmm 2.2:

Parameters:

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

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

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

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

Parameters:

  path | A reference to cursor path.

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

Sets the row that is highlighted for feedback.

See also unset_drag_dest_row().

Parameters:

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

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

If enable_search is set, then the user can type in text to search through the tree interactively (this is sometimes called "typeahead find").

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

Parameters:

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

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

Sets whether to draw lines interconnecting the expanders in tree_view.

This does not have any visible effects for lists.

Since gtkmm 2.10:

Parameters:

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

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

Sets the column to draw the expander arrow at.

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

Parameters:

  column | The column to draw the expander arrow at.

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

Enables or disables the fixed height mode of tree_view.

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

Since gtkmm 2.6:

Parameters:

  enable | `true` to enable fixed height mode.

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

Sets which grid lines to draw in tree_view.

Since gtkmm 2.10:

Parameters:

  grid_lines | A Gtk::TreeViewGridLines value indicating which grid lines to enable.

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

Allow the column title buttons to be clicked.

Parameters:

  setting | `true` if the columns are clickable.

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

Sets the visibility state of the headers.

Parameters:

  headers_visible | `true` if the headers are visible.

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.

Since gtkmm 2.6:

Parameters:

  expand | `true` to enable hover selection mode.

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::SELECTION_SINGLE and Gtk::SELECTION_BROWSE.

Since gtkmm 2.6:

Parameters:

  hover | `true` to enable hover selection mode.

void Gtk::TreeView::set_level_indentation | ( | int | indentation | ) |

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

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

Since gtkmm 2.12:

Parameters:

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

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

Sets the model for a Gtk::TreeView.

If the tree_view already has a model set, it will remove it before setting the new model. Use unset_model() to unset the old model.

Parameters:

  model | The model.

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

This function is a convenience function to allow you to reorder models that support the Gtk::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 row_inserted and row_deleted signals. The reordering is implemented by setting up the tree view as a drag source and destination. Therefore, drag and drop can not be used in a reorderable view for any other purpose.

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

Parameters:

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

void Gtk::TreeView::set_row_separator_func | ( | const SlotRowSeparator& | slot | ) |

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

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

Enables or disables rubber banding in tree_view.

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

Since gtkmm 2.10:

Parameters:

  enable | `true` to enable rubber banding.

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

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

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

Parameters:

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

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

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

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

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

Parameters:

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

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

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

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

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

Parameters:

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

void Gtk::TreeView::set_search_entry | ( | Entry& | entry | ) |

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

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

Since gtkmm 2.10:

Parameters:

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

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

Sets the compare function for the interactive search capabilities.

Parameters:

  slot | The compare function to use during the search

void Gtk::TreeView::set_search_position_func | ( | const SlotSearchPosition& | slot | ) |

void Gtk::TreeView::set_show_expanders | ( | bool | enabled = `true` | ) |

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

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

Since gtkmm 2.12:

Parameters:

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

void Gtk::TreeView::set_tooltip_cell | ( | const Glib::RefPtr< Tooltip >& | tooltip,
|  | const TreeModel::Path* | path,
|  | TreeViewColumn* | column,
|  | CellRenderer* | cell
| ) |  |

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

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

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

See also set_tooltip_column() for a simpler alternative.

Since gtkmm 2.12:

Parameters:

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

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

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

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

When enabled, Gtk::Widget::signal_has_tooltip() will be set to `true` and tree_view will connect a Gtk::Widget::signal_query_tooltip() signal handler.

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

Since gtkmm 2.12:

Parameters:

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

void Gtk::TreeView::set_tooltip_row | ( | const Glib::RefPtr< Tooltip >& | tooltip,
|  | const TreePath& | path
| ) |  |

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

See also set_tooltip_column() for a simpler alternative.

See also Tooltip::set_tip_area().

Parameters:

  path | A Gtk::TreePath.

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

Slot Prototype:
  `void on_my_columns_changed()`

The number of columns of the treeview has changed.

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

Slot Prototype:
  `void on_my_cursor_changed()`

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

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

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

The "row-activated" signal is emitted when the method Gtk::TreeView::row_activated() is called or the user double clicks a treeview row. It is also emitted when a non-editable row is selected and one of the keys: Space, Shift+Space, Return or Enter is pressed.

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

Parameters:

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

Glib::SignalProxy2< 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)`

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

Parameters:

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

Glib::SignalProxy2< 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)`

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

Parameters:

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

Glib::SignalProxy2< 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)`

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

Parameters:

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

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

Glib::SignalProxy2< 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)`

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

Parameters:

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

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

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

See set_column_drag_function().

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

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

Remove an existing highlight.

See set_drag_dest_row().

Since gtkmm 3.2:

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

Remove the model from the TreeView.

See also:
  set_model().

Since gtkmm 2.8:

void Gtk::TreeView::unset_row_separator_func | ( |  | ) |

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

See set_row_separator_func().

Since gtkmm 3.2:

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

Undoes the effect of enable_model_drag_source()

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

Undoes the effect of enable_model_drag_source()

## Friends And Related Function Documentation

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

related

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

Parameters:

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

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

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

- gtkmm/treeview.h