gi-gtk-4.0.5: Gtk bindings
CopyrightWill Thompson and Iñaki García Etxebarria
LicenseLGPL-2.1
MaintainerIñaki García Etxebarria
Safe HaskellSafe-Inferred
LanguageHaskell2010

GI.Gtk.Objects.TreeListModel

Description

GtkTreeListModel is a list model that can create child models on demand.

Synopsis

Exported types

class (GObject o, IsDescendantOf TreeListModel o) => IsTreeListModel o Source #

Type class for types which can be safely cast to TreeListModel, for instance with toTreeListModel.

Instances

Instances details
(GObject o, IsDescendantOf TreeListModel o) => IsTreeListModel o Source # 
Instance details

Defined in GI.Gtk.Objects.TreeListModel

toTreeListModel :: (MonadIO m, IsTreeListModel o) => o -> m TreeListModel Source #

Cast to TreeListModel, for types for which this is known to be safe. For general casts, use castTo.

Methods

getAutoexpand

treeListModelGetAutoexpand Source #

Arguments

:: (HasCallStack, MonadIO m, IsTreeListModel a) 
=> a

self: a GtkTreeListModel

-> m Bool

Returns: True if the model is set to autoexpand

Gets whether the model is set to automatically expand new rows that get added.

This can be either rows added by changes to the underlying models or via treeListRowSetExpanded.

getChildRow

treeListModelGetChildRow Source #

Arguments

:: (HasCallStack, MonadIO m, IsTreeListModel a) 
=> a

self: a GtkTreeListModel

-> Word32

position: position of the child to get

-> m (Maybe TreeListRow)

Returns: the child in position

Gets the row item corresponding to the child at index position for self's root model.

If position is greater than the number of children in the root model, Nothing is returned.

Do not confuse this function with treeListModelGetRow.

getModel

treeListModelGetModel Source #

Arguments

:: (HasCallStack, MonadIO m, IsTreeListModel a) 
=> a

self: a GtkTreeListModel

-> m ListModel

Returns: the root model

Gets the root model that self was created with.

getPassthrough

treeListModelGetPassthrough Source #

Arguments

:: (HasCallStack, MonadIO m, IsTreeListModel a) 
=> a

self: a GtkTreeListModel

-> m Bool

Returns: True if the model is passing through original row items

Gets whether the model is passing through original row items.

If this function returns False, the GListModel functions for self return custom GtkTreeListRow objects. You need to call treeListRowGetItem on these objects to get the original item.

If True, the values of the child models are passed through in their original state. You then need to call treeListModelGetRow to get the custom GtkTreeListRows.

getRow

treeListModelGetRow Source #

Arguments

:: (HasCallStack, MonadIO m, IsTreeListModel a) 
=> a

self: a GtkTreeListModel

-> Word32

position: the position of the row to fetch

-> m (Maybe TreeListRow)

Returns: The row item

Gets the row object for the given row.

If position is greater than the number of items in self, Nothing is returned.

The row object can be used to expand and collapse rows as well as to inspect its position in the tree. See its documentation for details.

This row object is persistent and will refer to the current item as long as the row is present in self, independent of other rows being added or removed.

If self is set to not be passthrough, this function is equivalent to calling g_list_model_get_item().

Do not confuse this function with treeListModelGetChildRow.

new

treeListModelNew Source #

Arguments

:: (HasCallStack, MonadIO m, IsListModel a) 
=> a

root: The GListModel to use as root

-> Bool

passthrough: True to pass through items from the models

-> Bool

autoexpand: True to set the autoexpand property and expand the root model

-> TreeListModelCreateModelFunc

createFunc: Function to call to create the GListModel for the children of an item

-> m TreeListModel

Returns: a newly created GtkTreeListModel.

Creates a new empty GtkTreeListModel displaying root with all rows collapsed.

setAutoexpand

treeListModelSetAutoexpand Source #

Arguments

:: (HasCallStack, MonadIO m, IsTreeListModel a) 
=> a

self: a GtkTreeListModel

-> Bool

autoexpand: True to make the model autoexpand its rows

-> m () 

Sets whether the model should autoexpand.

If set to True, the model will recursively expand all rows that get added to the model. This can be either rows added by changes to the underlying models or via treeListRowSetExpanded.

Properties

autoexpand

If all rows should be expanded by default.

constructTreeListModelAutoexpand :: (IsTreeListModel o, MonadIO m) => Bool -> m (GValueConstruct o) Source #

Construct a GValueConstruct with valid value for the “autoexpand” property. This is rarely needed directly, but it is used by new.

getTreeListModelAutoexpand :: (MonadIO m, IsTreeListModel o) => o -> m Bool Source #

Get the value of the “autoexpand” property. When overloading is enabled, this is equivalent to

get treeListModel #autoexpand

setTreeListModelAutoexpand :: (MonadIO m, IsTreeListModel o) => o -> Bool -> m () Source #

Set the value of the “autoexpand” property. When overloading is enabled, this is equivalent to

set treeListModel [ #autoexpand := value ]

model

The root model displayed.

getTreeListModelModel :: (MonadIO m, IsTreeListModel o) => o -> m ListModel Source #

Get the value of the “model” property. When overloading is enabled, this is equivalent to

get treeListModel #model

passthrough

Gets whether the model is in passthrough mode.

If False, the GListModel functions for this object return custom TreeListRow objects. If True, the values of the child models are pass through unmodified.

constructTreeListModelPassthrough :: (IsTreeListModel o, MonadIO m) => Bool -> m (GValueConstruct o) Source #

Construct a GValueConstruct with valid value for the “passthrough” property. This is rarely needed directly, but it is used by new.

getTreeListModelPassthrough :: (MonadIO m, IsTreeListModel o) => o -> m Bool Source #

Get the value of the “passthrough” property. When overloading is enabled, this is equivalent to

get treeListModel #passthrough