class Gtk::SingleSelection
- Gtk::SingleSelection
- GObject::Object
- Reference
- Object
Overview
Gtk::SingleSelection
is a Gtk::SelectionModel
that allows selecting a single
item.
Note that the selection is persistent -- if the selected item is removed and re-added in the same [signal@Gio.ListModel::items-changed] emission, it stays selected. In particular, this means that changing the sort order of an underlying sort model will preserve the selection.
Included Modules
Defined in:
lib/gi-crystal/src/auto/gtk-4.0/single_selection.crConstructors
-
.new(model : Gio::ListModel?) : self
Creates a new selection to handle @model.
-
.new
Initialize a new
SingleSelection
. - .new(*, autoselect : Bool? = nil, can_unselect : Bool? = nil, item_type : UInt64? = nil, model : Gio::ListModel? = nil, n_items : UInt32? = nil, selected : UInt32? = nil, selected_item : GObject::Object? = nil)
Class Method Summary
-
.g_type : UInt64
Returns the type id (GType) registered in GLib type system.
Instance Method Summary
-
#autoselect : Bool
Checks if autoselect has been enabled or disabled via gtk_single_selection_set_autoselect().
-
#autoselect=(autoselect : Bool) : Nil
Enables or disables autoselect.
- #autoselect? : Bool
-
#can_unselect : Bool
If
true
, gtk_selection_model_unselect_item() is supported and allows unselecting the selected item. -
#can_unselect=(can_unselect : Bool) : Nil
If
true
, unselecting the current item via gtk_selection_model_unselect_item() is supported. - #can_unselect? : Bool
- #item_type : UInt64
-
#model : Gio::ListModel?
Gets the model that @self is wrapping.
-
#model=(model : Gio::ListModel?) : Nil
Sets the model that @self should wrap.
- #n_items : UInt32
-
#selected : UInt32
Gets the position of the selected item.
-
#selected=(position : UInt32) : Nil
Selects the item at the given position.
-
#selected_item : GObject::Object?
Gets the selected item.
Instance methods inherited from module Gtk::SelectionModel
is_selected(position : UInt32) : Bool
is_selected,
select_all : Bool
select_all,
select_item(position : UInt32, unselect_rest : Bool) : Bool
select_item,
select_range(position : UInt32, n_items : UInt32, unselect_rest : Bool) : Bool
select_range,
selection : Gtk::Bitset
selection,
selection_changed(position : UInt32, n_items : UInt32) : Nil
selection_changed,
selection_changed_signal
selection_changed_signal,
selection_in_range(position : UInt32, n_items : UInt32) : Gtk::Bitset
selection_in_range,
set_selection(selected : Gtk::Bitset, mask : Gtk::Bitset) : Bool
set_selection,
to_unsafe
to_unsafe,
unselect_all : Bool
unselect_all,
unselect_item(position : UInt32) : Bool
unselect_item,
unselect_range(position : UInt32, n_items : UInt32) : Bool
unselect_range
Class methods inherited from module Gtk::SelectionModel
g_type : UInt64
g_type
Instance methods inherited from module Gio::ListModel
item(position : UInt32) : GObject::Object?
item,
item_type : UInt64
item_type,
items_changed(position : UInt32, removed : UInt32, added : UInt32) : Nil
items_changed,
items_changed_signal
items_changed_signal,
n_items : UInt32
n_items,
to_unsafe
to_unsafe
Class methods inherited from module Gio::ListModel
g_type : UInt64
g_type
Instance methods inherited from class GObject::Object
bind_property(source_property : String, target : GObject::Object, target_property : String, flags : GObject::BindingFlags) : GObject::Binding
bind_property,
bind_property_full(source_property : String, target : GObject::Object, target_property : String, flags : GObject::BindingFlags, transform_to : GObject::Closure, transform_from : GObject::Closure) : GObject::Binding
bind_property_full,
data(key : String) : Pointer(Void)?
data,
finalize
finalize,
freeze_notify : Nil
freeze_notify,
getv(names : Enumerable(String), values : Enumerable(_)) : Nil
getv,
notify(property_name : String) : Nil
notify,
notify_by_pspec(pspec : GObject::ParamSpec) : Nil
notify_by_pspec,
notify_signal
notify_signal,
property(property_name : String, value : _) : Nil
property,
qdata(quark : UInt32) : Pointer(Void)?
qdata,
ref_count : UInt32
ref_count,
run_dispose : Nil
run_dispose,
set_data(key : String, data : Pointer(Void)?) : Nil
set_data,
set_property(property_name : String, value : _) : Nil
set_property,
steal_data(key : String) : Pointer(Void)?
steal_data,
steal_qdata(quark : UInt32) : Pointer(Void)?
steal_qdata,
thaw_notify : Nil
thaw_notify,
to_unsafe : Pointer(Void)
to_unsafe,
watch_closure(closure : GObject::Closure) : Nil
watch_closure
Constructor methods inherited from class GObject::Object
cast(obj : GObject::Object) : self
cast,
cast?(obj : GObject::Object) : self?
cast?,
new(pointer : Pointer(Void), transfer : GICrystal::Transfer)new new, newv(object_type : UInt64, parameters : Enumerable(GObject::Parameter)) : self newv
Class methods inherited from class GObject::Object
compat_control(what : UInt64, data : Pointer(Void)?) : UInt64
compat_control,
g_type : UInt64
g_type,
interface_find_property(g_iface : GObject::TypeInterface, property_name : String) : GObject::ParamSpec
interface_find_property,
interface_list_properties(g_iface : GObject::TypeInterface) : Enumerable(GObject::ParamSpec)
interface_list_properties
Constructor Detail
Class Method Detail
Instance Method Detail
Checks if autoselect has been enabled or disabled via gtk_single_selection_set_autoselect().
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.
If true
, gtk_selection_model_unselect_item() is supported and allows
unselecting the selected item.
If true
, unselecting the current item via
gtk_selection_model_unselect_item() is supported.
Note that setting Gtk::SingleSelection#autoselect
will
cause unselecting to not work, so it practically makes no sense
to set both at the same time the same time.
Sets the model that @self should wrap.
If @model is nil
, @self will be empty.
Gets the position of the selected item.
If no item is selected, %GTK_INVALID_LIST_POSITION is returned.
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 Gtk::SingleSelection#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.
Gets the selected item.
If no item is selected, nil
is returned.