| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Data.GI.Gio.ListModel.CustomStore
Description
Allows a custom data structure to be used with ListView introduced in GTK4.
The model SeqStore is based on
CustomStore. This module should only be required for implementing a new
type of store.
The users of a CustomStore will need to handle the Object that is
returned by listItemGetItem, for this
Data.GI.Gio.ListModel.CustomStoreItem can be used.
Synopsis
- newtype CustomStore private a = CustomStore (ManagedPtr (CustomStore private a))
- customStoreNew :: MonadIO m => private -> CustomStoreImpl model a -> (CustomStore private a -> model a) -> m (model a)
- customStoreGetPrivate :: MonadIO m => CustomStore private a -> m private
- data CustomStoreImpl (model :: Type -> Type) a = CustomStoreImpl {}
Documentation
newtype CustomStore private a Source #
A CustomStore is an instance of GListModel. This can be used for any
widget that stores GListModel. The user may either create an instance using
customStoreNew or use the predefined model
SeqStore.
The private type can be used to represent any data that might be needed to
perform operations on the implmentation of CustomStore. For example, this
can be an IORef which can be manipulated as the list needs
manipulating.
Constructors
| CustomStore (ManagedPtr (CustomStore private a)) |
Instances
| GObject (CustomStore private a) Source # | |
Defined in Data.GI.Gio.ListModel.CustomStore | |
| TypedObject (CustomStore private a) Source # | |
Defined in Data.GI.Gio.ListModel.CustomStore | |
| HasParentTypes (CustomStore private row) Source # | |
Defined in Data.GI.Gio.ListModel.CustomStore | |
| type ParentTypes (CustomStore private row) Source # | |
Defined in Data.GI.Gio.ListModel.CustomStore type ParentTypes (CustomStore private row) = '[ListModel] | |
customStoreNew :: MonadIO m => private -> CustomStoreImpl model a -> (CustomStore private a -> model a) -> m (model a) Source #
Create a new instance of a CustomStore.
customStoreGetPrivate :: MonadIO m => CustomStore private a -> m private Source #
data CustomStoreImpl (model :: Type -> Type) a Source #
Operations required to be defined for any implementation of CustomStore.
Constructors
| CustomStoreImpl | |