tree widget

A GtkTreeView packed inside a GtkScrolledWindow

Definition

<tree tag_attr="value"...>
	<label>text</label>
	<variable>varname</variable>
	<height>value</height>
	<width>value</width>
	<input>command</input>...
	<input icon-column="index">command</input>...
	<input stock-column="index">command</input>...
	<input file>filename</input>...
	<input file icon-column="index">filename</input>...
	<input file stock-column="index">filename</input>...
	<sensitive>state</sensitive>
	<action>activity</action>...
	<action signal="type">activity</action>...
	<action type="function">parameter</action>...
	<item>data</item>...
	<item icon-name="image">data</item>...
	<item stock-id="gtk-image">data</item>...
	<output file>filename</output>
</tree>

"..." denotes acceptance of multiples of the same thing.

Tag Attributes

See the GtkTreeView widget and ancestor class properties.

The following custom tag attributes are available:

Name Description Value Since
space-expand Pack widget expanding into space true or false 0.7.21
space-fill Pack widget filling space true or false 0.7.21
block-function-signals Block signal emissions from functions true or false 0.7.21
file-monitor Emit signal when input file(s) change true or false 0.8.1
auto-refresh Auto refresh when input file(s) change true or false 0.8.1
hscrollbar-policy Policy for the horizontal scrollbar 0, 1, 2 (always, automatic, never) 0.8.1
vscrollbar-policy Policy for the vertical scrollbar 0, 1, 2 (always, automatic, never) 0.8.1
exported-column The column to export data from An integer >= 0
selected-row The row to select on initialisation and refresh An integer >= 0 0.8.1
column-header-active Active state of column header(s) state0 | state1 | ... 0.8.1
column-visible Visible state of column(s) state0 | state1 | ... 0.8.1
auto-sort Automatically sort after loading data true or false 0.8.1
sort-column The initial sort column when auto-sorting An integer >= 0 0.8.1
sort-type The initial sort direction when auto-sorting 0, 1 (ascending, descending) 0.8.1
column-type Data type of column(s) type0 | type1 | ... (string, int64, uint64 or double) 0.8.1
column-sort-function The sorting algorithm for each column func0 | func1 | ... (0 default, 1 strnatcmp or 2 strcasenatcmp) 0.8.1
selection-mode Selection method 0, 1, 2, 3 (none, single, browse, multiple) 0.7.21
icon-name Default GTK theme icon name for all rows
stock-id Default GTK stock icon ID for all rows gtk-about, gtk-add, ... (full list)

Directives

Some of these may have tag attribute equivalents.

Name Description Contents Mandatory Since
label Column header labels label0 | label1 | ...
variable Shell variable name
height[1] Initial minimum height An integer > 0 or -1 to ignore
width[1] Initial minimum width An integer > 0 or -1 to ignore
input Data input source Shell command
input icon-column="index" Data input source Shell command
input stock-column="index" Data input source Shell command
input file Data input source Filename
input file icon-column="index" Data input source Filename
input file stock-column="index" Data input source Filename
sensitive Sensitive state true or false
action Execute command on default signal Shell command
action Perform function on default signal function:parameter
action signal="type" Execute command on signal Shell command
action signal="type" Perform function on signal function:parameter
action type="function" Perform function on default signal parameter
item Input data data0 | data1 | ...
item icon-name="image" Input data data0 | data1 | ...
item stock-id="gtk-image" Input data data0 | data1 | ...
output file Data output target Filename 0.8.1

Signals

The default signal is "row-activated", emitted when the user double-clicks a row and also when a row is selected and one of the keys Space, Shift+Space, Return or Enter is pressed.

The "changed" signal is emitted when the selection has changed (please see link about this).

The "cursor-changed" signal is emitted when the position of the cursor (focused cell) has changed.

The "file-changed" signal is emitted if file-monitor is true and the input file being monitored has changed.

The following signals are connected-up for all widgets:

button-press-event, button-release-event, configure-event, enter-notify-event, leave-notify-event, focus-in-event, focus-out-event, hide, show, key-press-event, key-release-event, map-event, unmap-event

Functions

The following functions can be performed upon this widget by any widget capable of emitting signals:

Type Description Parameter Since
enable Sensitise widget Shell variable name
disable Desensitise widget Shell variable name
show Show widget Shell variable name 0.8.1
hide Hide widget Shell variable name 0.8.1
grabfocus Grab input focus Shell variable name 0.8.1
refresh Reload input data Shell variable name
save Save widget data Shell variable name 0.8.1
clear Remove all widget data Shell variable name 0.7.21
removeselected Remove selected widget data Shell variable name

The following general functions can be performed by any widget capable of emitting signals:

Type Description Parameter Since
command Execute command Shell command
exit Exit dialog A value for the EXIT shell variable
closewindow Close dialog Shell variable name
launch Launch dialog Shell variable name
presentwindow Present dialog Shell variable name 0.8.1

Notes

1. This widget has a default dimension of 200x100 which can be overridden with the height and/or width directives.


button, checkbox, colorbutton, comboboxentry, comboboxtext, combobox, edit, entry, eventbox, expander, fontbutton, frame, hbox, hscale, hseparator, list, menubar, menuitemseparator, menuitem, menu, notebook, pixmap, progressbar, radiobutton, separator, spinbutton, statusbar, table, terminal, text, timer, togglebutton, tree, vbox, vscale, vseparator, window,