Google

logo top
Main Page   Widgets   Namespaces   Book  

Gtk::TreeViewColumn Class Reference
[TreeView Classes]

Typedefed as Gtk::TreeView::Column. More...

Inheritance diagram for Gtk::TreeViewColumn:

Inheritance graph
[legend]
List of all members.

Public Types

typedef TreeViewColumn Column
typedef SigC::Slot2< void,
CellRenderer*, const Gtk::TreeModel::iterator& > 
SlotCellData

Public Methods

virtual ~TreeViewColumn ()
GtkTreeViewColumn* gobj ()
const GtkTreeViewColumn* gobj () const
 TreeViewColumn ()
 TreeViewColumn (const Glib::ustring& title)
 TreeViewColumn (const Glib::ustring& title, CellRenderer& cell)
template <class T_ModelColumnType>  TreeViewColumn (const Glib::ustring& title, const TreeModelColumn<T_ModelColumnType>& column)
 Create a default view column for the given model column type.

void pack_start (CellRenderer& cell, bool expand=true)
 Packs the cell into the beginning of the column.

void pack_end (CellRenderer& cell, bool expand=true)
 Adds the cell to end of the column.

template <class T_ModelColumnType> void pack_start (const TreeModelColumn<T_ModelColumnType>& column, bool expand=true)
template <class T_ModelColumnType> void pack_end (const TreeModelColumn<T_ModelColumnType>& column, bool expand=true)
void clear ()
 Unsets all the mappings on all renderers on the tree_column .

CellRendererget_first_cell_renderer ()
 Gets the CellRenderer for the column.

const CellRendererget_first_cell_renderer () const
 Gets the CellRenderer for the column.

Glib::ListHandle<CellRenderer*> get_cell_renderers ()
 Returns a newly-allocated G::List of all the cell renderers in the column, in no particular order.

Glib::ListHandle<const CellRenderer*> get_cell_renderers () const
 Returns a newly-allocated G::List of all the cell renderers in the column, in no particular order.

void add_attribute (CellRenderer& cell_renderer, const Glib::ustring& attribute, int column)
 Adds an attribute mapping to the list in tree_column .

void add_attribute (const Glib::PropertyProxy_Base& property, const TreeModelColumnBase& column)
void set_renderer (Gtk::CellRenderer& renderer, const TreeModelColumnBase& column)
void set_cell_data_func (CellRenderer& cell_renderer, const SlotCellData& slot)
void unset_cell_data_func (CellRenderer& cell_renderer)
void clear_attributes (CellRenderer& cell_renderer)
 Clears all existing attributes previously set with set_attributes().

void set_spacing (int spacing)
 Sets the spacing field of tree_column , which is the number of pixels to place between cell renderers packed into it.

int get_spacing () const
 Returns the spacing of tree_column .

void set_visible (bool visible=true)
 Sets the visibility of tree_column .

bool get_visible () const
 Returns true if tree_column is visible.

void set_resizable (bool resizable=true)
 If resizable is true, then the user can explicitly resize the column by grabbing the outer edge of the column button.

bool get_resizable () const
 Returns #true if the tree_column can be resized by the end user.

void set_sizing (TreeViewColumnSizing type)
 Sets the growth behavior of tree_column to type .

TreeViewColumnSizing get_sizing ()
 Returns the current type of tree_column .

int get_width () const
 Returns the current size of tree_column in pixels.

int get_fixed_width () const
 Gets the fixed width of the column.

void set_fixed_width (int fixed_width)
 Sets the size of the column in pixels.

void set_min_width (int min_width)
 Sets the minimum width of the tree_column .

int get_min_width () const
 Returns the minimum width in pixels of the tree_column , or -1 if no minimum width is set.

void set_max_width (int max_width)
 Sets the maximum width of the tree_column .

int get_max_width () const
 Returns the maximum width in pixels of the tree_column , or -1 if no maximum width is set.

void clicked ()
 Emits the "clicked" signal on the column.

void set_title (const Glib::ustring& title)
 Sets the title of the tree_column .

Glib::ustring get_title () const
 Returns the title of the widget.

void set_clickable (bool clickable=true)
 Sets the header to be active if active is true.

bool get_clickable () const
 Returns true if the user can click on the header for the column.

void set_widget (Gtk::Widget& widget)
 Sets the widget in the header to be widget .

Widgetget_widget ()
 Returns the Gtk::Widget in the button on the column header.

const Widgetget_widget () const
 Returns the Gtk::Widget in the button on the column header.

void set_alignment (float xalign)
 Sets the alignment of the title or custom widget inside the column header.

void set_alignment (AlignmentEnum xalign)
 Sets the alignment of the title or custom widget inside the column header.

float get_alignment () const
 Returns the current x alignment of tree_column .

void set_reorderable (bool reorderable=true)
 If reorderable is #true, then the column can be reordered by the end user dragging the header.

bool get_reorderable () const
 Returns #true if the tree_column can be reordered by the user.

void set_sort_column_id (const TreeModelColumnBase& sort_column_id)
 Sets the logical sort_column_id that this column sorts on when this column is selected for sorting.

void set_sort_column_id (int sort_column_id)
 Sets the logical sort_column_id that this column sorts on when this column is selected for sorting.

int get_sort_column_id () const
 Gets the logical sort_column_id that the model sorts on when this column is selected for sorting.

void set_sort_indicator (bool setting)
 Call this function with a setting of true to display an arrow in the header button indicating the column is sorted.

bool get_sort_indicator () const
 Gets the value set by set_sort_indicator().

void set_sort_order (SortType order)
 Changes the appearance of the sort indicator.

SortType get_sort_order () const
 Gets the value set by set_sort_order().

void cell_set_cell_data (const Glib::RefPtr<TreeModel>& tree_model, const TreeModel::iterator& iter, bool is_expander, bool is_expanded)
 Sets the cell renderer based on the tree_model and iter .

void cell_get_size (Gdk::Rectangle& cell_area, int& x_offset, int& y_offset, int& width, int& height) const
 Obtains the width and height needed to render the column.

bool cell_is_visible () const
 Returns #true if any of the cells packed into the tree_column are visible.

void focus_cell (CellRenderer& cell)
 Sets the current keyboard focus to be at cell , if the column contains 2 or more editable and activatable cells.

Glib::SignalProxy0<void> signal_clicked ()
Glib::PropertyProxy<bool> property_visible ()
Glib::PropertyProxy_ReadOnly<
int > 
property_width ()
Glib::PropertyProxy<TreeViewColumnSizingproperty_sizing ()
Glib::PropertyProxy<int> property_fixed_width ()
Glib::PropertyProxy<int> property_min_width ()
Glib::PropertyProxy<int> property_max_width ()
Glib::PropertyProxy<Glib::ustringproperty_title ()
Glib::PropertyProxy<bool> property_clickable ()
Glib::PropertyProxy<Widget*> property_widget ()
Glib::PropertyProxy<float> property_alignment ()
Glib::PropertyProxy<bool> property_reorderable ()
Glib::PropertyProxy<bool> property_sort_indicator ()
Glib::PropertyProxy<SortTypeproperty_sort_order ()

Protected Methods

virtual void on_clicked ()

Related Functions

(Note that these are not member functions.)

Gtk::TreeViewColumn* wrap (GtkTreeViewColumn* object, bool take_copy=false)

Detailed Description

Typedefed as Gtk::TreeView::Column.

This is a visible column in a Gtk::TreeView widget. It determines the geometry, type.


Member Typedef Documentation

typedef TreeViewColumn Gtk::TreeViewColumn::Column
 

typedef SigC::Slot2<void, CellRenderer*, const Gtk::TreeModel::iterator&> Gtk::TreeViewColumn::SlotCellData
 


Constructor & Destructor Documentation

virtual Gtk::TreeViewColumn::~TreeViewColumn (   [virtual]
 

Gtk::TreeViewColumn::TreeViewColumn (  
 

Gtk::TreeViewColumn::TreeViewColumn ( const Glib::ustring   title [explicit]
 

Gtk::TreeViewColumn::TreeViewColumn ( const Glib::ustring   title,
CellRenderer   cell
 

template <class T_ModelColumnType>
Gtk::TreeViewColumn::TreeViewColumn ( const Glib::ustring   title,
const TreeModelColumn<T_ModelColumnType>&    column
 

Create a default view column for the given model column type.


Member Function Documentation

void Gtk::TreeViewColumn::add_attribute ( const Glib::PropertyProxy_Base   property,
const TreeModelColumnBase   column
 

void Gtk::TreeViewColumn::add_attribute ( CellRenderer   cell_renderer,
const Glib::ustring   attribute,
int    column
 

Adds an attribute mapping to the list in tree_column .

The column is the column of the model to get a value from, and the attribute is the parameter on cell_renderer to be set from the value. So for example if column 2 of the model contains strings, you could have the "text" attribute of a Gtk::CellRendererText get its values from column 2.

Parameters:
cell_renderer The Gtk::CellRenderer to set attributes on.
attribute An attribute on the renderer.
column The column position on the model to get the attribute from.

void Gtk::TreeViewColumn::cell_get_size ( Gdk::Rectangle   cell_area,
int&    x_offset,
int&    y_offset,
int&    width,
int&    height
const
 

Obtains the width and height needed to render the column.

This is used primarily by the Gtk::TreeView.

Parameters:
cell_area The area a cell in the column will be allocated, or 0.
x_offset Location to return x offset of a cell relative to cell_area , or 0.
y_offset Location to return y offset of a cell relative to cell_area , or 0.
width Location to return width needed to render a cell, or 0.
height Location to return height needed to render a cell, or 0.

bool Gtk::TreeViewColumn::cell_is_visible (   const
 

Returns #true if any of the cells packed into the tree_column are visible.

For this to be meaningful, you must first initialize the cells with cell_set_cell_data()

Returns:
#true, if any of the cells packed into the tree_column are currently visible.

void Gtk::TreeViewColumn::cell_set_cell_data ( const Glib::RefPtr<TreeModel>&    tree_model,
const TreeModel::iterator   iter,
bool    is_expander,
bool    is_expanded
 

Sets the cell renderer based on the tree_model and iter .

That is, for every attribute mapping in tree_column , it will get a value from the set column on the iter , and use that value to set the attribute on the cell renderer. This is used primarily by the Gtk::TreeView.

Parameters:
tree_model The Gtk::TreeModel to to get the cell renderers attributes from.
iter The Gtk::TreeIter to to get the cell renderer's attributes from.
is_expander true, if the row has children.
is_expanded true, if the row has visible children.

void Gtk::TreeViewColumn::clear (  
 

Unsets all the mappings on all renderers on the tree_column .

void Gtk::TreeViewColumn::clear_attributes ( CellRenderer   cell_renderer
 

Clears all existing attributes previously set with set_attributes().

Parameters:
cell_renderer A Gtk::CellRenderer to clear the attribute mapping on.

void Gtk::TreeViewColumn::clicked (  
 

Emits the "clicked" signal on the column.

This function will only work if tree_column is clickable.

void Gtk::TreeViewColumn::focus_cell ( CellRenderer   cell
 

Sets the current keyboard focus to be at cell , if the column contains 2 or more editable and activatable cells.

Since: 2.2

Parameters:
cell A Gtk::CellRenderer.

float Gtk::TreeViewColumn::get_alignment (   const
 

Returns the current x alignment of tree_column .

This value can range between 0.0 and 1.0.

Returns:
The current alignent of tree_column .

Glib::ListHandle<const CellRenderer*> Gtk::TreeViewColumn::get_cell_renderers (   const
 

Returns a newly-allocated G::List of all the cell renderers in the column, in no particular order.

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

Returns:
A list of Gtk::CellRenderers.

Glib::ListHandle<CellRenderer*> Gtk::TreeViewColumn::get_cell_renderers (  
 

Returns a newly-allocated G::List of all the cell renderers in the column, in no particular order.

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

Returns:
A list of Gtk::CellRenderers.

bool Gtk::TreeViewColumn::get_clickable (   const
 

Returns true if the user can click on the header for the column.

Returns:
true if user can click the column header.

const CellRenderer* Gtk::TreeViewColumn::get_first_cell_renderer (   const
 

Gets the CellRenderer for the column.

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

CellRenderer* Gtk::TreeViewColumn::get_first_cell_renderer (  
 

Gets the CellRenderer for the column.

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

int Gtk::TreeViewColumn::get_fixed_width (   const
 

Gets the fixed width of the column.

This value is only meaning may not be the actual width of the column on the screen, just what is requested.

Returns:
The fixed width of the column.

int Gtk::TreeViewColumn::get_max_width (   const
 

Returns the maximum width in pixels of the tree_column , or -1 if no maximum width is set.

Returns:
The maximum width of the tree_column .

int Gtk::TreeViewColumn::get_min_width (   const
 

Returns the minimum width in pixels of the tree_column , or -1 if no minimum width is set.

Returns:
The minimum width of the tree_column .

bool Gtk::TreeViewColumn::get_reorderable (   const
 

Returns #true if the tree_column can be reordered by the user.

Returns:
#true if the tree_column can be reordered by the user.

bool Gtk::TreeViewColumn::get_resizable (   const
 

Returns #true if the tree_column can be resized by the end user.

Returns:
#true, if the tree_column can be resized.

TreeViewColumnSizing Gtk::TreeViewColumn::get_sizing (  
 

Returns the current type of tree_column .

Returns:
The type of tree_column .

int Gtk::TreeViewColumn::get_sort_column_id (   const
 

Gets the logical sort_column_id that the model sorts on when this column is selected for sorting.

See set_sort_column_id().

Returns:
The current sort_column_id for this column, or -1 if this column can't be used for sorting.

bool Gtk::TreeViewColumn::get_sort_indicator (   const
 

Gets the value set by set_sort_indicator().

Returns:
Whether the sort indicator arrow is displayed.

SortType Gtk::TreeViewColumn::get_sort_order (   const
 

Gets the value set by set_sort_order().

Returns:
The sort order the sort indicator is indicating.

int Gtk::TreeViewColumn::get_spacing (   const
 

Returns the spacing of tree_column .

Returns:
The spacing of tree_column .

Glib::ustring Gtk::TreeViewColumn::get_title (   const
 

Returns the title of the widget.

Returns:
The title of the column. This string should not be modified or freed.

bool Gtk::TreeViewColumn::get_visible (   const
 

Returns true if tree_column is visible.

Returns:
Whether the column is visible or not. If it is visible, then the tree will show the column.

const Widget* Gtk::TreeViewColumn::get_widget (   const
 

Returns the Gtk::Widget in the button on the column header.

If a custom widget has not been set then 0 is returned.

Returns:
The Gtk::Widget in the column header, or 0.

Widget* Gtk::TreeViewColumn::get_widget (  
 

Returns the Gtk::Widget in the button on the column header.

If a custom widget has not been set then 0 is returned.

Returns:
The Gtk::Widget in the column header, or 0.

int Gtk::TreeViewColumn::get_width (   const
 

Returns the current size of tree_column in pixels.

Returns:
The current width of tree_column .

const GtkTreeViewColumn* Gtk::TreeViewColumn::gobj (   const [inline]
 

Reimplemented from Gtk::Object.

GtkTreeViewColumn* Gtk::TreeViewColumn::gobj (   [inline]
 

Reimplemented from Gtk::Object.

virtual void Gtk::TreeViewColumn::on_clicked (   [protected, virtual]
 

template <class T_ModelColumnType>
void Gtk::TreeViewColumn::pack_end ( const TreeModelColumn<T_ModelColumnType>&    column,
bool    expand = true
 

void Gtk::TreeViewColumn::pack_end ( CellRenderer   cell,
bool    expand = true
 

Adds the cell to end of the column.

If expand is false, then the cell is allocated no more space than it needs. Any unused space is divided evenly between cells for which expand is true.

Parameters:
cell The Gtk::CellRenderer.
expand true if cell is to be given extra space allocated to box.

template <class T_ModelColumnType>
void Gtk::TreeViewColumn::pack_start ( const TreeModelColumn<T_ModelColumnType>&    column,
bool    expand = true
 

void Gtk::TreeViewColumn::pack_start ( CellRenderer   cell,
bool    expand = true
 

Packs the cell into the beginning of the column.

If expand is false, then the cell is allocated no more space than it needs. Any unused space is divided evenly between cells for which expand is true.

Parameters:
cell The Gtk::CellRenderer.
expand true if cell is to be given extra space allocated to box.

Glib::PropertyProxy<float> Gtk::TreeViewColumn::property_alignment (  
 

Glib::PropertyProxy<bool> Gtk::TreeViewColumn::property_clickable (  
 

Glib::PropertyProxy<int> Gtk::TreeViewColumn::property_fixed_width (  
 

Glib::PropertyProxy<int> Gtk::TreeViewColumn::property_max_width (  
 

Glib::PropertyProxy<int> Gtk::TreeViewColumn::property_min_width (  
 

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

Glib::PropertyProxy<TreeViewColumnSizing> Gtk::TreeViewColumn::property_sizing (  
 

Glib::PropertyProxy<bool> Gtk::TreeViewColumn::property_sort_indicator (  
 

Glib::PropertyProxy<SortType> Gtk::TreeViewColumn::property_sort_order (  
 

Glib::PropertyProxy<Glib::ustring> Gtk::TreeViewColumn::property_title (  
 

Glib::PropertyProxy<bool> Gtk::TreeViewColumn::property_visible (  
 

Glib::PropertyProxy<Widget*> Gtk::TreeViewColumn::property_widget (  
 

Glib::PropertyProxy_ReadOnly<int> Gtk::TreeViewColumn::property_width (  
 

void Gtk::TreeViewColumn::set_alignment ( AlignmentEnum    xalign
 

Sets the alignment of the title or custom widget inside the column header.

The alignment determines its location inside the button -- 0.0 for left, 0.5 for center, 1.0 for right.

Parameters:
xalign The alignment, which is between [0.0 and 1.0] inclusive.

void Gtk::TreeViewColumn::set_alignment ( float    xalign
 

Sets the alignment of the title or custom widget inside the column header.

The alignment determines its location inside the button -- 0.0 for left, 0.5 for center, 1.0 for right.

Parameters:
xalign The alignment, which is between [0.0 and 1.0] inclusive.

void Gtk::TreeViewColumn::set_cell_data_func ( CellRenderer   cell_renderer,
const SlotCellData   slot
 

void Gtk::TreeViewColumn::set_clickable ( bool    clickable = true
 

Sets the header to be active if active is true.

When the header is active, then it can take keyboard focus, and can be clicked.

Parameters:
clickable true if the header is active.

void Gtk::TreeViewColumn::set_fixed_width ( int    fixed_width
 

Sets the size of the column in pixels.

This is meaningful only if the sizing type is Gtk::TREE_VIEW_COLUMN_FIXED. The size of the column is clamped to the min/max width for the column. Please note that the min/max width of the column doesn't actually affect the "fixed_width" property of the widget, just the actual size when displayed.

Parameters:
fixed_width The size to set tree_column to. Must be greater than 0.

void Gtk::TreeViewColumn::set_max_width ( int    max_width
 

Sets the maximum width of the tree_column .

If max_width is -1, then the maximum width is unset. Note, the column can actually be wider than max width if it's the last column in a view. In this case, the column expands to fill any extra space.

Parameters:
max_width The maximum width of the column in pixels, or -1.

void Gtk::TreeViewColumn::set_min_width ( int    min_width
 

Sets the minimum width of the tree_column .

If min_width is -1, then the minimum width is unset.

Parameters:
min_width The minimum width of the column in pixels, or -1.

void Gtk::TreeViewColumn::set_renderer ( Gtk::CellRenderer   renderer,
const TreeModelColumnBase   column
 

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

If reorderable is #true, then the column can be reordered by the end user dragging the header.

Parameters:
reorderable #true, if the column can be reordered.

void Gtk::TreeViewColumn::set_resizable ( bool    resizable = true
 

If resizable is true, then the user can explicitly resize the column by grabbing the outer edge of the column button.

If resizable is true and sizing mode of the column is Gtk::TREE_VIEW_COLUMN_AUTOSIZE, then the sizing mode is changed to Gtk::TREE_VIEW_COLUMN_GROW_ONLY.

Parameters:
resizable true, if the column can be resized.

void Gtk::TreeViewColumn::set_sizing ( TreeViewColumnSizing    type
 

Sets the growth behavior of tree_column to type .

Parameters:
type The Gtk::TreeViewColumnSizing.

void Gtk::TreeViewColumn::set_sort_column_id ( int    sort_column_id
 

Sets the logical sort_column_id that this column sorts on when this column is selected for sorting.

Doing so makes the column header clickable.

Parameters:
sort_column_id The sort_column_id of the model to sort on.

void Gtk::TreeViewColumn::set_sort_column_id ( const TreeModelColumnBase   sort_column_id
 

Sets the logical sort_column_id that this column sorts on when this column is selected for sorting.

Doing so makes the column header clickable.

Parameters:
sort_column_id The sort_column_id of the model to sort on.

void Gtk::TreeViewColumn::set_sort_indicator ( bool    setting
 

Call this function with a setting of true to display an arrow in the header button indicating the column is sorted.

Call set_sort_order() to change the direction of the arrow.

Parameters:
setting true to display an indicator that the column is sorted.

void Gtk::TreeViewColumn::set_sort_order ( SortType    order
 

Changes the appearance of the sort indicator.

This does not actually sort the model. Use set_sort_column_id() if you want automatic sorting support. This function is primarily for custom sorting behavior, and should be used in conjunction with gtk_tree_sortable_set_sort_column() to do that. For custom models, the mechanism will vary.

The sort indicator changes direction to indicate normal sort or reverse sort. Note that you must have the sort indicator enabled to see anything when calling this function; see set_sort_indicator().

Parameters:
order Sort order that the sort indicator should indicate.

void Gtk::TreeViewColumn::set_spacing ( int    spacing
 

Sets the spacing field of tree_column , which is the number of pixels to place between cell renderers packed into it.

Parameters:
spacing Distance between cell renderers in pixels.

void Gtk::TreeViewColumn::set_title ( const Glib::ustring   title
 

Sets the title of the tree_column .

If a custom widget has been set, then this value is ignored.

Parameters:
title The title of the tree_column .

void Gtk::TreeViewColumn::set_visible ( bool    visible = true
 

Sets the visibility of tree_column .

Parameters:
visible true if the tree_column is visible.

void Gtk::TreeViewColumn::set_widget ( Gtk::Widget   widget
 

Sets the widget in the header to be widget .

If widget is 0, then the header button is set with a Gtk::Label set to the title of tree_column .

Parameters:
widget A child Gtk::Widget, or 0.

Glib::SignalProxy0<void> Gtk::TreeViewColumn::signal_clicked (  
 

Prototype:
void clicked()

void Gtk::TreeViewColumn::unset_cell_data_func ( CellRenderer   cell_renderer
 


Friends And Related Function Documentation

Gtk::TreeViewColumn* wrap ( GtkTreeViewColumn*    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