---
name: "Gtk2::TreeViewColumn"
section: "3pm"
platform: "linux"
package: "libgtk2-perl-doc"
version: "2:1.24992-1"
release: "Debian 10 (Buster)"
platforms: ["linux"]
url: "https://new.carta.tech/Gtk2::TreeViewColumn"
---

# Gtk2::TreeViewColumn(3pm)

wrapper for GtkTreeViewColumn

## NAME

Gtk2::TreeViewColumn - wrapper for GtkTreeViewColumn

## HIERARCHY

```
  Glib::Object
  +----Glib::InitiallyUnowned
       +----Gtk2::Object
            +----Gtk2::TreeViewColumn
```

## INTERFACES

```
  Gtk2::CellLayout
  Gtk2::Buildable
```

## METHODS

### treeviewcolumn = Gtk2::TreeViewColumn-\>new

### treeviewcolumn = Gtk2::TreeViewColumn-\>new\_with\_attributes ($title, $cell, $attr1, $col1, ...)

- •

  `$title` (string)

- •

  `$cell` (Gtk2::CellRenderer)

- •

  ... (list) pairs of attributes and columns

- •

  `$col1` (integer) the first column

- •

  `$attr1` (string) the first attribute

### $tree\_column-\>add\_attribute ($cell\_renderer, $attribute, $column)

- •

  `$cell_renderer` (Gtk2::CellRenderer)

- •

  `$attribute` (string)

- •

  `$column` (integer)

### double = $tree\_column-\>get\_alignment

### $tree\_column-\>set\_alignment ($xalign)

- •

  `$xalign` (double)

### $tree\_column-\>set\_attributes ($cell\_renderer, ..., $col1, $attr1)

- •

  `$cell_renderer` (Gtk2::CellRenderer)

- •

  ... (list) pairs of attributes and columns

- •

  `$col1` (integer) the first column

- •

  `$attr1` (string) the first attribute

### $tree\_column-\>set\_cell\_data\_func ($cell\_renderer, $func, $data=undef)

- •

  `$cell_renderer` (Gtk2::CellRenderer)

- •

  `$func` (subroutine)

- •

  `$data` (scalar)

Install *$func* as the callback to be used whenever *$column* needs to set up *$cell* to render a cell.  *$func* should look like this:

```
  sub cell_data_func {
    my ($column, $cell, $model, $iter, $func_data) = @_;
  }
```

and should set whatever properties of *$cell* are required for it to draw the data properly.  No return value is expected.

### (start\_pos, width) = $tree\_column-\>cell\_get\_position ($cell\_renderer)

- •

  `$cell_renderer` (Gtk2::CellRenderer)

Since: gtk+ 2.2

### list = $tree\_column-\>cell\_get\_size

### boolean = $tree\_column-\>cell\_is\_visible

### list = $tree\_column-\>get\_cell\_renderers

Returns a list of Gtk2::CellRenderer's.

### $tree\_column-\>cell\_set\_cell\_data ($tree\_model, $iter, $is\_expander, $is\_expanded)

- •

  `$tree_model` (Gtk2::TreeModel)

- •

  `$iter` (Gtk2::TreeIter)

- •

  `$is_expander` (boolean)

- •

  `$is_expanded` (boolean)

### $tree\_column-\>clear

### $tree\_column-\>clear\_attributes ($cell\_renderer)

- •

  `$cell_renderer` (Gtk2::CellRenderer)

### boolean = $tree\_column-\>get\_clickable

### $tree\_column-\>set\_clickable ($clickable)

- •

  `$clickable` (boolean)

### $tree\_column-\>clicked

### boolean = $tree\_column-\>get\_expand

Since: gtk+ 2.4

### $tree\_column-\>set\_expand ($expand)

- •

  `$expand` (boolean)

Since: gtk+ 2.4

### integer = $tree\_column-\>get\_fixed\_width

### $tree\_column-\>set\_fixed\_width ($fixed\_width)

- •

  `$fixed_width` (integer)

### $tree\_column-\>focus\_cell ($cell)

- •

  `$cell` (Gtk2::CellRenderer)

Since: gtk+ 2.2

### integer = $tree\_column-\>get\_max\_width

### $tree\_column-\>set\_max\_width ($max\_width)

- •

  `$max_width` (integer)

### integer = $tree\_column-\>get\_min\_width

### $tree\_column-\>set\_min\_width ($min\_width)

- •

  `$min_width` (integer)

### $tree\_column-\>pack\_end ($cell, $expand)

- •

  `$cell` (Gtk2::CellRenderer)

- •

  `$expand` (boolean)

### $tree\_column-\>pack\_start ($cell, $expand)

- •

  `$cell` (Gtk2::CellRenderer)

- •

  `$expand` (boolean)

### $tree\_column-\>queue\_resize

Since: gtk+ 2.8

### boolean = $tree\_column-\>get\_reorderable

### $tree\_column-\>set\_reorderable ($reorderable)

- •

  `$reorderable` (boolean)

### boolean = $tree\_column-\>get\_resizable

### $tree\_column-\>set\_resizable ($resizable)

- •

  `$resizable` (boolean)

### treeviewcolumnsizing = $tree\_column-\>get\_sizing

### $tree\_column-\>set\_sizing ($type)

- •

  `$type` (Gtk2::TreeViewColumnSizing)

### integer = $tree\_column-\>get\_sort\_column\_id

### $tree\_column-\>set\_sort\_column\_id ($sort\_column\_id)

- •

  `$sort_column_id` (integer)

### boolean = $tree\_column-\>get\_sort\_indicator

### $tree\_column-\>set\_sort\_indicator ($setting)

- •

  `$setting` (boolean)

### sorttype = $tree\_column-\>get\_sort\_order

### $tree\_column-\>set\_sort\_order ($order)

- •

  `$order` (Gtk2::SortType)

### integer = $tree\_column-\>get\_spacing

### $tree\_column-\>set\_spacing ($spacing)

- •

  `$spacing` (integer)

### string = $tree\_column-\>get\_title

### $tree\_column-\>set\_title ($title)

- •

  `$title` (string)

### widget or undef = $tree\_column-\>get\_tree\_view

Since: gtk+ 2.12

### boolean = $tree\_column-\>get\_visible

### $tree\_column-\>set\_visible ($visible)

- •

  `$visible` (boolean)

### widget or undef = $tree\_column-\>get\_widget

### $tree\_column-\>set\_widget ($widget)

- •

  `$widget` (Gtk2::Widget or undef)

### integer = $tree\_column-\>get\_width

## PROPERTIES

- 'alignment' (float : default 0 : readable / writable / private)

  X Alignment of the column header text or widget

- 'clickable' (boolean : default false : readable / writable / private)

  Whether the header can be clicked

- 'expand' (boolean : default false : readable / writable / private)

  Column gets share of extra width allocated to the widget

- 'fixed-width' (integer : default 1 : readable / writable / private)

  Current fixed width of the column

- 'max-width' (integer : default -1 : readable / writable / private)

  Maximum allowed width of the column

- 'min-width' (integer : default -1 : readable / writable / private)

  Minimum allowed width of the column

- 'reorderable' (boolean : default false : readable / writable / private)

  Whether the column can be reordered around the headers

- 'resizable' (boolean : default false : readable / writable / private)

  Column is user-resizable

- 'sizing' (Gtk2::TreeViewColumnSizing : default "grow-only" : readable / writable / private)

  Resize mode of the column

- 'sort-column-id' (integer : default -1 : readable / writable / private)

  Logical sort column ID this column sorts on when selected for sorting

- 'sort-indicator' (boolean : default false : readable / writable / private)

  Whether to show a sort indicator

- 'sort-order' (Gtk2::SortType : default "ascending" : readable / writable / private)

  Sort direction the sort indicator should indicate

- 'spacing' (integer : default 0 : readable / writable / private)

  Space which is inserted between cells

- 'title' (string : default "" : readable / writable / private)

  Title to appear in column header

- 'visible' (boolean : default true : readable / writable / private)

  Whether to display the column

- 'widget' (Gtk2::Widget : default undef : readable / writable / private)

  Widget to put in column header button instead of column title

- 'width' (integer : default 0 : readable / private)

  Current width of the column

## SIGNALS

- **clicked** (Gtk2::TreeViewColumn)

  ## ENUMS AND FLAGS

### enum Gtk2::SortType

- •

  'ascending' / 'GTK\_SORT\_ASCENDING'

- •

  'descending' / 'GTK\_SORT\_DESCENDING'

### enum Gtk2::TreeViewColumnSizing

- •

  'grow-only' / 'GTK\_TREE\_VIEW\_COLUMN\_GROW\_ONLY'

- •

  'autosize' / 'GTK\_TREE\_VIEW\_COLUMN\_AUTOSIZE'

- •

  'fixed' / 'GTK\_TREE\_VIEW\_COLUMN\_FIXED'

## SEE ALSO

Gtk2, Glib::Object, Glib::InitiallyUnowned, Gtk2::Object

## COPYRIGHT

Copyright (C) 2003-2011 by the gtk2-perl team.

This software is licensed under the LGPL.  See Gtk2 for a full notice.
