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

Combining multiple sorters. More...

#include <gtkmm/multisorter.h>

Inheritance diagram for Gtk::MultiSorter:
Inheritance graph
[legend]

Public Member Functions

 MultiSorter (MultiSorter && src) noexcept
 
MultiSorteroperator= (MultiSorter && src) noexcept
 
 ~MultiSorter () noexcept override
 
GtkMultiSorter * gobj ()
 Provides access to the underlying C GObject. More...
 
const GtkMultiSorter * gobj () const
 Provides access to the underlying C GObject. More...
 
GtkMultiSorter * 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 append (const Glib::RefPtr< Sorter > & sorter)
 Add sorter to self to use for sorting at the end. More...
 
void remove (guint position)
 Removes the sorter at the given position from the list of sorter used by self. More...
 
Glib::PropertyProxy_ReadOnly< GType > property_item_type () const
 The type of items. More...
 
Glib::PropertyProxy_ReadOnly< unsigned int > property_n_items () const
 The number of items. More...
 
- Public Member Functions inherited from Gtk::Sorter
 Sorter (Sorter && src) noexcept
 
Sorteroperator= (Sorter && src) noexcept
 
 ~Sorter () noexcept override
 
GtkSorter * gobj ()
 Provides access to the underlying C GObject. More...
 
const GtkSorter * gobj () const
 Provides access to the underlying C GObject. More...
 
GtkSorter * gobj_copy ()
 Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs. More...
 
Ordering compare (gpointer item1, gpointer item2)
 Compares two given items according to the sort order implemented by the sorter. More...
 
Order get_order () const
 Gets the order that self conforms to. More...
 
void changed (Change change)
 Notifies all users of the sorter that it has changed. More...
 
Glib::SignalProxy< void(Change)> signal_changed ()
 
- Public Member Functions inherited from Gtk::Buildable
 Buildable (Buildable && src) noexcept
 
Buildableoperator= (Buildable && src) noexcept
 
 ~Buildable () noexcept override
 
GtkBuildable * gobj ()
 Provides access to the underlying C GObject. More...
 
const GtkBuildable * gobj () const
 Provides access to the underlying C GObject. More...
 
Glib::ustring get_buildable_id () const
 Gets the ID of the buildable object. 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< MultiSortercreate ()
 
- Static Public Member Functions inherited from Gtk::Sorter
static GType get_type ()
 Get the GType for this class, for use with the underlying GObject type system. More...
 
- Static Public Member Functions inherited from Gtk::Buildable
static void add_interface (GType gtype_implementer)
 
static GType get_type ()
 Get the GType for this class, for use with the underlying GObject type system. More...
 

Protected Member Functions

 MultiSorter ()
 
- Protected Member Functions inherited from Gtk::Sorter
 Sorter ()
 
virtual Ordering compare_vfunc (gpointer item1, gpointer item2)
 
virtual Order get_order_vfunc ()
 
- Protected Member Functions inherited from Gtk::Buildable
 Buildable ()
 You should derive from this class to use it. More...
 

Related Functions

(Note that these are not member functions.)

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

Additional Inherited Members

- Public Types inherited from Gtk::Sorter
enum class  Order {
  Order::PARTIAL ,
  Order::NONE ,
  Order::TOTAL
}
 Describes the type of order that a Gtk::Sorter may produce. More...
 
enum class  Change {
  Change::DIFFERENT ,
  Change::INVERTED ,
  Change::LESS_STRICT ,
  Change::MORE_STRICT
}
 Describes changes in a sorter in more detail and allows users to optimize resorting. More...
 

Detailed Description

Combining multiple sorters.

Gtk::MultiSorter combines multiple sorters by trying them in turn. If the first sorter compares two items as equal, the second is tried next, and so on.

Since gtkmm 3.98:

Constructor & Destructor Documentation

◆ MultiSorter() [1/2]

Gtk::MultiSorter::MultiSorter ( MultiSorter &&  src)
noexcept

◆ ~MultiSorter()

Gtk::MultiSorter::~MultiSorter ( )
overridenoexcept

◆ MultiSorter() [2/2]

Gtk::MultiSorter::MultiSorter ( )
protected

Member Function Documentation

◆ append()

void Gtk::MultiSorter::append ( const Glib::RefPtr< Sorter > &  sorter)

Add sorter to self to use for sorting at the end.

self will consult all existing sorters before it will sort with the given sorter.

Parameters
sorterA sorter to add.

◆ create()

static Glib::RefPtr< MultiSorter > Gtk::MultiSorter::create ( )
static

◆ get_type()

static GType Gtk::MultiSorter::get_type ( )
static

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

◆ gobj() [1/2]

GtkMultiSorter * Gtk::MultiSorter::gobj ( )
inline

Provides access to the underlying C GObject.

◆ gobj() [2/2]

const GtkMultiSorter * Gtk::MultiSorter::gobj ( ) const
inline

Provides access to the underlying C GObject.

◆ gobj_copy()

GtkMultiSorter * Gtk::MultiSorter::gobj_copy ( )

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

◆ operator=()

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

◆ property_item_type()

Glib::PropertyProxy_ReadOnly< GType > Gtk::MultiSorter::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_n_items()

Glib::PropertyProxy_ReadOnly< unsigned int > Gtk::MultiSorter::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.

◆ remove()

void Gtk::MultiSorter::remove ( guint  position)

Removes the sorter at the given position from the list of sorter used by self.

If position is larger than the number of sorters, nothing happens.

Parameters
positionPosition of sorter to remove.

Friends And Related Function Documentation

◆ wrap()

Glib::RefPtr< Gtk::MultiSorter > wrap ( GtkMultiSorter *  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.