gtkmm 4.16.0
|
A selection model that allows selecting a single item. More...
#include <gtkmm/singleselection.h>
Public Member Functions | |
SingleSelection (SingleSelection &&src) noexcept | |
SingleSelection & | operator= (SingleSelection &&src) noexcept |
~SingleSelection () noexcept override | |
GtkSingleSelection * | gobj () |
Provides access to the underlying C GObject. | |
const GtkSingleSelection * | gobj () const |
Provides access to the underlying C GObject. | |
GtkSingleSelection * | gobj_copy () |
Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs. | |
Glib::RefPtr< Gio::ListModel > | get_model () |
Gets the model that self is wrapping. | |
Glib::RefPtr< const Gio::ListModel > | get_model () const |
Gets the model that self is wrapping. | |
void | set_model (const Glib::RefPtr< Gio::ListModel > &model) |
Sets the model that self should wrap. | |
guint | get_selected () const |
Gets the position of the selected item. | |
void | set_selected (guint position) |
Selects the item at the given position. | |
Glib::RefPtr< Glib::ObjectBase > | get_selected_item () |
Gets the selected item. | |
Glib::RefPtr< const Glib::ObjectBase > | get_selected_item () const |
Gets the selected item. | |
bool | get_autoselect () const |
Checks if autoselect has been enabled or disabled via set_autoselect(). | |
void | set_autoselect (bool autoselect=true) |
Enables or disables autoselect. | |
bool | get_can_unselect () const |
If true , Gtk::SelectionModel::unselect_item() is supported and allows unselecting the selected item. | |
void | set_can_unselect (bool can_unselect=true) |
If true , unselecting the current item via Gtk::SelectionModel::unselect_item() is supported. | |
Glib::PropertyProxy< bool > | property_autoselect () |
If the selection will always select an item. | |
Glib::PropertyProxy_ReadOnly< bool > | property_autoselect () const |
If the selection will always select an item. | |
Glib::PropertyProxy< bool > | property_can_unselect () |
If unselecting the selected item is allowed. | |
Glib::PropertyProxy_ReadOnly< bool > | property_can_unselect () const |
If unselecting the selected item is allowed. | |
Glib::PropertyProxy< guint > | property_selected () |
Position of the selected item. | |
Glib::PropertyProxy_ReadOnly< guint > | property_selected () const |
Position of the selected item. | |
Glib::PropertyProxy_ReadOnly< Glib::RefPtr< Glib::ObjectBase > > | property_selected_item () const |
The selected item. | |
Glib::PropertyProxy_ReadOnly< GType > | property_item_type () const |
The type of items. | |
Glib::PropertyProxy< Glib::RefPtr< Gio::ListModel > > | property_model () |
The model being managed. | |
Glib::PropertyProxy_ReadOnly< Glib::RefPtr< Gio::ListModel > > | property_model () const |
The model being managed. | |
Glib::PropertyProxy_ReadOnly< unsigned int > | property_n_items () const |
The number of items. | |
Public Member Functions inherited from Gtk::SelectionModel | |
SelectionModel (SelectionModel &&src) noexcept | |
SelectionModel & | operator= (SelectionModel &&src) noexcept |
~SelectionModel () noexcept override | |
GtkSelectionModel * | gobj () |
Provides access to the underlying C GObject. | |
const GtkSelectionModel * | gobj () const |
Provides access to the underlying C GObject. | |
bool | is_selected (guint position) const |
Checks if the given item is selected. | |
Glib::RefPtr< const Bitset > | get_selection () const |
Gets the set containing all currently selected items in the model. | |
Glib::RefPtr< const Bitset > | get_selection (guint position, guint n_items) const |
Gets the set of selected items in a range. | |
bool | select_item (guint position, bool unselect_rest) |
Requests to select an item in the model. | |
bool | unselect_item (guint position) |
Requests to unselect an item in the model. | |
bool | select_range (guint position, guint n_items, bool unselect_rest) |
Requests to select a range of items in the model. | |
bool | unselect_range (guint position, guint n_items) |
Requests to unselect a range of items in the model. | |
bool | select_all () |
Requests to select all items in the model. | |
bool | unselect_all () |
Requests to unselect all items in the model. | |
bool | set_selection (const Glib::RefPtr< const Bitset > &selected, const Glib::RefPtr< const Bitset > &mask) |
Make selection changes. | |
Glib::SignalProxy< void(guint, guint)> | signal_selection_changed () |
Static Public Member Functions | |
static GType | get_type () |
Get the GType for this class, for use with the underlying GObject type system. | |
static Glib::RefPtr< SingleSelection > | create () |
static Glib::RefPtr< SingleSelection > | create (const Glib::RefPtr< Gio::ListModel > &model) |
Static Public Member Functions inherited from Gtk::SelectionModel | |
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. | |
Protected Member Functions | |
SingleSelection () | |
SingleSelection (const Glib::RefPtr< Gio::ListModel > &model) | |
Protected Member Functions inherited from Gtk::SelectionModel | |
SelectionModel () | |
You should derive from this class to use it. | |
void | selection_changed (guint position, guint n_items) |
Helper function for implementations of Gtk::SelectionModel . | |
virtual bool | is_selected_vfunc (guint position) const |
virtual Glib::RefPtr< const Bitset > | get_selection_vfunc (guint position, guint n_items) |
virtual bool | select_item_vfunc (guint position, bool unselect_rest) |
virtual bool | unselect_item_vfunc (guint position) |
virtual bool | select_range_vfunc (guint position, guint n_items, bool unselect_rest) |
virtual bool | unselect_range_vfunc (guint position, guint n_items) |
virtual bool | select_all_vfunc () |
virtual bool | unselect_all_vfunc () |
virtual bool | set_selection_vfunc (const Glib::RefPtr< const Bitset > &selected, const Glib::RefPtr< const Bitset > &mask) |
Related Symbols | |
(Note that these are not member symbols.) | |
Glib::RefPtr< Gtk::SingleSelection > | wrap (GtkSingleSelection *object, bool take_copy=false) |
A Glib::wrap() method for this object. | |
Related Symbols inherited from Gtk::SelectionModel | |
Glib::RefPtr< Gtk::SelectionModel > | wrap (GtkSelectionModel *object, bool take_copy=false) |
A Glib::wrap() method for this object. | |
A selection model that allows selecting a single item.
Gtk::SingleSelection is an implementation of the Gtk::SelectionModel interface that allows selecting a single element. It is the default selection method used by list widgets in GTK.
Note that the selection is persistent – if the selected item is removed and re-added in the same Gio::ListModel::signal_items_changed() emission, it stays selected. In particular, this means that changing the sort order of an underlying sort model will preserve the selection.
|
noexcept |
|
overridenoexcept |
|
protected |
|
explicitprotected |
|
static |
|
static |
bool Gtk::SingleSelection::get_autoselect | ( | ) | const |
Checks if autoselect has been enabled or disabled via set_autoselect().
true
if autoselect is enabled. bool Gtk::SingleSelection::get_can_unselect | ( | ) | const |
If true
, Gtk::SelectionModel::unselect_item() is supported and allows unselecting the selected item.
true
to support unselecting. Glib::RefPtr< Gio::ListModel > Gtk::SingleSelection::get_model | ( | ) |
Gets the model that self is wrapping.
Glib::RefPtr< const Gio::ListModel > Gtk::SingleSelection::get_model | ( | ) | const |
Gets the model that self is wrapping.
guint Gtk::SingleSelection::get_selected | ( | ) | const |
Gets the position of the selected item.
If no item is selected, GTK_INVALID_LIST_POSITION is returned.
Glib::RefPtr< Glib::ObjectBase > Gtk::SingleSelection::get_selected_item | ( | ) |
Gets the selected item.
If no item is selected, nullptr
is returned.
Glib::RefPtr< const Glib::ObjectBase > Gtk::SingleSelection::get_selected_item | ( | ) | const |
Gets the selected item.
If no item is selected, nullptr
is returned.
|
static |
Get the GType for this class, for use with the underlying GObject type system.
|
inline |
Provides access to the underlying C GObject.
|
inline |
Provides access to the underlying C GObject.
GtkSingleSelection * Gtk::SingleSelection::gobj_copy | ( | ) |
Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs.
|
noexcept |
Glib::PropertyProxy< bool > Gtk::SingleSelection::property_autoselect | ( | ) |
If the selection will always select an item.
Default value: true
Glib::PropertyProxy_ReadOnly< bool > Gtk::SingleSelection::property_autoselect | ( | ) | const |
If the selection will always select an item.
Default value: true
Glib::PropertyProxy< bool > Gtk::SingleSelection::property_can_unselect | ( | ) |
If unselecting the selected item is allowed.
Default value: false
Glib::PropertyProxy_ReadOnly< bool > Gtk::SingleSelection::property_can_unselect | ( | ) | const |
If unselecting the selected item is allowed.
Default value: false
Glib::PropertyProxy_ReadOnly< GType > Gtk::SingleSelection::property_item_type | ( | ) | const |
The type of items.
See Gio::ListModel::get_item_type().
Glib::PropertyProxy< Glib::RefPtr< Gio::ListModel > > Gtk::SingleSelection::property_model | ( | ) |
The model being managed.
Glib::PropertyProxy_ReadOnly< Glib::RefPtr< Gio::ListModel > > Gtk::SingleSelection::property_model | ( | ) | const |
The model being managed.
Glib::PropertyProxy_ReadOnly< unsigned int > Gtk::SingleSelection::property_n_items | ( | ) | const |
The number of items.
See Gio::ListModel::get_n_items().
Default value: 0
Glib::PropertyProxy< guint > Gtk::SingleSelection::property_selected | ( | ) |
Position of the selected item.
Default value: 4294967295
Glib::PropertyProxy_ReadOnly< guint > Gtk::SingleSelection::property_selected | ( | ) | const |
Position of the selected item.
Default value: 4294967295
Glib::PropertyProxy_ReadOnly< Glib::RefPtr< Glib::ObjectBase > > Gtk::SingleSelection::property_selected_item | ( | ) | const |
The selected item.
Enables or disables autoselect.
If autoselect is true
, self will enforce that an item is always selected. It will select a new item when the currently selected item is deleted and it will disallow unselecting the current item.
autoselect | true to always select an item. |
If true
, unselecting the current item via Gtk::SelectionModel::unselect_item() is supported.
Note that setting property_autoselect() will cause unselecting to not work, so it practically makes no sense to set both at the same time the same time.
can_unselect | true to allow unselecting. |
Sets the model that self should wrap.
If model is nullptr
, self will be empty.
model | A Gio::ListModel to wrap. |
void Gtk::SingleSelection::set_selected | ( | guint | position | ) |
Selects the item at the given position.
If the list does not have an item at position or GTK_INVALID_LIST_POSITION is given, the behavior depends on the value of the property_autoselect() property: If it is set, no change will occur and the old item will stay selected. If it is unset, the selection will be unset and no item will be selected. This also applies if property_can_unselect() is set to false
.
position | The item to select or GTK_INVALID_LIST_POSITION. |
|
related |
A Glib::wrap() method for this object.
object | The C instance. |
take_copy | False if the result should take ownership of the C instance. True if it should take a new copy or ref. |