Gtk2HsContentsIndex
Graphics.UI.Gtk.ModelView.TreeView
Portabilityportable (depends on GHC)
Stabilityprovisional
Maintainergtk2hs-users@lists.sourceforge.net
Contents
Description
Class Hierarchy
Types
Constructors
Methods
Attributes
Signals
Description
A widget for displaying both trees and lists.
Synopsis
data TreeView
class ContainerClass o => TreeViewClass o
castToTreeView :: GObjectClass obj => obj -> TreeView
toTreeView :: TreeViewClass o => o -> TreeView
type Point = (Int, Int)
data DragAction
= ActionDefault
| ActionCopy
| ActionMove
| ActionLink
| ActionPrivate
| ActionAsk
data TreeViewGridLines
= TreeViewGridLinesNone
| TreeViewGridLinesHorizontal
| TreeViewGridLinesVertical
| TreeViewGridLinesBoth
treeViewNew :: IO TreeView
treeViewNewWithModel :: TreeModelClass model => model -> IO TreeView
treeViewGetModel :: TreeViewClass self => self -> IO (Maybe TreeModel)
treeViewSetModel :: (TreeViewClass self, TreeModelClass model) => self -> model -> IO ()
treeViewGetSelection :: TreeViewClass self => self -> IO TreeSelection
treeViewGetHAdjustment :: TreeViewClass self => self -> IO (Maybe Adjustment)
treeViewSetHAdjustment :: TreeViewClass self => self -> Maybe Adjustment -> IO ()
treeViewGetVAdjustment :: TreeViewClass self => self -> IO (Maybe Adjustment)
treeViewSetVAdjustment :: TreeViewClass self => self -> Maybe Adjustment -> IO ()
treeViewGetHeadersVisible :: TreeViewClass self => self -> IO Bool
treeViewSetHeadersVisible :: TreeViewClass self => self -> Bool -> IO ()
treeViewColumnsAutosize :: TreeViewClass self => self -> IO ()
treeViewSetHeadersClickable :: TreeViewClass self => self -> Bool -> IO ()
treeViewGetRulesHint :: TreeViewClass self => self -> IO Bool
treeViewSetRulesHint :: TreeViewClass self => self -> Bool -> IO ()
treeViewAppendColumn :: TreeViewClass self => self -> TreeViewColumn -> IO Int
treeViewRemoveColumn :: TreeViewClass self => self -> TreeViewColumn -> IO Int
treeViewInsertColumn :: TreeViewClass self => self -> TreeViewColumn -> Int -> IO Int
treeViewGetColumn :: TreeViewClass self => self -> Int -> IO (Maybe TreeViewColumn)
treeViewGetColumns :: TreeViewClass self => self -> IO [TreeViewColumn]
treeViewMoveColumnAfter :: TreeViewClass self => self -> TreeViewColumn -> TreeViewColumn -> IO ()
treeViewMoveColumnFirst :: TreeViewClass self => self -> TreeViewColumn -> IO ()
treeViewSetExpanderColumn :: TreeViewClass self => self -> Maybe TreeViewColumn -> IO ()
treeViewGetExpanderColumn :: TreeViewClass self => self -> IO TreeViewColumn
treeViewSetColumnDragFunction :: TreeViewClass self => self -> Maybe (TreeViewColumn -> Maybe TreeViewColumn -> Maybe TreeViewColumn -> IO Bool) -> IO ()
treeViewScrollToPoint :: TreeViewClass self => self -> Int -> Int -> IO ()
treeViewScrollToCell :: TreeViewClass self => self -> TreePath -> TreeViewColumn -> Maybe (Float, Float) -> IO ()
treeViewSetCursor :: TreeViewClass self => self -> TreePath -> Maybe (TreeViewColumn, Bool) -> IO ()
treeViewSetCursorOnCell :: (TreeViewClass self, CellRendererClass focusCell) => self -> TreePath -> TreeViewColumn -> focusCell -> Bool -> IO ()
treeViewGetCursor :: TreeViewClass self => self -> IO (TreePath, Maybe TreeViewColumn)
treeViewRowActivated :: TreeViewClass self => self -> TreePath -> TreeViewColumn -> IO ()
treeViewExpandAll :: TreeViewClass self => self -> IO ()
treeViewCollapseAll :: TreeViewClass self => self -> IO ()
treeViewExpandToPath :: TreeViewClass self => self -> TreePath -> IO ()
treeViewExpandRow :: TreeViewClass self => self -> TreePath -> Bool -> IO Bool
treeViewCollapseRow :: TreeViewClass self => self -> TreePath -> IO Bool
treeViewMapExpandedRows :: TreeViewClass self => self -> (TreePath -> IO ()) -> IO ()
treeViewRowExpanded :: TreeViewClass self => self -> TreePath -> IO Bool
treeViewGetReorderable :: TreeViewClass self => self -> IO Bool
treeViewSetReorderable :: TreeViewClass self => self -> Bool -> IO ()
treeViewGetPathAtPos :: TreeViewClass self => self -> Point -> IO (Maybe (TreePath, TreeViewColumn, Point))
treeViewGetCellArea :: TreeViewClass self => self -> Maybe TreePath -> TreeViewColumn -> IO Rectangle
treeViewGetBackgroundArea :: TreeViewClass self => self -> Maybe TreePath -> TreeViewColumn -> IO Rectangle
treeViewGetVisibleRect :: TreeViewClass self => self -> IO Rectangle
treeViewWidgetToTreeCoords :: TreeViewClass self => self -> Point -> IO Point
treeViewTreeToWidgetCoords :: TreeViewClass self => self -> Point -> IO Point
treeViewCreateRowDragIcon :: TreeViewClass self => self -> TreePath -> IO Pixmap
treeViewGetEnableSearch :: TreeViewClass self => self -> IO Bool
treeViewSetEnableSearch :: TreeViewClass self => self -> Bool -> IO ()
treeViewSetSearchEqualFunc :: TreeViewClass self => self -> Maybe (String -> TreeIter -> IO Bool) -> IO ()
treeViewGetFixedHeightMode :: TreeViewClass self => self -> IO Bool
treeViewSetFixedHeightMode :: TreeViewClass self => self -> Bool -> IO ()
treeViewGetHoverSelection :: TreeViewClass self => self -> IO Bool
treeViewSetHoverSelection :: TreeViewClass self => self -> Bool -> IO ()
treeViewGetHoverExpand :: TreeViewClass self => self -> IO Bool
treeViewSetHoverExpand :: TreeViewClass self => self -> Bool -> IO ()
treeViewGetHeadersClickable :: TreeViewClass self => self -> IO Bool
treeViewGetVisibleRange :: TreeViewClass self => self -> IO (TreePath, TreePath)
treeViewEnableModelDragDest :: TreeViewClass self => self -> TargetList -> [DragAction] -> IO ()
treeViewEnableModelDragSource :: TreeViewClass self => self -> [Modifier] -> TargetList -> [DragAction] -> IO ()
treeViewGetSearchEntry :: TreeViewClass self => self -> IO (Maybe Entry)
treeViewSetSearchEntry :: (TreeViewClass self, EntryClass entry) => self -> Maybe entry -> IO ()
treeViewSetRowSeparatorFunc :: TreeViewClass self => self -> Maybe (TreeIter -> IO Bool) -> IO ()
treeViewGetRubberBanding :: TreeViewClass self => self -> IO Bool
treeViewSetRubberBanding :: TreeViewClass self => self -> Bool -> IO ()
treeViewGetEnableTreeLines :: TreeViewClass self => self -> IO Bool
treeViewSetEnableTreeLines :: TreeViewClass self => self -> Bool -> IO ()
treeViewGetGridLines :: TreeViewClass self => self -> IO TreeViewGridLines
treeViewSetGridLines :: TreeViewClass self => self -> TreeViewGridLines -> IO ()
treeViewModel :: (TreeViewClass self, TreeModelClass model) => ReadWriteAttr self (Maybe TreeModel) model
treeViewHAdjustment :: TreeViewClass self => Attr self (Maybe Adjustment)
treeViewVAdjustment :: TreeViewClass self => Attr self (Maybe Adjustment)
treeViewHeadersVisible :: TreeViewClass self => Attr self Bool
treeViewHeadersClickable :: TreeViewClass self => Attr self Bool
treeViewExpanderColumn :: TreeViewClass self => ReadWriteAttr self TreeViewColumn (Maybe TreeViewColumn)
treeViewReorderable :: TreeViewClass self => Attr self Bool
treeViewRulesHint :: TreeViewClass self => Attr self Bool
treeViewEnableSearch :: TreeViewClass self => Attr self Bool
treeViewFixedHeightMode :: TreeViewClass self => Attr self Bool
treeViewHoverSelection :: TreeViewClass self => Attr self Bool
treeViewHoverExpand :: TreeViewClass self => Attr self Bool
onColumnsChanged :: TreeViewClass self => self -> IO () -> IO (ConnectId self)
afterColumnsChanged :: TreeViewClass self => self -> IO () -> IO (ConnectId self)
onCursorChanged :: TreeViewClass self => self -> IO () -> IO (ConnectId self)
afterCursorChanged :: TreeViewClass self => self -> IO () -> IO (ConnectId self)
onRowActivated :: TreeViewClass self => self -> (TreePath -> TreeViewColumn -> IO ()) -> IO (ConnectId self)
afterRowActivated :: TreeViewClass self => self -> (TreePath -> TreeViewColumn -> IO ()) -> IO (ConnectId self)
onRowCollapsed :: TreeViewClass self => self -> (TreeIter -> TreePath -> IO ()) -> IO (ConnectId self)
afterRowCollapsed :: TreeViewClass self => self -> (TreeIter -> TreePath -> IO ()) -> IO (ConnectId self)
onRowExpanded :: TreeViewClass self => self -> (TreeIter -> TreePath -> IO ()) -> IO (ConnectId self)
afterRowExpanded :: TreeViewClass self => self -> (TreeIter -> TreePath -> IO ()) -> IO (ConnectId self)
onStartInteractiveSearch :: TreeViewClass self => self -> IO () -> IO (ConnectId self)
afterStartInteractiveSearch :: TreeViewClass self => self -> IO () -> IO (ConnectId self)
onTestCollapseRow :: TreeViewClass self => self -> (TreeIter -> TreePath -> IO Bool) -> IO (ConnectId self)
afterTestCollapseRow :: TreeViewClass self => self -> (TreeIter -> TreePath -> IO Bool) -> IO (ConnectId self)
onTestExpandRow :: TreeViewClass self => self -> (TreeIter -> TreePath -> IO Bool) -> IO (ConnectId self)
afterTestExpandRow :: TreeViewClass self => self -> (TreeIter -> TreePath -> IO Bool) -> IO (ConnectId self)
Description

Widget that displays any object that implements the TreeModel interface.

The widget supports scrolling natively. This implies that pixel coordinates can be given in two formats: relative to the current view's upper left corner or relative to the whole list's coordinates. The former are called widget coordinates while the letter are called tree coordinates.

Class Hierarchy
 |  GObject
 |   +----Object
 |         +----Widget
 |               +----Container
 |                     +----TreeView
 
Types
data TreeView
show/hide Instances
class ContainerClass o => TreeViewClass o
show/hide Instances
castToTreeView :: GObjectClass obj => obj -> TreeView
toTreeView :: TreeViewClass o => o -> TreeView
type Point = (Int, Int)
Represents the x and y coordinate of a point.
data DragAction
Specify the kind of action performed on a drag event.
Constructors
ActionDefault
ActionCopy
ActionMove
ActionLink
ActionPrivate
ActionAsk
show/hide Instances
data TreeViewGridLines
Grid lines.
Constructors
TreeViewGridLinesNone
TreeViewGridLinesHorizontal
TreeViewGridLinesVertical
TreeViewGridLinesBoth
show/hide Instances
Constructors
treeViewNew :: IO TreeView
Creates a new TreeView widget.
treeViewNewWithModel :: TreeModelClass model => model -> IO TreeView
Create a new TreeView widget with model as the storage model.
Methods
treeViewGetModel :: TreeViewClass self => self -> IO (Maybe TreeModel)
Returns the model that supplies the data for this TreeView. Returns Nothing if the model is unset.
treeViewSetModel :: (TreeViewClass self, TreeModelClass model) => self -> model -> IO ()
Set the TreeModel for the current View.
treeViewGetSelection :: TreeViewClass self => self -> IO TreeSelection
Retrieve a TreeSelection that holds the current selected nodes of the View.
treeViewGetHAdjustment :: TreeViewClass self => self -> IO (Maybe Adjustment)
Gets the Adjustment currently being used for the horizontal aspect.
treeViewSetHAdjustment
:: TreeViewClass self
=> self
-> Maybe Adjustmentadjustment - The Adjustment to set, or Nothing
-> IO ()
Sets the Adjustment for the current horizontal aspect.
treeViewGetVAdjustment :: TreeViewClass self => self -> IO (Maybe Adjustment)
Gets the Adjustment currently being used for the vertical aspect.
treeViewSetVAdjustment
:: TreeViewClass self
=> self
-> Maybe Adjustmentadjustment - The Adjustment to set, or Nothing
-> IO ()
Sets the Adjustment for the current vertical aspect.
treeViewGetHeadersVisible :: TreeViewClass self => self -> IO Bool
Query if the column headers are visible.
treeViewSetHeadersVisible :: TreeViewClass self => self -> Bool -> IO ()
Set the visibility state of the column headers.
treeViewColumnsAutosize :: TreeViewClass self => self -> IO ()
Resize the columns to their optimal size.
treeViewSetHeadersClickable :: TreeViewClass self => self -> Bool -> IO ()
Set wether the columns headers are sensitive to mouse clicks.
treeViewGetRulesHint :: TreeViewClass self => self -> IO Bool
Query if visual aid for wide columns is turned on.
treeViewSetRulesHint :: TreeViewClass self => self -> Bool -> IO ()
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).
treeViewAppendColumn :: TreeViewClass self => self -> TreeViewColumn -> IO Int
Append a new column to the TreeView. Returns the new number of columns.
treeViewRemoveColumn :: TreeViewClass self => self -> TreeViewColumn -> IO Int
Remove column tvc from the TreeView widget. The number of remaining columns is returned.
treeViewInsertColumn :: TreeViewClass self => self -> TreeViewColumn -> Int -> IO Int
Inserts column tvc into the TreeView widget at the position pos. Returns the number of columns after insertion. Specify -1 for pos to insert the column at the end.
treeViewGetColumn :: TreeViewClass self => self -> Int -> IO (Maybe TreeViewColumn)

Retrieve a TreeViewColumn.

  • Retrieve the pos th columns of TreeView. If the index is out of range Nothing is returned.
treeViewGetColumns :: TreeViewClass self => self -> IO [TreeViewColumn]
Return all TreeViewColumns in this TreeView.
treeViewMoveColumnAfter :: TreeViewClass self => self -> TreeViewColumn -> TreeViewColumn -> IO ()

Move a specific column.

  • Use treeViewMoveColumnToFront if you want to move the column to the left end of the TreeView.
treeViewMoveColumnFirst :: TreeViewClass self => self -> TreeViewColumn -> IO ()

Move a specific column.

treeViewSetExpanderColumn :: TreeViewClass self => self -> Maybe TreeViewColumn -> IO ()

Set location of hierarchy controls.

  • Sets the column to draw the expander arrow at. If col is Nothing, then the expander arrow is always at the first visible column.

If you do not want expander arrow to appear in your tree, set the expander column to a hidden column.

treeViewGetExpanderColumn :: TreeViewClass self => self -> IO TreeViewColumn

Get location of hierarchy controls.

  • Gets the column to draw the expander arrow at. If col is Nothing, then the expander arrow is always at the first visible column.
treeViewSetColumnDragFunction :: TreeViewClass self => self -> Maybe (TreeViewColumn -> Maybe TreeViewColumn -> Maybe TreeViewColumn -> IO Bool) -> IO ()

Specify where a column may be dropped.

  • Sets a user function 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 callback function take the TreeViewColumn to be moved, the second and third arguments are the columns on the left and right side of the new location. At most one of them might be Nothing which indicates that the column is about to be dropped at the left or right end of the TreeView.
  • The predicate pred should return True if it is ok to insert the column at this place.
  • Use Nothing for the predicate if columns can be inserted anywhere.
treeViewScrollToPoint :: TreeViewClass self => self -> Int -> Int -> IO ()

Scroll to a coordinate.

  • Scrolls the tree view such that the top-left corner of the visible area is treeX, treeY, where treeX and treeY are specified in tree window coordinates. The TreeView must be realized before this function is called. If it isn't, you probably want to use treeViewScrollToCell.
treeViewScrollToCell :: TreeViewClass self => self -> TreePath -> TreeViewColumn -> Maybe (Float, Float) -> IO ()

Scroll to a cell.

  • Scroll to a cell as specified by path and tvc. The cell is aligned within the TreeView widget as follows: horizontally by hor from left (0.0) to right (1.0) and vertically by ver from top (0.0) to buttom (1.0).
treeViewSetCursor :: TreeViewClass self => self -> TreePath -> Maybe (TreeViewColumn, Bool) -> IO ()

Selects a specific row.

  • 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 focusColumn is given, then the input focus is given to the column specified by it. Additionally, if focusColumn is specified, and startEditing is True, then editing will be started in the specified cell. This function is often followed by a widgetGrabFocus to the TreeView in order to give keyboard focus to the widget.
treeViewSetCursorOnCell :: (TreeViewClass self, CellRendererClass focusCell) => self -> TreePath -> TreeViewColumn -> focusCell -> Bool -> IO ()

Selects a cell in a specific row.

treeViewGetCursor :: TreeViewClass self => self -> IO (TreePath, Maybe TreeViewColumn)

Retrieves the position of the focus.

  • Returns a pair (path, column).If the cursor is not currently set, path will be []. If no column is currently selected, column will be Nothing.
treeViewRowActivated :: TreeViewClass self => self -> TreePath -> TreeViewColumn -> IO ()
Emit the activated signal on a cell.
treeViewExpandAll :: TreeViewClass self => self -> IO ()
Recursively expands all nodes in the tree view.
treeViewCollapseAll :: TreeViewClass self => self -> IO ()
Recursively collapses all visible, expanded nodes in the tree view.
treeViewExpandToPath :: TreeViewClass self => self -> TreePath -> IO ()

Make a certain path visible.

  • This will expand all parent rows of tp as necessary.
  • Only available in Gtk 2.2 and higher.
treeViewExpandRow
:: TreeViewClass self
=> self
-> TreePathpath - path to a row
-> BoolopenAll - whether to recursively expand, or just expand immediate children
-> IO Boolreturns True if the row existed and had children
Opens the row so its children are visible.
treeViewCollapseRow
:: TreeViewClass self
=> self
-> TreePathpath - path to a row in the tree view
-> IO Boolreturns True if the row was collapsed.
Collapses a row (hides its child rows, if they exist).
treeViewMapExpandedRows :: TreeViewClass self => self -> (TreePath -> IO ()) -> IO ()
Call function for every expaned row.
treeViewRowExpanded
:: TreeViewClass self
=> self
-> TreePathpath - A TreePath to test expansion state.
-> IO Boolreturns True if path is expanded.
Check if row is expanded.
treeViewGetReorderable :: TreeViewClass self => self -> IO Bool

Query if rows can be moved around.

treeViewSetReorderable :: TreeViewClass self => self -> Bool -> IO ()

Check if rows can be moved around.

  • Set whether the user can use drag and drop (DND) to reorder the rows in the store. This works on both TreeStore and ListStore models. If ro 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. If you need to control which rows may be dragged or where rows may be dropped, you can override the treeDragSourceRowDraggable function in the default DND implementation of the model.
treeViewGetPathAtPos :: TreeViewClass self => self -> Point -> IO (Maybe (TreePath, TreeViewColumn, Point))

Map a pixel to the specific cell.

  • Finds the path at the Point (x, y). The coordinates x and y are relative to the top left corner of the TreeView drawing window. As such, coordinates in a mouse click event can be used directly to determine the cell which the user clicked on. This function is useful to realize popup menus.
  • The returned point is the input point relative to the cell's upper left corner. The whole TreeView is divided between all cells. The returned point is relative to the rectangle this cell occupies within the TreeView.
treeViewGetCellArea :: TreeViewClass self => self -> Maybe TreePath -> TreeViewColumn -> IO Rectangle

Retrieve the smallest bounding box of a cell.

  • Fills the bounding rectangle in tree window coordinates for the cell at the row specified by tp and the column specified by tvc. If path is Nothing or 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 rectangles does not cover the entire tree; there are extra pixels in between rows, for example.
treeViewGetBackgroundArea :: TreeViewClass self => self -> Maybe TreePath -> TreeViewColumn -> IO Rectangle

Retrieve the largest bounding box of a cell.

  • Fills the bounding rectangle in tree window coordinates for the cell at the row specified by tp and the column specified by tvc. If path is Nothing or points to a path not currently displayed, the y and height fields of the Rectangle will be filled with 0. The background areas tile the widget's area to cover the entire tree window (except for the area used for header buttons). Contrast this with treeViewGetCellArea.
treeViewGetVisibleRect :: TreeViewClass self => self -> IO Rectangle

Retrieve the currently visible area.

  • The returned rectangle gives the visible part of the tree in tree coordinates.
treeViewWidgetToTreeCoords
:: TreeViewClass self
=> self
-> Point(wx, wy) - widget X and Y coordinates
-> IO Point(tx, ty) returns tree X and Y coordinates

Convert widget to tree pixel coordinates.

  • See module description.
treeViewTreeToWidgetCoords
:: TreeViewClass self
=> self
-> Point(tx, ty) - tree X and Y coordinates
-> IO Point(wx, wy) returns widget X and Y coordinates

Convert tree to widget pixel coordinates.

  • See module description.
treeViewCreateRowDragIcon :: TreeViewClass self => self -> TreePath -> IO Pixmap
Creates a Pixmap representation of the row at the given path. This image can be used for a drag icon.
treeViewGetEnableSearch :: TreeViewClass self => self -> IO Bool

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

  • If enabled, the user can type in text which will set the cursor to the first matching entry.
treeViewSetEnableSearch :: TreeViewClass self => self -> Bool -> IO ()

If this 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. In any case, a predicate that compares a row of the model with the text the user has typed must be set using treeViewSetSearchEqualFunc.

treeViewSetSearchEqualFunc :: TreeViewClass self => self -> Maybe (String -> TreeIter -> IO Bool) -> IO ()

Set the predicate to test for equality.

  • The predicate must returns True if the text entered by the user and the row of the model match.
treeViewGetFixedHeightMode
:: TreeViewClass self
=> self
-> IO Boolreturns True if the tree view is in fixed height mode

Returns whether fixed height mode is turned on for the tree view.

  • Available since Gtk+ version 2.6
treeViewSetFixedHeightMode
:: TreeViewClass self
=> self
-> Boolenable - True to enable fixed height mode
-> IO ()

Enables or disables the fixed height mode of the tree view. Fixed height mode speeds up 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 TreeViewColumnFixed.

  • Available since Gtk+ version 2.6
treeViewGetHoverSelection
:: TreeViewClass self
=> self
-> IO Boolreturns True if the tree view is in hover selection mode

Returns whether hover selection mode is turned on for treeView.

  • Available since Gtk+ version 2.6
treeViewSetHoverSelection
:: TreeViewClass self
=> self
-> Boolhover - True to enable hover selection mode
-> IO ()

Enables of disables the hover selection mode of the tree view. Hover selection makes the selected row follow the pointer. Currently, this works only for the selection modes SelectionSingle and SelectionBrowse.

  • Available since Gtk+ version 2.6
treeViewGetHoverExpand
:: TreeViewClass self
=> self
-> IO Boolreturns True if the tree view is in hover expansion mode

Returns whether hover expansion mode is turned on for the tree view.

  • Available since Gtk+ version 2.6
treeViewSetHoverExpand
:: TreeViewClass self
=> self
-> Boolexpand - True to enable hover selection mode
-> IO ()

Enables of disables the hover expansion mode of the tree view. Hover expansion makes rows expand or collaps if the pointer moves over them.

  • Available since Gtk+ version 2.6
treeViewGetHeadersClickable
:: TreeViewClass self
=> self
-> IO Boolreturns True if all header columns are clickable, otherwise False

Returns whether all header columns are clickable.

  • Available since Gtk+ version 2.10
treeViewGetVisibleRange
:: TreeViewClass self
=> self
-> IO (TreePath, TreePath)the first and the last node that is visible

Return the first and last visible path. Note that there may be invisible paths in between.

  • Available since Gtk+ version 2.8
treeViewEnableModelDragDest
:: TreeViewClass self
=> self
-> TargetListtargets - the list of targets that the the view will support
-> [DragAction]actions - flags denoting the possible actions for a drop into this widget
-> IO ()
Turns treeView into a drop destination for automatic DND.
treeViewEnableModelDragSource
:: TreeViewClass self
=> self
-> [Modifier]startButtonMask - Mask of allowed buttons to start drag
-> TargetListtargets - the list of targets that the the view will support
-> [DragAction]actions - flags denoting the possible actions for a drag from this widget
-> IO ()
Turns treeView into a drag source for automatic DND.
treeViewGetSearchEntry
:: TreeViewClass self
=> self
-> IO (Maybe Entry)returns the entry currently in use as search entry.

Returns the Entry which is currently in use as interactive search entry for treeView. In case the built-in entry is being used, Nothing will be returned.

  • Available since Gtk+ version 2.10
treeViewSetSearchEntry
:: (TreeViewClass self, EntryClass entry)
=> self
-> Maybe entryentry - the entry the interactive search code of treeView should use or Nothing
-> IO ()

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

  • Available since Gtk+ version 2.10
treeViewSetRowSeparatorFunc
:: TreeViewClass self
=> self
-> Maybe (TreeIter -> IO Bool)func - a callback function that returns True if the given row of the model should be drawn as separator
-> IO ()

Sets the row separator function, which is used to determine whether a row should be drawn as a separator. If the row separator function is Nothing, no separators are drawn. This is the default value.

  • Available since Gtk+ version 2.6
treeViewGetRubberBanding
:: TreeViewClass self
=> self
-> IO Boolreturns True if rubber banding in treeView is enabled.

Returns whether rubber banding is turned on for treeView. If the selection mode is SelectionMultiple, rubber banding will allow the user to select multiple rows by dragging the mouse.

  • Available since Gtk+ version 2.10
treeViewSetRubberBanding
:: TreeViewClass self
=> self
-> Boolenable - True to enable rubber banding
-> IO ()

Enables or disables rubber banding in treeView. If the selection mode is SelectionMultiple, rubber banding will allow the user to select multiple rows by dragging the mouse.

  • Available since Gtk+ version 2.10
treeViewGetEnableTreeLines
:: TreeViewClass self
=> self
-> IO Boolreturns True if tree lines are drawn in treeView, False otherwise.

Returns whether or not tree lines are drawn in treeView.

  • Available since Gtk+ version 2.10
treeViewSetEnableTreeLines
:: TreeViewClass self
=> self
-> Boolenabled - True to enable tree line drawing, False otherwise.
-> IO ()

Sets whether to draw lines interconnecting the expanders in treeView. This does not have any visible effects for lists.

  • Available since Gtk+ version 2.10
treeViewGetGridLines
:: TreeViewClass self
=> self
-> IO TreeViewGridLinesreturns a TreeViewGridLines value indicating which grid lines are enabled.

Returns which grid lines are enabled in treeView.

  • Available since Gtk+ version 2.10
treeViewSetGridLines
:: TreeViewClass self
=> self
-> TreeViewGridLinesgridLines - a TreeViewGridLines value indicating which grid lines to enable.
-> IO ()

Sets which grid lines to draw in treeView.

  • Available since Gtk+ version 2.10
Attributes
treeViewModel :: (TreeViewClass self, TreeModelClass model) => ReadWriteAttr self (Maybe TreeModel) model
The model for the tree view.
treeViewHAdjustment :: TreeViewClass self => Attr self (Maybe Adjustment)
Horizontal Adjustment for the widget.
treeViewVAdjustment :: TreeViewClass self => Attr self (Maybe Adjustment)
Vertical Adjustment for the widget.
treeViewHeadersVisible :: TreeViewClass self => Attr self Bool

Show the column header buttons.

Default value: True

treeViewHeadersClickable :: TreeViewClass self => Attr self Bool

Column headers respond to click events.

Default value: False

treeViewExpanderColumn :: TreeViewClass self => ReadWriteAttr self TreeViewColumn (Maybe TreeViewColumn)
Set the column for the expander column.
treeViewReorderable :: TreeViewClass self => Attr self Bool

View is reorderable.

Default value: False

treeViewRulesHint :: TreeViewClass self => Attr self Bool

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

Default value: False

treeViewEnableSearch :: TreeViewClass self => Attr self Bool

View allows user to search through columns interactively.

Default value: True

treeViewFixedHeightMode :: TreeViewClass self => Attr self Bool

Setting the fixed-height-mode property to True speeds up TreeView by assuming that all rows have the same height. Only enable this option if all rows are the same height. Please see treeViewSetFixedHeightMode for more information on this option.

Default value: False

treeViewHoverSelection :: TreeViewClass self => Attr self Bool

Enables of disables the hover selection mode of the tree view. Hover selection makes the selected row follow the pointer. Currently, this works only for the selection modes SelectionSingle and SelectionBrowse.

This mode is primarily indended for treeviews in popups, e.g. in ComboBox or EntryCompletion.

Default value: False

treeViewHoverExpand :: TreeViewClass self => Attr self Bool

Enables of disables the hover expansion mode of the tree view. Hover expansion makes rows expand or collaps if the pointer moves over them.

This mode is primarily indended for treeviews in popups, e.g. in ComboBox or EntryCompletion.

Default value: False

Signals
onColumnsChanged :: TreeViewClass self => self -> IO () -> IO (ConnectId self)
The user has dragged a column to another position.
afterColumnsChanged :: TreeViewClass self => self -> IO () -> IO (ConnectId self)
onCursorChanged :: TreeViewClass self => self -> IO () -> IO (ConnectId self)
The cursor in the tree has moved.
afterCursorChanged :: TreeViewClass self => self -> IO () -> IO (ConnectId self)
onRowActivated :: TreeViewClass self => self -> (TreePath -> TreeViewColumn -> IO ()) -> IO (ConnectId self)

A row was activated.

  • Activation usually means the user has pressed return on a row.
afterRowActivated :: TreeViewClass self => self -> (TreePath -> TreeViewColumn -> IO ()) -> IO (ConnectId self)
onRowCollapsed :: TreeViewClass self => self -> (TreeIter -> TreePath -> IO ()) -> IO (ConnectId self)
Children of this node were hidden.
afterRowCollapsed :: TreeViewClass self => self -> (TreeIter -> TreePath -> IO ()) -> IO (ConnectId self)
onRowExpanded :: TreeViewClass self => self -> (TreeIter -> TreePath -> IO ()) -> IO (ConnectId self)
Children of this node are made visible.
afterRowExpanded :: TreeViewClass self => self -> (TreeIter -> TreePath -> IO ()) -> IO (ConnectId self)
onStartInteractiveSearch :: TreeViewClass self => self -> IO () -> IO (ConnectId self)

The user wants to search interactively.

  • Connect to this signal if you want to provide you own search facility. Note that you must handle all keyboard input yourself.
afterStartInteractiveSearch :: TreeViewClass self => self -> IO () -> IO (ConnectId self)
onTestCollapseRow :: TreeViewClass self => self -> (TreeIter -> TreePath -> IO Bool) -> IO (ConnectId self)

Determine if this row should be collapsed.

  • If the application connects to this function and returns False, the specifc row will not be altered.
afterTestCollapseRow :: TreeViewClass self => self -> (TreeIter -> TreePath -> IO Bool) -> IO (ConnectId self)
onTestExpandRow :: TreeViewClass self => self -> (TreeIter -> TreePath -> IO Bool) -> IO (ConnectId self)

Determine if this row should be expanded.

  • If the application connects to this function and returns False, the specifc row will not be altered.
afterTestExpandRow :: TreeViewClass self => self -> (TreeIter -> TreePath -> IO Bool) -> IO (ConnectId self)
Produced by Haddock version 0.8