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