gi-gtk-4.0.1: Gtk bindings
CopyrightWill Thompson Iñaki García Etxebarria and Jonas Platte
LicenseLGPL-2.1
MaintainerIñaki García Etxebarria
Safe HaskellNone
LanguageHaskell2010

GI.Gtk.Objects.SliceListModel

Description

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

Exported types

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

Instances details
(GObject o, IsDescendantOf SliceListModel o) => IsSliceListModel o Source # 
Instance details

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.

Methods

Overloaded methods

getModel

sliceListModelGetModel Source #

Arguments

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

self: a SliceListModel

-> m (Maybe ListModel)

Returns: The model in use

Gets the model that is curently being used or Nothing if none.

getOffset

sliceListModelGetOffset Source #

Arguments

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

self: a SliceListModel

-> m Word32

Returns: The offset

Gets the offset set via sliceListModelSetOffset

getSize

sliceListModelGetSize Source #

Arguments

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

self: a SliceListModel

-> m Word32

Returns: The size

Gets the size set via sliceListModelSetSize.

new

sliceListModelNew Source #

Arguments

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

model: The model to use

-> Word32

offset: the offset of the slice

-> Word32

size: maximum size of the slice

-> m SliceListModel

Returns: A new SliceListModel

Creates a new slice model that presents the slice from offset to offset + size our of the given model.

newForType

sliceListModelNewForType Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> GType

itemType: the type of items

-> m SliceListModel

Returns: a new empty SliceListModel

Creates a new empty SliceListModel for the given itemType that can be set up later.

setModel

sliceListModelSetModel Source #

Arguments

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

self: a SliceListModel

-> Maybe b

model: The model to be sliced

-> m () 

Sets the model to show a slice of. The model's item type must conform to self's item type.

setOffset

sliceListModelSetOffset Source #

Arguments

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

self: a SliceListModel

-> Word32

offset: the new offset to use

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

Arguments

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

self: a SliceListModel

-> Word32

size: the maximum size

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