Google

logo top
Main Page   Widgets   Namespaces   Book  

Gtk::TreeView Class Reference
[WidgetsContainer WidgetsTreeView Classes]

Inheritance diagram for Gtk::TreeView:

Inheritance graph
[legend]
List of all members.

Public Types

typedef TreeViewColumn Column
typedef TreeSelection Selection
typedef TreeViewColumn::SlotCellData SlotCellData
typedef SigC::Slot4< bool,
TreeView*, TreeViewColumn*,
TreeViewColumn*, TreeViewColumn* > 
SlotColumnDrop
typedef SigC::Slot2< void,
TreeView*, const TreeModel::Path& > 
SlotMapping
typedef SigC::Slot4< bool,
const Glib::RefPtr<TreeModel>&,
int, const Glib::ustring&,
const TreeModel::iterator& > 
SlotSearchEqual
 void on_search_equal(const Glib::RefPtr<TreeModel>& model, int column, const Glib::ustring& key, const TreeModel::iterator& iter)


Public Methods

virtual ~TreeView ()
GtkTreeView* gobj ()
const GtkTreeView* gobj () const
 TreeView ()
 TreeView (const Glib::RefPtr<TreeModel>& model)
Glib::RefPtr<TreeModelget_model ()
 Returns the model the the Gtk::TreeView is based on.

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

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

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

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

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

const Adjustmentget_hadjustment () const
 Gets the Gtk::Adjustment currently being used for the horizontal aspect.

void set_hadjustment (Adjustment& adjustment)
 Sets the Gtk::Adjustment for the current horizontal aspect.

void unset_hadjustment ()
Adjustmentget_vadjustment ()
 Gets the Gtk::Adjustment currently being used for the vertical aspect.

const Adjustmentget_vadjustment () const
 Gets the Gtk::Adjustment currently being used for the vertical aspect.

void set_vadjustment (Adjustment& adjustment)
 Sets the Gtk::Adjustment for the current vertical aspect.

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

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

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

void set_headers_clickable (bool setting=true)
 Allow the column title buttons to be clicked.

void set_rules_hint (bool setting=true)
 This function tells GTK+ that the user interface for your application requires users to read across tree rows and associate cells with one another.

bool get_rules_hint () const
 Gets the setting set by set_rules_hint().

int append_column (TreeViewColumn& column)
 Appends column to the list of columns.

template <class ColumnType> int append_column (const Glib::ustring& title, const TreeModelColumn<ColumnType>& model_column)
 Appends a View column with the appropriate CellRenderer for the Model column.

template <class ColumnType> int append_column_editable (const Glib::ustring& title, const TreeModelColumn<ColumnType>& model_column)
 Appends a View column with the appropriate CellRenderer for the Model column.

int append_column (const Glib::ustring& title, CellRenderer& cell)
int remove_column (TreeViewColumn& column)
 Removes column from tree_view .

void remove_all_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)
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)
TreeViewColumnget_column (int n)
 Gets the Gtk::TreeViewColumn at the given position in the #tree_view.

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

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

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

Glib::ListHandle<TreeViewColumn*> get_columns ()
 Returns a G::List of all the Gtk::TreeViewColumn s currently in tree_view .

Glib::ListHandle<const TreeViewColumn*> get_columns () const
 Returns a G::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 set_expander_column (TreeViewColumn& column)
 Sets the column to draw the expander arrow at.

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

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

void set_column_drag_function (const SlotColumnDrop& slot)
void scroll_to_point (int tree_x, int tree_y)
 Scrolls the tree view such that the top-left corner of the visible area is tree_x , tree_y , where tree_x and tree_y are specified in tree window coordinates.

void scroll_to_cell (const TreeModel::Path& path, TreeViewColumn& column, float row_align, float col_align)
 Moves the alignments of tree view to the position specified by column and path.

void scroll_to_cell (const TreeModel::Path& path, TreeViewColumn& column)
 Moves the alignments of tree view to the position specified by column and path.

void scroll_to_row (const TreeModel::Path& path, float row_align)
 Moves the alignments of tree view to the position specified by path.

void scroll_to_row (const TreeModel::Path& path)
 Moves the alignments of tree view to the position specified by path.

void scroll_to_column (TreeViewColumn& column, float col_align)
 Moves the alignments of tree view to the position specified by column.

void scroll_to_column (TreeViewColumn& column)
 Moves the alignments of tree view to the position specified by column.

void row_activated (const TreeModel::Path& path, TreeViewColumn& column)
 Activates the cell determined by path and column .

void expand_all ()
 Recursively expands all nodes in the tree_view .

void collapse_all ()
 Recursively collapses all visible, expanded nodes in tree_view .

void expand_to_path (const TreeModel::Path& path)
 Expands the row at path .

bool expand_row (const TreeModel::Path& path, bool open_all)
 Opens the row so its children are visible.

bool collapse_row (const TreeModel::Path& path)
 Collapses a row (hides its child rows, if they exist).

void map_expanded_rows (const SlotMapping& slot)
bool row_expanded (const TreeModel::Path& path)
 Returns true if the node pointed to by path is expanded in tree_view .

void set_reorderable (bool reorderable=true)
 This function is a convenience function to allow you to reorder models that support the Gtk::DragSourceIface and the Gtk::DragDestIface.

bool get_reorderable () const
 Retrieves whether the user can reorder the tree via drag-and-drop.

void set_cursor (const TreeModel::Path& path, TreeViewColumn& focus_column, bool start_editing=false)
 Sets the current keyboard focus to be at path , and selects it.

void set_cursor (const TreeModel::Path& path, TreeViewColumn& focus_column, CellRenderer& cell, bool start_editing=false)
 Sets the current keyboard focus to be at path , and selects it.

void set_cursor (const TreeModel::Path& path)
void get_cursor (TreeModel::Path& path, TreeViewColumn*& focus_column)
Glib::RefPtr<Gdk::Windowget_bin_window ()
 Returns the window that tree_view renders to.

Glib::RefPtr<const Gdk::Windowget_bin_window () const
 Returns the window that tree_view renders to.

bool get_path_at_pos (int x, int y, TreeModel::Path& path, TreeViewColumn*& column, int& cell_x, int& cell_y)
void get_cell_area (const TreeModel::Path& path, TreeViewColumn& column, Gdk::Rectangle& rect)
 Fills the bounding rectangle in tree window coordinates for the cell at the row specified by path and the column specified by column .

void get_background_area (const TreeModel::Path& path, TreeViewColumn& column, Gdk::Rectangle& rect)
 Fills the bounding rectangle in tree window coordinates for the cell at the row specified by path and the column specified by column .

void get_visible_rect (Gdk::Rectangle& visible_rect)
 Fills visible_rect with the currently-visible region of the buffer, in tree coordinates.

void widget_to_tree_coords (int wx, int wy, int& tx, int& ty)
 Converts widget coordinates to coordinates for the tree window (the full scrollable area of the tree).

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

void enable_model_drag_source (Gdk::ModifierType start_button_mask, const ArrayHandle_TargetEntry& targets, Gdk::DragAction actions=Gdk::ACTION_COPY|Gdk::ACTION_MOVE)
void enable_model_drag_source (const ArrayHandle_TargetEntry& targets, Gdk::ModifierType start_button_mask=Gdk::MODIFIER_MASK, Gdk::DragAction actions=Gdk::ACTION_COPY|Gdk::ACTION_MOVE)
void enable_model_drag_source (Gdk::ModifierType start_button_mask=Gdk::MODIFIER_MASK, Gdk::DragAction actions=Gdk::ACTION_COPY|Gdk::ACTION_MOVE)
void enable_model_drag_dest (const ArrayHandle_TargetEntry& targets, Gdk::DragAction actions=Gdk::ACTION_COPY|Gdk::ACTION_MOVE)
void enable_model_drag_dest (Gdk::DragAction actions=Gdk::ACTION_COPY|Gdk::ACTION_MOVE)
void unset_rows_drag_source ()
void unset_rows_drag_dest ()
void set_drag_dest_row (const TreeModel::Path& path, TreeViewDropPosition pos)
void get_drag_dest_row (TreeModel::Path& path, TreeViewDropPosition& pos)
bool get_dest_row_at_pos (int drag_x, int drag_y, TreeModel::Path& path, TreeViewDropPosition& pos)
Glib::RefPtr<Gdk::Pixmapcreate_row_drag_icon (const TreeModel::Path& path)
 Creates a Gdk::Pixmap representation of the row at path .

void set_enable_search (bool enable_search=true)
 If enable_search is set, then the user can type in text to search through the tree interactively.

bool get_enable_search () const
 Returns whether or not the tree allows interactive searching.

int get_search_column () const
 Gets the column searched on by the interactive search code.

void set_search_column (const TreeModelColumnBase& column)
 Sets column as the column where the interactive search code should search in.

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

void set_search_equal_func (const SlotSearchEqual& slot)
Glib::SignalProxy2< void,
Adjustment*, Adjustment* > 
signal_set_scroll_adjustments ()
Glib::SignalProxy2< void,
const TreeModel::Path&,
TreeViewColumn* > 
signal_row_activated ()
Glib::SignalProxy2< bool,
const TreeModel::iterator&,
const TreeModel::Path& > 
signal_test_expand_row ()
Glib::SignalProxy2< bool,
const TreeModel::iterator&,
const TreeModel::Path& > 
signal_test_collapse_row ()
Glib::SignalProxy2< void,
const TreeModel::iterator&,
const TreeModel::Path& > 
signal_row_expanded ()
Glib::SignalProxy2< void,
const TreeModel::iterator&,
const TreeModel::Path& > 
signal_row_collapsed ()
Glib::SignalProxy0<void> signal_cursor_changed ()
Glib::SignalProxy0<void> signal_columns_changed ()
Glib::SignalProxy2< bool,
MovementStep, int > 
signal_move_cursor ()
Glib::SignalProxy0<bool> signal_select_all ()
Glib::SignalProxy0<bool> signal_unselect_all ()
Glib::SignalProxy1< bool,
bool > 
signal_select_cursor_row ()
Glib::SignalProxy0<bool> signal_toggle_cursor_row ()
Glib::SignalProxy3< bool,
bool, bool, bool > 
signal_expand_collapse_cursor_row ()
Glib::SignalProxy0<bool> signal_select_cursor_parent ()
Glib::SignalProxy0<bool> signal_start_interactive_search ()
Glib::PropertyProxy< Glib::RefPtr<
TreeModel > > 
property_model ()
Glib::PropertyProxy<Adjustment*> property_hadjustment ()
Glib::PropertyProxy<Adjustment*> property_vadjustment ()
Glib::PropertyProxy<bool> property_headers_visible ()
Glib::PropertyProxy_WriteOnly<
bool > 
property_headers_clickable ()
Glib::PropertyProxy<TreeViewColumn*> property_expander_column ()
Glib::PropertyProxy<bool> property_reorderable ()
Glib::PropertyProxy<bool> property_rules_hint ()
Glib::PropertyProxy<bool> property_enable_search ()
Glib::PropertyProxy<int> property_search_column ()

Protected Methods

virtual void on_set_scroll_adjustments (Adjustment* hadjustment, Adjustment* vadjustment)
virtual void on_row_activated (const TreeModel::Path& path, TreeViewColumn* column)
virtual bool on_test_expand_row (const TreeModel::iterator& iter, const TreeModel::Path& path)
virtual bool on_test_collapse_row (const TreeModel::iterator& iter, const TreeModel::Path& path)
virtual void on_row_expanded (const TreeModel::iterator& iter, const TreeModel::Path& path)
virtual void on_row_collapsed (const TreeModel::iterator& iter, const TreeModel::Path& path)
virtual void on_cursor_changed ()
virtual void on_columns_changed ()
virtual bool on_move_cursor (MovementStep step, int count)
virtual bool on_select_all ()
virtual bool on_unselect_all ()
virtual bool on_select_cursor_row (bool start_editing)
virtual bool on_toggle_cursor_row ()
virtual bool on_expand_collapse_cursor_row (bool logical, bool expand, bool open_all)
virtual bool on_select_cursor_parent ()
virtual bool on_start_interactive_search ()

Related Functions

(Note that these are not member functions.)

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

Member Typedef Documentation

typedef TreeViewColumn Gtk::TreeView::Column
 

typedef TreeSelection Gtk::TreeView::Selection
 

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

typedef SigC::Slot4<bool, TreeView*, TreeViewColumn*, TreeViewColumn*, TreeViewColumn*> Gtk::TreeView::SlotColumnDrop
 

typedef SigC::Slot2<void, TreeView*, const TreeModel::Path&> Gtk::TreeView::SlotMapping
 

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

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


Constructor & Destructor Documentation

virtual Gtk::TreeView::~TreeView (   [virtual]
 

Gtk::TreeView::TreeView (  
 

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


Member Function Documentation

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

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.

int Gtk::TreeView::append_column ( TreeViewColumn   column
 

Appends column to the list of columns.

Parameters:
column The Gtk::TreeViewColumn to add.
Returns:
The number of columns in tree_view after appending.

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

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

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

void Gtk::TreeView::collapse_all (  
 

Recursively collapses all visible, expanded nodes in tree_view .

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

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

Parameters:
path Path to a row in the tree_view .
Returns:
true if the row was collapsed.

void Gtk::TreeView::columns_autosize (  
 

Resizes all columns to their optimal width.

Only works after the treeview has been realized.

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

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

This image is used for a drag icon.

Parameters:
path A Gtk::TreePath in tree_view .
Returns:
A newly-allocated pixmap of the drag icon.

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

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

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

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

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

void Gtk::TreeView::expand_all (  
 

Recursively expands all nodes in the tree_view .

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

Opens the row so its children are visible.

Parameters:
path Path to a row.
open_all Whether to recursively expand, or just expand immediate children.
Returns:
true if the row existed and had children.

void Gtk::TreeView::expand_to_path ( const TreeModel::Path   path
 

Expands the row at path .

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

Since: 2.2

Parameters:
path Path to a row.

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

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

If path is 0, or points to a node not found in the tree, the y and height fields of the rectangle will be filled with 0. If column is 0, the x and width fields will be filled with 0. 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, or 0 to get only horizontal coordinates.
column A Gtk::TreeViewColumn for the column, or 0 to get only vertical coordiantes.
rect Rectangle to fill with cell background rect.

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

Returns the window that tree_view renders to.

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

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

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

Returns the window that tree_view renders to.

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

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

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

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

If path is 0, or points to a path not currently displayed, the y and height fields of the rectangle will be filled with 0. If column is 0, the x and width fields 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, or 0 to get only horizontal coordinates.
column A Gtk::TreeViewColumn for the column, or 0 to get only vertical coordiantes.
rect Rectangle to fill with cell rect.

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

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

Parameters:
n The position of the column, counting from 0.
Returns:
The Gtk::TreeViewColumn, or 0 if the position is outside the range of columns.

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

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

Parameters:
n The position of the column, counting from 0.
Returns:
The Gtk::TreeViewColumn, or 0 if the position is outside the range of columns.

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

Gets the CellRenderer for that column.

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

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.

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

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

The returned list must be freed with Glib::list_free().

Returns:
A list of Gtk::TreeViewColumn s.

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

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

The returned list must be freed with Glib::list_free().

Returns:
A list of Gtk::TreeViewColumn s.

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

bool Gtk::TreeView::get_dest_row_at_pos ( int    drag_x,
int    drag_y,
TreeModel::Path   path,
TreeViewDropPosition   pos
 

void Gtk::TreeView::get_drag_dest_row ( TreeModel::Path   path,
TreeViewDropPosition   pos
 

bool Gtk::TreeView::get_enable_search (   const
 

Returns whether or not the tree allows interactive searching.

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

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

Returns the column that is the current expander column.

This column has the expander arrow drawn next to it.

Returns:
The expander column.

TreeViewColumn* Gtk::TreeView::get_expander_column (  
 

Returns the column that is the current expander column.

This column has the expander arrow drawn next to it.

Returns:
The expander column.

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

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

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

Adjustment* Gtk::TreeView::get_hadjustment (  
 

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

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

bool Gtk::TreeView::get_headers_visible (   const
 

Returns true if the headers on the tree_view are visible.

Returns:
Whether the headers are visible or not.

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

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

Returns 0 if the model is unset.

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

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

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

Returns 0 if the model is unset.

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

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

bool Gtk::TreeView::get_reorderable (   const
 

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

See set_reorderable().

Returns:
true if the tree can be reordered.

bool Gtk::TreeView::get_rules_hint (   const
 

Gets the setting set by set_rules_hint().

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

int Gtk::TreeView::get_search_column (   const
 

Gets the column searched on by the interactive search code.

Returns:
The column the interactive search code searches in.

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

Gets the Gtk::TreeSelection associated with tree_view .

Returns:
A Gtk::TreeSelection object.

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

Gets the Gtk::TreeSelection associated with tree_view .

Returns:
A Gtk::TreeSelection object.

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

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

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

Adjustment* Gtk::TreeView::get_vadjustment (  
 

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

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

void Gtk::TreeView::get_visible_rect ( Gdk::Rectangle   visible_rect
 

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

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

Parameters:
visible_rect Rectangle to fill.

const GtkTreeView* Gtk::TreeView::gobj (   const [inline]
 

Reimplemented from Gtk::Container.

GtkTreeView* Gtk::TreeView::gobj (   [inline]
 

Reimplemented from Gtk::Container.

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

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

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

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.

Parameters:
column The Gtk::TreeViewColumn to be inserted.
position The position to insert column in.
Returns:
The number of columns in tree_view after insertion.

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

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

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

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

void Gtk::TreeView::map_expanded_rows ( const SlotMapping   slot
 

void Gtk::TreeView::move_column_after ( TreeViewColumn   column,
TreeViewColumn   base_column
 

Moves column to be after to base_column .

If base_column is 0, then column is placed in the first position.

Parameters:
column The Gtk::TreeViewColumn to be moved.
base_column The Gtk::TreeViewColumn to be moved relative to, or 0.

virtual void Gtk::TreeView::on_columns_changed (   [protected, virtual]
 

virtual void Gtk::TreeView::on_cursor_changed (   [protected, virtual]
 

virtual bool Gtk::TreeView::on_expand_collapse_cursor_row ( bool    logical,
bool    expand,
bool    open_all
[protected, virtual]
 

virtual bool Gtk::TreeView::on_move_cursor ( MovementStep    step,
int    count
[protected, virtual]
 

virtual void Gtk::TreeView::on_row_activated ( const TreeModel::Path   path,
TreeViewColumn   column
[protected, virtual]
 

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

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

virtual bool Gtk::TreeView::on_select_all (   [protected, virtual]
 

virtual bool Gtk::TreeView::on_select_cursor_parent (   [protected, virtual]
 

virtual bool Gtk::TreeView::on_select_cursor_row ( bool    start_editing [protected, virtual]
 

virtual void Gtk::TreeView::on_set_scroll_adjustments ( Adjustment   hadjustment,
Adjustment   vadjustment
[protected, virtual]
 

virtual bool Gtk::TreeView::on_start_interactive_search (   [protected, virtual]
 

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

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

virtual bool Gtk::TreeView::on_toggle_cursor_row (   [protected, virtual]
 

virtual bool Gtk::TreeView::on_unselect_all (   [protected, virtual]
 

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

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

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

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

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

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

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

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

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

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

void Gtk::TreeView::remove_all_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::row_activated ( const TreeModel::Path   path,
TreeViewColumn   column
 

Activates the cell determined by path and column .

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

bool Gtk::TreeView::row_expanded ( const TreeModel::Path   path
 

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

Parameters:
path A Gtk::TreePath to test expansion state.
Returns:
true if path is expanded.

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

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

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

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

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

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

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

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

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

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

void Gtk::TreeView::scroll_to_column ( TreeViewColumn   column
 

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

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

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

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

void Gtk::TreeView::scroll_to_column ( TreeViewColumn   column,
float    col_align
 

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

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

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

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

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

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

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

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

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

void Gtk::TreeView::scroll_to_row ( const TreeModel::Path   path
 

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

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

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

Parameters:
path The path of the row to move to.

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

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

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

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

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

void Gtk::TreeView::set_column_drag_function ( const SlotColumnDrop   slot
 

void Gtk::TreeView::set_cursor ( const TreeModel::Path   path
 

void Gtk::TreeView::set_cursor ( const TreeModel::Path   path,
TreeViewColumn   focus_column,
CellRenderer   cell,
bool    start_editing = false
 

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

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

Since: 2.2

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

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

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

This is useful when you want to focus the user's attention on a particular row. If focus_column is not 0, then focus is given to the column specified by it. 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.

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

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

void Gtk::TreeView::set_enable_search ( bool    enable_search = true
 

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

Parameters:
enable_search true, if the user can search interactively.

void Gtk::TreeView::set_expander_column ( TreeViewColumn   column
 

Sets the column to draw the expander arrow at.

It must be in tree_view . If column is 0, then the expander arrow is always at the first visible column.

Parameters:
column 0, or the column to draw the expander arrow at.

void Gtk::TreeView::set_hadjustment ( Adjustment   adjustment
 

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

Parameters:
adjustment The Gtk::Adjustment to set, or 0.

void Gtk::TreeView::set_headers_clickable ( bool    setting = true
 

Allow the column title buttons to be clicked.

Parameters:
setting true if the columns are clickable.

void Gtk::TreeView::set_headers_visible ( bool    headers_visible
 

Sets the the visibility state of the headers.

Parameters:
headers_visible true if the headers are visible.

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

Sets the model for a Gtk::TreeView.

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

Parameters:
model The model.

void Gtk::TreeView::set_reorderable ( bool    reorderable = true
 

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

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

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

Parameters:
reorderable true, if the tree can be reordered.

void Gtk::TreeView::set_rules_hint ( bool    setting = true
 

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

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

Parameters:
setting true if the tree requires reading across rows.

void Gtk::TreeView::set_search_column ( int    column
 

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

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

Parameters:
column The column of the model to search in.

void Gtk::TreeView::set_search_column ( const TreeModelColumnBase   column
 

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

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

Parameters:
column The column of the model to search in.

void Gtk::TreeView::set_search_equal_func ( const SlotSearchEqual   slot
 

void Gtk::TreeView::set_vadjustment ( Adjustment   adjustment
 

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

Parameters:
adjustment The Gtk::Adjustment to set, or 0.

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

Prototype:
void columns_changed()

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

Prototype:
void cursor_changed()

Glib::SignalProxy3<bool,bool,bool,bool> Gtk::TreeView::signal_expand_collapse_cursor_row (  
 

Prototype:
bool expand_collapse_cursor_row(bool logical, bool expand, bool open_all)

Glib::SignalProxy2<bool,MovementStep,int> Gtk::TreeView::signal_move_cursor (  
 

Prototype:
bool move_cursor(MovementStep step, int count)

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

Prototype:
void row_activated(const TreeModel::Path& path, TreeViewColumn* column)

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

Prototype:
void row_collapsed(const TreeModel::iterator& iter, const TreeModel::Path& path)

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

Prototype:
void row_expanded(const TreeModel::iterator& iter, const TreeModel::Path& path)

Glib::SignalProxy0<bool> Gtk::TreeView::signal_select_all (  
 

Prototype:
bool select_all()

Glib::SignalProxy0<bool> Gtk::TreeView::signal_select_cursor_parent (  
 

Prototype:
bool select_cursor_parent()

Glib::SignalProxy1<bool,bool> Gtk::TreeView::signal_select_cursor_row (  
 

Prototype:
bool select_cursor_row(bool start_editing)

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

Prototype:
void set_scroll_adjustments(Adjustment* hadjustment, Adjustment* vadjustment)

Glib::SignalProxy0<bool> Gtk::TreeView::signal_start_interactive_search (  
 

Prototype:
bool start_interactive_search()

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

Prototype:
bool test_collapse_row(const TreeModel::iterator& iter, const TreeModel::Path& path)

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

Prototype:
bool test_expand_row(const TreeModel::iterator& iter, const TreeModel::Path& path)

Glib::SignalProxy0<bool> Gtk::TreeView::signal_toggle_cursor_row (  
 

Prototype:
bool toggle_cursor_row()

Glib::SignalProxy0<bool> Gtk::TreeView::signal_unselect_all (  
 

Prototype:
bool unselect_all()

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

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

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

void Gtk::TreeView::unset_expander_column (  
 

void Gtk::TreeView::unset_hadjustment (  
 

void Gtk::TreeView::unset_rows_drag_dest (  
 

void Gtk::TreeView::unset_rows_drag_source (  
 

void Gtk::TreeView::unset_vadjustment (  
 

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

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

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


Friends And Related Function Documentation

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


The documentation for this class was generated from the following file:
Generated for gtkmm by Doxygen 1.3-rc1 © 1997-2001