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

GI.Gtk.Objects.SliceListModel

Description

GtkSliceListModel is a list model that presents a slice of another 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.

GtkSliceListModel passes through sections from the underlying model.

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

getModel

sliceListModelGetModel Source #

Arguments

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

self: a GtkSliceListModel

-> m (Maybe ListModel)

Returns: The model in use

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

getOffset

sliceListModelGetOffset Source #

Arguments

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

self: a GtkSliceListModel

-> m Word32

Returns: The offset

Gets the offset set via sliceListModelSetOffset.

getSize

sliceListModelGetSize Source #

Arguments

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

self: a GtkSliceListModel

-> m Word32

Returns: The size

Gets the size set via sliceListModelSetSize.

new

sliceListModelNew Source #

Arguments

:: (HasCallStack, MonadIO m, IsListModel a) 
=> Maybe 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 GtkSliceListModel

Creates a new slice model.

It presents the slice from offset to offset + size of the given model.

setModel

sliceListModelSetModel Source #

Arguments

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

self: a GtkSliceListModel

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

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

-> 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 type of items. See listModelGetItemType.

Since: 4.8

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, MonadIO m, IsListModel a) => a -> m (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 ]

nItems

The number of items. See listModelGetNItems.

Since: 4.8

getSliceListModelNItems :: (MonadIO m, IsSliceListModel o) => o -> m Word32 Source #

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

get sliceListModel #nItems

offset

Offset of slice.

constructSliceListModelOffset :: (IsSliceListModel o, MonadIO m) => Word32 -> m (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, MonadIO m) => Word32 -> m (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 ]