Struct gtk4::TreeSelection[][src]

pub struct TreeSelection(_);
Expand description

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 TreeViewExt::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.

Returns

The number of rows selected.

Gets the selection mode for self. See set_mode().

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.

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 TreeRowReference::new().

To free the return value, use:

⚠️ The following code is in C ⚠️

g_list_free_full (list, (GDestroyNotify) gtk_tree_path_free);
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.

Returns

A TreeView

Returns true if the row at iter is currently selected.

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

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.

Selects the specified iterator.

iter

The TreeIter to be selected.

Select the row at path.

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.

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, selected_rows() might be more useful.

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.

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.

func

The selection function. May be None

Unselects all the nodes.

Unselects the specified iterator.

iter

The TreeIter to be unselected.

Unselects the row at path.

path

The TreePath to be unselected.

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

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 ==. Read more

This method tests for !=.

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

Performs the conversion.

Performs the conversion.

Returns true if the object is an instance of (can be cast to) T.

Safety Read more

Safety Read more

Safety Read more

Safety Read more

Safety Read more

Safety Read more

Same as connect but takes a SignalId instead of a signal name.

Same as connect_local but takes a SignalId instead of a signal name.

Same as connect_unsafe but takes a SignalId instead of a signal name.

Emit signal by signal id.

Same as emit but takes Value for the arguments.

Emit signal by its name.

Same as emit_by_name but takes Value for the arguments.

Emit signal with details by signal id.

Same as emit_with_details but takes Value for the arguments.

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

Uses borrowed data to replace owned data, usually by cloning. Read more

Returns a SendValue clone of self.

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.