gtkmm  4.8.0
Public Member Functions | Static Public Member Functions | Protected Member Functions | Related Functions | List of all members
Gtk::SliceListModel Class Reference

A list model that presents a slice out of a larger list. More...

#include <gtkmm/slicelistmodel.h>

Inherits Glib::Object, and Gio::ListModel.

Public Member Functions

 SliceListModel (SliceListModel && src) noexcept
 
SliceListModeloperator= (SliceListModel && src) noexcept
 
 ~SliceListModel () noexcept override
 
GtkSliceListModel * gobj ()
 Provides access to the underlying C GObject. More...
 
const GtkSliceListModel * gobj () const
 Provides access to the underlying C GObject. More...
 
GtkSliceListModel * gobj_copy ()
 Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs. More...
 
void set_model (const Glib::RefPtr< Gio::ListModel > & model)
 Sets the model to show a slice of. More...
 
Glib::RefPtr< Gio::ListModel > get_model ()
 Gets the model that is currently being used or nullptr if none. More...
 
Glib::RefPtr< const Gio::ListModel > get_model () const
 Gets the model that is currently being used or nullptr if none. More...
 
void set_offset (guint offset)
 Sets the offset into the original model for this slice. More...
 
guint get_offset () const
 Gets the offset set via set_offset(). More...
 
void set_size (guint size)
 Sets the maximum size. More...
 
guint get_size () const
 Gets the size set via set_size(). More...
 
Glib::PropertyProxy_ReadOnly< GType > property_item_type () const
 The type of items. More...
 
Glib::PropertyProxy< Glib::RefPtr< Gio::ListModel > > property_model ()
 Child model to take slice from. More...
 
Glib::PropertyProxy_ReadOnly< Glib::RefPtr< Gio::ListModel > > property_model () const
 Child model to take slice from. More...
 
Glib::PropertyProxy_ReadOnly< unsigned int > property_n_items () const
 The number of items. More...
 
Glib::PropertyProxy< guint > property_offset ()
 Offset of slice. More...
 
Glib::PropertyProxy_ReadOnly< guint > property_offset () const
 Offset of slice. More...
 
Glib::PropertyProxy< guint > property_size ()
 Maximum size of slice. More...
 
Glib::PropertyProxy_ReadOnly< guint > property_size () const
 Maximum size of slice. More...
 

Static Public Member Functions

static GType get_type ()
 Get the GType for this class, for use with the underlying GObject type system. More...
 
static Glib::RefPtr< SliceListModelcreate (const Glib::RefPtr< Gio::ListModel > & model, guint offset, guint size)
 

Protected Member Functions

 SliceListModel (const Glib::RefPtr< Gio::ListModel > & model, guint offset, guint size)
 

Related Functions

(Note that these are not member functions.)

Glib::RefPtr< Gtk::SliceListModelwrap (GtkSliceListModel * object, bool take_copy=false)
 A Glib::wrap() method for this object. More...
 

Detailed Description

A list model that presents a slice out of a larger list.

Gtk::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.

See also
Gio::ListModel
Since gtkmm 3.98:

Constructor & Destructor Documentation

◆ SliceListModel() [1/2]

Gtk::SliceListModel::SliceListModel ( SliceListModel &&  src)
noexcept

◆ ~SliceListModel()

Gtk::SliceListModel::~SliceListModel ( )
overridenoexcept

◆ SliceListModel() [2/2]

Gtk::SliceListModel::SliceListModel ( const Glib::RefPtr< Gio::ListModel > &  model,
guint  offset,
guint  size 
)
explicitprotected

Member Function Documentation

◆ create()

static Glib::RefPtr<SliceListModel> Gtk::SliceListModel::create ( const Glib::RefPtr< Gio::ListModel > &  model,
guint  offset,
guint  size 
)
static

◆ get_model() [1/2]

Glib::RefPtr<Gio::ListModel> Gtk::SliceListModel::get_model ( )

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

Returns
The model in use.

◆ get_model() [2/2]

Glib::RefPtr<const Gio::ListModel> Gtk::SliceListModel::get_model ( ) const

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

Returns
The model in use.

◆ get_offset()

guint Gtk::SliceListModel::get_offset ( ) const

Gets the offset set via set_offset().

Returns
The offset.

◆ get_size()

guint Gtk::SliceListModel::get_size ( ) const

Gets the size set via set_size().

Returns
The size.

◆ get_type()

static GType Gtk::SliceListModel::get_type ( )
static

Get the GType for this class, for use with the underlying GObject type system.

◆ gobj() [1/2]

GtkSliceListModel* Gtk::SliceListModel::gobj ( )
inline

Provides access to the underlying C GObject.

◆ gobj() [2/2]

const GtkSliceListModel* Gtk::SliceListModel::gobj ( ) const
inline

Provides access to the underlying C GObject.

◆ gobj_copy()

GtkSliceListModel* Gtk::SliceListModel::gobj_copy ( )

Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs.

◆ operator=()

SliceListModel& Gtk::SliceListModel::operator= ( SliceListModel &&  src)
noexcept

◆ property_item_type()

Glib::PropertyProxy_ReadOnly< GType > Gtk::SliceListModel::property_item_type ( ) const

The type of items.

See Gio::ListModel::get_item_type().

Since gtkmm 4.8:
Returns
A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.

◆ property_model() [1/2]

Glib::PropertyProxy< Glib::RefPtr<Gio::ListModel> > Gtk::SliceListModel::property_model ( )

Child model to take slice from.

Returns
A PropertyProxy that allows you to get or set the value of the property, or receive notification when the value of the property changes.

◆ property_model() [2/2]

Glib::PropertyProxy_ReadOnly< Glib::RefPtr<Gio::ListModel> > Gtk::SliceListModel::property_model ( ) const

Child model to take slice from.

Returns
A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.

◆ property_n_items()

Glib::PropertyProxy_ReadOnly< unsigned int > Gtk::SliceListModel::property_n_items ( ) const

The number of items.

See Gio::ListModel::get_n_items().

Since gtkmm 4.8:

Default value: 0

Returns
A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.

◆ property_offset() [1/2]

Glib::PropertyProxy< guint > Gtk::SliceListModel::property_offset ( )

Offset of slice.

Default value: 0

Returns
A PropertyProxy that allows you to get or set the value of the property, or receive notification when the value of the property changes.

◆ property_offset() [2/2]

Glib::PropertyProxy_ReadOnly< guint > Gtk::SliceListModel::property_offset ( ) const

Offset of slice.

Default value: 0

Returns
A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.

◆ property_size() [1/2]

Glib::PropertyProxy< guint > Gtk::SliceListModel::property_size ( )

Maximum size of slice.

Default value: 10

Returns
A PropertyProxy that allows you to get or set the value of the property, or receive notification when the value of the property changes.

◆ property_size() [2/2]

Glib::PropertyProxy_ReadOnly< guint > Gtk::SliceListModel::property_size ( ) const

Maximum size of slice.

Default value: 10

Returns
A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.

◆ set_model()

void Gtk::SliceListModel::set_model ( const Glib::RefPtr< Gio::ListModel > &  model)

Sets the model to show a slice of.

The model's item type must conform to self's item type.

Parameters
modelThe model to be sliced.

◆ set_offset()

void Gtk::SliceListModel::set_offset ( guint  offset)

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.

Parameters
offsetThe new offset to use.

◆ set_size()

void Gtk::SliceListModel::set_size ( guint  size)

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.

Parameters
sizeThe maximum size.

Friends And Related Function Documentation

◆ wrap()

Glib::RefPtr< Gtk::SliceListModel > wrap ( GtkSliceListModel *  object,
bool  take_copy = false 
)
related

A Glib::wrap() method for this object.

Parameters
objectThe C instance.
take_copyFalse if the result should take ownership of the C instance. True if it should take a new copy or ref.
Returns
A C++ instance that wraps this C instance.