gi-gtk4-4.0.12: Gtk 4.x bindings

Copyright | Will Thompson and Iñaki García Etxebarria
License | LGPL-2.1
Maintainer | Iñaki García Etxebarria
Safe Haskell | None
Language | Haskell2010

GI.Gtk.Objects.TreeListModel

Contents

- Exported types
- Methods
  - getAutoexpand
  - getChildRow
  - getModel
  - getPassthrough
  - getRow
  - new
  - setAutoexpand
- Properties
  - autoexpand
  - itemType
  - model
  - nItems
  - passthrough

Description

A list model that can create child models on demand.

Synopsis

- newtype TreeListModel = TreeListModel (ManagedPtr TreeListModel)
- class (GObject o, IsDescendantOf TreeListModel o) => IsTreeListModel o
- toTreeListModel :: (MonadIO m, IsTreeListModel o) => o -> m TreeListModel
- treeListModelGetAutoexpand :: (HasCallStack, MonadIO m, IsTreeListModel a) => a -> m Bool
- treeListModelGetChildRow :: (HasCallStack, MonadIO m, IsTreeListModel a) => a -> Word32 -> m (Maybe TreeListRow)
- treeListModelGetModel :: (HasCallStack, MonadIO m, IsTreeListModel a) => a -> m ListModel
- treeListModelGetPassthrough :: (HasCallStack, MonadIO m, IsTreeListModel a) => a -> m Bool
- treeListModelGetRow :: (HasCallStack, MonadIO m, IsTreeListModel a) => a -> Word32 -> m (Maybe TreeListRow)
- treeListModelNew :: (HasCallStack, MonadIO m, IsListModel a) => a -> Bool -> Bool -> TreeListModelCreateModelFunc -> m TreeListModel
- treeListModelSetAutoexpand :: (HasCallStack, MonadIO m, IsTreeListModel a) => a -> Bool -> m ()
- constructTreeListModelAutoexpand :: (IsTreeListModel o, MonadIO m) => Bool -> m (GValueConstruct o)
- getTreeListModelAutoexpand :: (MonadIO m, IsTreeListModel o) => o -> m Bool
- setTreeListModelAutoexpand :: (MonadIO m, IsTreeListModel o) => o -> Bool -> m ()
- getTreeListModelItemType :: (MonadIO m, IsTreeListModel o) => o -> m GType
- getTreeListModelModel :: (MonadIO m, IsTreeListModel o) => o -> m ListModel
- getTreeListModelNItems :: (MonadIO m, IsTreeListModel o) => o -> m Word32
- constructTreeListModelPassthrough :: (IsTreeListModel o, MonadIO m) => Bool -> m (GValueConstruct o)
- getTreeListModelPassthrough :: (MonadIO m, IsTreeListModel o) => o -> m Bool

# Exported types

newtype TreeListModel Source #

Memory-managed wrapper type.

Constructors

TreeListModel (ManagedPtr TreeListModel) |

#### Instances

Instances details

Eq TreeListModel Source # |
Instance details Defined in GI.Gtk.Objects.TreeListModel Methods (==) :: TreeListModel -> TreeListModel -> Bool Source # (/=) :: TreeListModel -> TreeListModel -> Bool Source #
GObject TreeListModel Source # |
Instance details Defined in GI.Gtk.Objects.TreeListModel
ManagedPtrNewtype TreeListModel Source # |
Instance details Defined in GI.Gtk.Objects.TreeListModel Methods toManagedPtr :: TreeListModel -> ManagedPtr TreeListModel Source #
TypedObject TreeListModel Source # |
Instance details Defined in GI.Gtk.Objects.TreeListModel Methods glibType :: IO GType Source #
HasParentTypes TreeListModel Source # |
Instance details Defined in GI.Gtk.Objects.TreeListModel
IsGValue (Maybe TreeListModel) Source # | Convert `TreeListModel` to and from `GValue`. See `toGValue` and `fromGValue`.
Instance details Defined in GI.Gtk.Objects.TreeListModel Methods gvalueGType_ :: IO GType Source # gvalueSet_ :: Ptr GValue -> Maybe TreeListModel -> IO () Source # gvalueGet_ :: Ptr GValue -> IO (Maybe TreeListModel) Source #
type ParentTypes TreeListModel Source # |
Instance details Defined in GI.Gtk.Objects.TreeListModel type ParentTypes TreeListModel = '[Object, ListModel]

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

### Click to display all available methods, including inherited ones

Expand

#### Methods

bindProperty, bindPropertyFull, forceFloating, freezeNotify, getv, isFloating, itemsChanged, notify, notifyByPspec, ref, refSink, runDispose, stealData, stealQdata, thawNotify, unref, watchClosure.

#### Getters

getAutoexpand, getChildRow, getData, getItem, getItemType, getModel, getNItems, getPassthrough, getProperty, getQdata, getRow.

#### Setters

setAutoexpand, setData, setDataFull, setProperty.

## 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 `GtkTreeListRow`s.

## 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 ]

## itemType

The type of items. See `listModelGetItemType`.

Since: 4.8

getTreeListModelItemType :: (MonadIO m, IsTreeListModel o) => o -> m GType Source #

Get the value of the “`item-type`” property. When overloading is enabled, this is equivalent to

    get treeListModel #itemType

## 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

## nItems

The number of items. See `listModelGetNItems`.

Since: 4.8

getTreeListModelNItems :: (MonadIO m, IsTreeListModel o) => o -> m Word32 Source #

Get the value of the “`n-items`” property. When overloading is enabled, this is equivalent to

    get treeListModel #nItems

## 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