gtkmm  4.8.0
Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
Gtk::NumericSorter< T > Class Template Reference

Sort by comparing numbers. More...

#include <gtkmm/numericsorter.h>

Inheritance diagram for Gtk::NumericSorter< T >:
Inheritance graph
[legend]

Public Member Functions

Glib::RefPtr< Expression< T > > get_expression ()
 Gets the expression that is evaluated to obtain numbers from items. More...
 
Glib::RefPtr< const Expression< T > > get_expression () const
 Gets the expression that is evaluated to obtain numbers from items. More...
 
void set_expression (const Glib::RefPtr< Expression< T >> & expression)
 Sets the expression that is evaluated to obtain numbers from items. More...
 
Glib::PropertyProxy< Glib::RefPtr< Expression< T > > > property_expression ()
 The expression to evalute on items to get a number to compare with. More...
 
Glib::PropertyProxy_ReadOnly< Glib::RefPtr< Expression< T > > > property_expression () const
 The expression to evalute on items to get a number to compare with. More...
 
- Public Member Functions inherited from Gtk::NumericSorterBase
 NumericSorterBase (NumericSorterBase && src) noexcept
 
NumericSorterBaseoperator= (NumericSorterBase && src) noexcept
 
 ~NumericSorterBase () noexcept override
 
GtkNumericSorter * gobj ()
 Provides access to the underlying C GObject. More...
 
const GtkNumericSorter * gobj () const
 Provides access to the underlying C GObject. More...
 
GtkNumericSorter * gobj_copy ()
 Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs. More...
 
SortType get_sort_order () const
 Gets whether this sorter will sort smaller numbers first. More...
 
void set_sort_order (SortType sort_order)
 Sets whether to sort smaller numbers before larger ones. More...
 
Glib::PropertyProxy< SortTypeproperty_sort_order ()
 Whether the sorter will sort smaller numbers first. More...
 
Glib::PropertyProxy_ReadOnly< SortTypeproperty_sort_order () const
 Whether the sorter will sort smaller numbers first. 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 ()
 

Static Public Member Functions

static Glib::RefPtr< NumericSortercreate (const Glib::RefPtr< Expression< T >> & expression)
 
- Static Public Member Functions inherited from Gtk::NumericSorterBase
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::Sorter
static GType get_type ()
 Get the GType for this class, for use with the underlying GObject type system. More...
 

Protected Member Functions

 NumericSorter (const Glib::RefPtr< Expression< T >> & expression)
 
- Protected Member Functions inherited from Gtk::NumericSorterBase
 NumericSorterBase (const Glib::RefPtr< ExpressionBase > & expression)
 
- Protected Member Functions inherited from Gtk::Sorter
 Sorter ()
 
virtual Ordering compare_vfunc (gpointer item1, gpointer item2)
 
virtual Order get_order_vfunc ()
 

Additional Inherited Members

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

Detailed Description

template<class T>
class Gtk::NumericSorter< T >

Sort by comparing numbers.

Gtk::NumericSorter is a Gtk::Sorter that compares numbers.

To obtain the numbers to compare, this sorter evaluates a Gtk::Expression.

See also
Gtk::Expression
Since gtkmm 3.98:

Constructor & Destructor Documentation

◆ NumericSorter()

template <class T >
Gtk::NumericSorter< T >::NumericSorter ( const Glib::RefPtr< Expression< T >> &  expression)
protected

Member Function Documentation

◆ create()

template <class T >
static Glib::RefPtr<NumericSorter> Gtk::NumericSorter< T >::create ( const Glib::RefPtr< Expression< T >> &  expression)
static

◆ get_expression() [1/2]

template <class T >
Glib::RefPtr<Expression<T> > Gtk::NumericSorter< T >::get_expression ( )

Gets the expression that is evaluated to obtain numbers from items.

Returns
A Gtk::Expression, or nullptr.

◆ get_expression() [2/2]

template <class T >
Glib::RefPtr<const Expression<T> > Gtk::NumericSorter< T >::get_expression ( ) const

Gets the expression that is evaluated to obtain numbers from items.

Returns
A Gtk::Expression, or nullptr.

◆ property_expression() [1/2]

template <class T >
Glib::PropertyProxy<Glib::RefPtr<Expression<T> > > Gtk::NumericSorter< T >::property_expression ( )

The expression to evalute on items to get a number to compare with.

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_expression() [2/2]

template <class T >
Glib::PropertyProxy_ReadOnly<Glib::RefPtr<Expression<T> > > Gtk::NumericSorter< T >::property_expression ( ) const

The expression to evalute on items to get a number to compare with.

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_expression()

template <class T >
void Gtk::NumericSorter< T >::set_expression ( const Glib::RefPtr< Expression< T >> &  expression)

Sets the expression that is evaluated to obtain numbers from items.

Unless an expression is set on the Gtk::NumericSorter, the sorter will always compare items as invalid.

The expression must have a return type that can be compared numerically, such as int or double.

Parameters
expressionA Gtk::Expression, or nullptr.