Copyright | Will Thompson Iñaki García Etxebarria and Jonas Platte |
---|---|
License | LGPL-2.1 |
Maintainer | Iñaki García Etxebarria |
Safe Haskell | None |
Language | Haskell2010 |
SliceListModel
is a list model that takes a list model and presents a slice of
that model.
This is useful when implementing paging by setting the size to the number of elements per page and updating the offset whenever a different page is opened.
Synopsis
- newtype SliceListModel = SliceListModel (ManagedPtr SliceListModel)
- class (GObject o, IsDescendantOf SliceListModel o) => IsSliceListModel o
- toSliceListModel :: (MonadIO m, IsSliceListModel o) => o -> m SliceListModel
- noSliceListModel :: Maybe SliceListModel
- sliceListModelGetModel :: (HasCallStack, MonadIO m, IsSliceListModel a) => a -> m (Maybe ListModel)
- sliceListModelGetOffset :: (HasCallStack, MonadIO m, IsSliceListModel a) => a -> m Word32
- sliceListModelGetSize :: (HasCallStack, MonadIO m, IsSliceListModel a) => a -> m Word32
- sliceListModelNew :: (HasCallStack, MonadIO m, IsListModel a) => a -> Word32 -> Word32 -> m SliceListModel
- sliceListModelNewForType :: (HasCallStack, MonadIO m) => GType -> m SliceListModel
- sliceListModelSetModel :: (HasCallStack, MonadIO m, IsSliceListModel a, IsListModel b) => a -> Maybe b -> m ()
- sliceListModelSetOffset :: (HasCallStack, MonadIO m, IsSliceListModel a) => a -> Word32 -> m ()
- sliceListModelSetSize :: (HasCallStack, MonadIO m, IsSliceListModel a) => a -> Word32 -> m ()
- constructSliceListModelItemType :: IsSliceListModel o => GType -> IO (GValueConstruct o)
- getSliceListModelItemType :: (MonadIO m, IsSliceListModel o) => o -> m GType
- clearSliceListModelModel :: (MonadIO m, IsSliceListModel o) => o -> m ()
- constructSliceListModelModel :: (IsSliceListModel o, IsListModel a) => a -> IO (GValueConstruct o)
- getSliceListModelModel :: (MonadIO m, IsSliceListModel o) => o -> m (Maybe ListModel)
- setSliceListModelModel :: (MonadIO m, IsSliceListModel o, IsListModel a) => o -> a -> m ()
- constructSliceListModelOffset :: IsSliceListModel o => Word32 -> IO (GValueConstruct o)
- getSliceListModelOffset :: (MonadIO m, IsSliceListModel o) => o -> m Word32
- setSliceListModelOffset :: (MonadIO m, IsSliceListModel o) => o -> Word32 -> m ()
- constructSliceListModelSize :: IsSliceListModel o => Word32 -> IO (GValueConstruct o)
- getSliceListModelSize :: (MonadIO m, IsSliceListModel o) => o -> m Word32
- setSliceListModelSize :: (MonadIO m, IsSliceListModel o) => o -> Word32 -> m ()
Exported types
newtype SliceListModel Source #
Memory-managed wrapper type.
Instances
Eq SliceListModel Source # | |
Defined in GI.Gtk.Objects.SliceListModel (==) :: SliceListModel -> SliceListModel -> Bool # (/=) :: SliceListModel -> SliceListModel -> Bool # | |
IsGValue SliceListModel Source # | Convert |
Defined in GI.Gtk.Objects.SliceListModel toGValue :: SliceListModel -> IO GValue # fromGValue :: GValue -> IO SliceListModel # | |
GObject SliceListModel Source # | |
Defined in GI.Gtk.Objects.SliceListModel gobjectType :: IO GType # | |
HasParentTypes SliceListModel Source # | |
Defined in GI.Gtk.Objects.SliceListModel | |
type ParentTypes SliceListModel Source # | |
Defined in GI.Gtk.Objects.SliceListModel |
class (GObject o, IsDescendantOf SliceListModel o) => IsSliceListModel o Source #
Type class for types which can be safely cast to SliceListModel
, for instance with toSliceListModel
.
Instances
(GObject o, IsDescendantOf SliceListModel o) => IsSliceListModel o Source # | |
Defined in GI.Gtk.Objects.SliceListModel |
toSliceListModel :: (MonadIO m, IsSliceListModel o) => o -> m SliceListModel Source #
Cast to SliceListModel
, for types for which this is known to be safe. For general casts, use castTo
.
noSliceListModel :: Maybe SliceListModel Source #
A convenience alias for Nothing
:: Maybe
SliceListModel
.
Methods
Overloaded methods
getModel
sliceListModelGetModel Source #
:: (HasCallStack, MonadIO m, IsSliceListModel a) | |
=> a |
|
-> m (Maybe ListModel) | Returns: The model in use |
Gets the model that is curently being used or Nothing
if none.
getOffset
sliceListModelGetOffset Source #
:: (HasCallStack, MonadIO m, IsSliceListModel a) | |
=> a |
|
-> m Word32 | Returns: The offset |
Gets the offset set via sliceListModelSetOffset
getSize
sliceListModelGetSize Source #
:: (HasCallStack, MonadIO m, IsSliceListModel a) | |
=> a |
|
-> m Word32 | Returns: The size |
Gets the size set via sliceListModelSetSize
.
new
:: (HasCallStack, MonadIO m, IsListModel a) | |
=> a |
|
-> Word32 |
|
-> Word32 |
|
-> m SliceListModel | Returns: A new |
Creates a new slice model that presents the slice from offset
to
offset
+ size
our of the given model
.
newForType
sliceListModelNewForType Source #
:: (HasCallStack, MonadIO m) | |
=> GType |
|
-> m SliceListModel | Returns: a new empty |
Creates a new empty SliceListModel
for the given itemType
that
can be set up later.
setModel
sliceListModelSetModel Source #
:: (HasCallStack, MonadIO m, IsSliceListModel a, IsListModel b) | |
=> a |
|
-> Maybe b |
|
-> m () |
Sets the model to show a slice of. The model's item type must conform
to self
's item type.
setOffset
sliceListModelSetOffset Source #
:: (HasCallStack, MonadIO m, IsSliceListModel a) | |
=> a |
|
-> Word32 |
|
-> m () |
Sets the offset into the original model for this slice.
If the offset is too large for the sliced model,
self
will end up empty.
setSize
sliceListModelSetSize Source #
:: (HasCallStack, MonadIO m, IsSliceListModel a) | |
=> a |
|
-> Word32 |
|
-> m () |
Sets the maximum size. self
will never have more items
than size
.
It can however have fewer items if the offset is too large or the model sliced from doesn't have enough items.
Properties
itemType
The GType
for elements of this object
constructSliceListModelItemType :: IsSliceListModel o => GType -> IO (GValueConstruct o) Source #
Construct a GValueConstruct
with valid value for the “item-type
” property. This is rarely needed directly, but it is used by new
.
getSliceListModelItemType :: (MonadIO m, IsSliceListModel o) => o -> m GType Source #
Get the value of the “item-type
” property.
When overloading is enabled, this is equivalent to
get
sliceListModel #itemType
model
Child model to take slice from
clearSliceListModelModel :: (MonadIO m, IsSliceListModel o) => o -> m () Source #
Set the value of the “model
” property to Nothing
.
When overloading is enabled, this is equivalent to
clear
#model
constructSliceListModelModel :: (IsSliceListModel o, IsListModel a) => a -> IO (GValueConstruct o) Source #
Construct a GValueConstruct
with valid value for the “model
” property. This is rarely needed directly, but it is used by new
.
getSliceListModelModel :: (MonadIO m, IsSliceListModel o) => o -> m (Maybe ListModel) Source #
Get the value of the “model
” property.
When overloading is enabled, this is equivalent to
get
sliceListModel #model
setSliceListModelModel :: (MonadIO m, IsSliceListModel o, IsListModel a) => o -> a -> m () Source #
Set the value of the “model
” property.
When overloading is enabled, this is equivalent to
set
sliceListModel [ #model:=
value ]
offset
Offset of slice
constructSliceListModelOffset :: IsSliceListModel o => Word32 -> IO (GValueConstruct o) Source #
Construct a GValueConstruct
with valid value for the “offset
” property. This is rarely needed directly, but it is used by new
.
getSliceListModelOffset :: (MonadIO m, IsSliceListModel o) => o -> m Word32 Source #
Get the value of the “offset
” property.
When overloading is enabled, this is equivalent to
get
sliceListModel #offset
setSliceListModelOffset :: (MonadIO m, IsSliceListModel o) => o -> Word32 -> m () Source #
Set the value of the “offset
” property.
When overloading is enabled, this is equivalent to
set
sliceListModel [ #offset:=
value ]
size
Maximum size of slice
constructSliceListModelSize :: IsSliceListModel o => Word32 -> IO (GValueConstruct o) Source #
Construct a GValueConstruct
with valid value for the “size
” property. This is rarely needed directly, but it is used by new
.
getSliceListModelSize :: (MonadIO m, IsSliceListModel o) => o -> m Word32 Source #
Get the value of the “size
” property.
When overloading is enabled, this is equivalent to
get
sliceListModel #size
setSliceListModelSize :: (MonadIO m, IsSliceListModel o) => o -> Word32 -> m () Source #
Set the value of the “size
” property.
When overloading is enabled, this is equivalent to
set
sliceListModel [ #size:=
value ]