Struct gtk4::TreeSelection

source ·
#[repr(transparent)]
pub struct TreeSelection { /* private fields */ }
Expand description

Use SelectionModel instead The selection object for GtkTreeView

The TreeSelection object is a helper object to manage the selection for a TreeView widget. The TreeSelection object is automatically created when a new TreeView widget is created, and cannot exist independently of this widget. The primary reason the TreeSelection objects exists is for cleanliness of code and API. That is, there is no conceptual reason all these functions could not be methods on the TreeView widget instead of a separate function.

The TreeSelection object is gotten from a TreeView by calling gtk_tree_view_get_selection(). It can be manipulated to check the selection status of the tree, as well as select and deselect individual rows. Selection is done completely view side. As a result, multiple views of the same model can have completely different selections. Additionally, you cannot change the selection of a row on the model that is not currently displayed by the view without expanding its parents first.

One of the important things to remember when monitoring the selection of a view is that the TreeSelection::changed signal is mostly a hint. That is, it may only emit one signal when a range of rows is selected. Additionally, it may on occasion emit a TreeSelection::changed signal when nothing has happened (mostly as a result of programmers calling select_row on an already selected row).

Implements

glib::ObjectExt

Implementations§

Returns the number of rows that have been selected in @tree.

Deprecated since 4.10

Use GtkListView or GtkColumnView

Returns

The number of rows selected.

Gets the selection mode for @self. See gtk_tree_selection_set_mode().

Deprecated since 4.10

Use GtkListView or GtkColumnView

Returns

the current selection mode

Sets @iter to the currently selected node if @self is set to SelectionMode::Single or SelectionMode::Browse. @iter may be NULL if you just want to test if @self has any selected nodes. @model is filled with the current model as a convenience. This function will not work if you use @self is SelectionMode::Multiple.

Deprecated since 4.10

Use GtkListView or GtkColumnView

Returns

TRUE, if there is a selected node.

model

A pointer to set to the TreeModel

iter

The TreeIter

Creates a list of path of all selected rows. Additionally, if you are planning on modifying the model after calling this function, you may want to convert the returned list into a list of TreeRowReferences. To do this, you can use gtk_tree_row_reference_new().

To free the return value, use:

⚠️ The following code is in C ⚠️

g_list_free_full (list, (GDestroyNotify) gtk_tree_path_free);
Deprecated since 4.10

Use GtkListView or GtkColumnView

Returns

A GList containing a TreePath for each selected row.

model

A pointer to set to the TreeModel

Returns the tree view associated with @self.

Deprecated since 4.10

Use GtkListView or GtkColumnView

Returns

A TreeView

Returns true if the row at @iter is currently selected.

Deprecated since 4.10

Use GtkListView or GtkColumnView

iter

A valid TreeIter

Returns

true, if @iter is selected

Returns true if the row pointed to by @path is currently selected. If @path does not point to a valid location, false is returned

Deprecated since 4.10

Use GtkListView or GtkColumnView

path

A TreePath to check selection on.

Returns

true if @path is selected.

Selects all the nodes. @self must be set to SelectionMode::Multiple mode.

Deprecated since 4.10

Use GtkListView or GtkColumnView

Selects the specified iterator.

Deprecated since 4.10

Use GtkListView or GtkColumnView

iter

The TreeIter to be selected.

Select the row at @path.

Deprecated since 4.10

Use GtkListView or GtkColumnView

path

The TreePath to be selected.

Selects a range of nodes, determined by @start_path and @end_path inclusive. @self must be set to SelectionMode::Multiple mode.

Deprecated since 4.10

Use GtkListView or GtkColumnView

start_path

The initial node of the range.

end_path

The final node of the range.

Calls a function for each selected node. Note that you cannot modify the tree or selection from within this function. As a result, gtk_tree_selection_get_selected_rows() might be more useful.

Deprecated since 4.10

Use GtkListView or GtkColumnView

func

The function to call for each selected node.

Sets the selection mode of the @self. If the previous type was SelectionMode::Multiple, then the anchor is kept selected, if it was previously selected.

Deprecated since 4.10

Use GtkListView or GtkColumnView

type_

The selection mode

Sets the selection function.

If set, this function is called before any node is selected or unselected, giving some control over which nodes are selected. The select function should return true if the state of the node may be toggled, and false if the state of the node should be left unchanged.

Deprecated since 4.10

Use GtkListView or GtkColumnView

func

The selection function. May be None

Unselects all the nodes.

Deprecated since 4.10

Use GtkListView or GtkColumnView

Unselects the specified iterator.

Deprecated since 4.10

Use GtkListView or GtkColumnView

iter

The TreeIter to be unselected.

Unselects the row at @path.

Deprecated since 4.10

Use GtkListView or GtkColumnView

path

The TreePath to be unselected.

Unselects a range of nodes, determined by @start_path and @end_path inclusive.

Deprecated since 4.10

Use GtkListView or GtkColumnView

start_path

The initial node of the range.

end_path

The initial node of the range.

Emitted whenever the selection has (possibly) changed. Please note that this signal is mostly a hint. It may only be emitted once when a range of rows are selected, and it may occasionally be emitted when nothing has happened.

Trait Implementations§

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Formats the value using the given formatter. Read more
Feeds this value into the given Hasher. Read more
Feeds a slice of this type into the given Hasher. Read more
This method returns an Ordering between self and other. Read more
Compares and returns the maximum of two values. Read more
Compares and returns the minimum of two values. Read more
Restrict a value to a certain interval. Read more
This method tests for self and other values to be equal, and is used by ==.
This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
This method returns an ordering between self and other values if one exists. Read more
This method tests less than (for self and other) and is used by the < operator. Read more
This method tests less than or equal to (for self and other) and is used by the <= operator. Read more
This method tests greater than (for self and other) and is used by the > operator. Read more
This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
Returns the type identifier of Self.

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more
Upcasts an object to a superclass or interface T. Read more
Upcasts an object to a reference of its superclass or interface T. Read more
Tries to downcast to a subclass or interface implementor T. Read more
Tries to downcast to a reference of its subclass or interface implementor T. Read more
Tries to cast to an object of type T. This handles upcasting, downcasting and casting between interface and interface implementors. All checks are performed at runtime, while downcast and upcast will do many checks at compile-time already. Read more
Tries to cast to reference to an object of type T. This handles upcasting, downcasting and casting between interface and interface implementors. All checks are performed at runtime, while downcast and upcast will do many checks at compile-time already. Read more
Casts to T unconditionally. Read more
Casts to &T unconditionally. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Returns true if the object is an instance of (can be cast to) T.
Returns the type of the object.
Returns the ObjectClass of the object. Read more
Returns the class of the object.
Returns the class of the object in the given type T. Read more
Returns the interface T of the object. Read more
Sets the property property_name of the object to value value. Read more
Sets the property property_name of the object to value value. Read more
Sets multiple properties of the object at once. Read more
Sets multiple properties of the object at once. Read more
Gets the property property_name of the object and cast it to the type V. Read more
Gets the property property_name of the object. Read more
Check if the object has a property property_name of the given type_. Read more
Get the type of the property property_name of this object. Read more
Get the ParamSpec of the property property_name of this object.
Return all ParamSpec of the properties of this object.
Freeze all property notifications until the return guard object is dropped. Read more
Set arbitrary data on this object with the given key. Read more
Return previously set arbitrary data of this object with the given key. Read more
Retrieve previously set arbitrary data of this object with the given key. Read more
Set arbitrary data on this object with the given key. Read more
Return previously set arbitrary data of this object with the given key. Read more
Retrieve previously set arbitrary data of this object with the given key. Read more
Block a given signal handler. Read more
Unblock a given signal handler.
Stop emission of the currently emitted signal.
Stop emission of the currently emitted signal by the (possibly detailed) signal name.
Connect to the signal signal_name on this object. Read more
Connect to the signal signal_id on this object. Read more
Connect to the signal signal_name on this object. Read more
Connect to the signal signal_id on this object. Read more
Connect to the signal signal_name on this object. Read more
Connect to the signal signal_id on this object. Read more
Connect a closure to the signal signal_name on this object. Read more
Connect a closure to the signal signal_id on this object. Read more
Limits the lifetime of closure to the lifetime of the object. When the object’s reference count drops to zero, the closure will be invalidated. An invalidated closure will ignore any calls to invoke_with_values, or invoke when using Rust closures.
Emit signal by signal id. Read more
Same as Self::emit but takes Value for the arguments.
Emit signal by its name. Read more
Emit signal by its name. Read more
Emit signal by its name with details. Read more
Emit signal by its name with details. Read more
Emit signal by signal id with details. Read more
Emit signal by signal id with details. Read more
Disconnect a previously connected signal handler.
Connect to the notify signal of the object. Read more
Connect to the notify signal of the object. Read more
Connect to the notify signal of the object. Read more
Notify that the given property has changed its value. Read more
Notify that the given property has changed its value. Read more
Downgrade this object to a weak reference.
Add a callback to be notified when the Object is disposed.
Add a callback to be notified when the Object is disposed. Read more
Bind property source_property on this object to the target_property on the target object. Read more
Returns the strong reference count of this object.
Runs the dispose mechanism of the object. Read more
Ensures that the type has been registered with the type system.
The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
Converts the given value to a String. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.