Struct gtk4::ListBox

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

ListBox is a vertical list.

A ListBox only contains ListBoxRow children. These rows can by dynamically sorted and filtered, and headers can be added dynamically depending on the row content. It also allows keyboard and mouse navigation and selection like a typical list.

Using ListBox is often an alternative to TreeView, especially when the list contents has a more complicated layout than what is allowed by a CellRenderer, or when the contents is interactive (i.e. has a button in it).

Although a ListBox must have only ListBoxRow children, you can add any kind of widget to it via prepend(), append() and insert() and a ListBoxRow widget will automatically be inserted between the list and the widget.

GtkListBoxRows can be marked as activatable or selectable. If a row is activatable, signal::ListBox::row-activated will be emitted for it when the user tries to activate it. If it is selectable, the row will be marked as selected when the user tries to select it.

GtkListBox as GtkBuildable

The ListBox implementation of the Buildable interface supports setting a child as the placeholder by specifying “placeholder” as the “type” attribute of a element. See set_placeholder() for info.

CSS nodes

⚠️ The following code is in plain ⚠️

list[.separators][.rich-list][.navigation-sidebar]
╰── row[.activatable]

ListBox uses a single CSS node named list. It may carry the .separators style class, when the property::ListBox::show-separators property is set. Each ListBoxRow uses a single CSS node named row. The row nodes get the .activatable style class added when appropriate.

The main list node may also carry style classes to select the style of list presentation: .rich-list, .navigation-sidebar or .data-table.

Accessibility

ListBox uses the AccessibleRole::List role and ListBoxRow uses the AccessibleRole::ListItem role.

Implements

WidgetExt, glib::ObjectExt, AccessibleExt, BuildableExt, ConstraintTargetExt, WidgetExtManual, AccessibleExtManual

Implementations§

source§

impl ListBox

source

pub fn new() -> ListBox

Creates a new ListBox container.

Returns

a new ListBox

source

pub fn builder() -> ListBoxBuilder

Creates a new builder-pattern struct instance to construct ListBox objects.

This method returns an instance of ListBoxBuilder which can be used to create ListBox objects.

source

pub fn append(&self, child: &impl IsA<Widget>)

Append a widget to the list.

If a sort function is set, the widget will actually be inserted at the calculated position.

child

the Widget to add

source

pub fn bind_model<P: Fn(&Object) -> Widget + 'static>( &self, model: Option<&impl IsA<ListModel>>, create_widget_func: P )

Binds @model to @self.

If @self was already bound to a model, that previous binding is destroyed.

The contents of @self are cleared and then filled with widgets that represent items from @model. @self is updated whenever @model changes. If @model is None, @self is left empty.

It is undefined to add or remove widgets directly (for example, with insert()) while @self is bound to a model.

Note that using a model is incompatible with the filtering and sorting functionality in ListBox. When using a model, filtering and sorting should be implemented by the model.

model

the GListModel to be bound to @self

create_widget_func

a function that creates widgets for items or None in case you also passed None as @model

source

pub fn drag_highlight_row(&self, row: &impl IsA<ListBoxRow>)

Add a drag highlight to a row.

This is a helper function for implementing DnD onto a ListBox. The passed in @row will be highlighted by setting the StateFlags::DROP_ACTIVE state and any previously highlighted row will be unhighlighted.

The row will also be unhighlighted when the widget gets a drag leave event.

row

a ListBoxRow

source

pub fn drag_unhighlight_row(&self)

If a row has previously been highlighted via gtk_list_box_drag_highlight_row(), it will have the highlight removed.

source

pub fn activates_on_single_click(&self) -> bool

Returns whether rows activate on single clicks.

Returns

true if rows are activated on single click, false otherwise

source

pub fn adjustment(&self) -> Option<Adjustment>

Gets the adjustment (if any) that the widget uses to for vertical scrolling.

Returns

the adjustment

source

pub fn row_at_index(&self, index_: i32) -> Option<ListBoxRow>

Gets the n-th child in the list (not counting headers).

If @index_ is negative or larger than the number of items in the list, None is returned.

index_

the index of the row

Returns

the child Widget

source

pub fn row_at_y(&self, y: i32) -> Option<ListBoxRow>

Gets the row at the @y position.

y

position

Returns

the row

source

pub fn selected_row(&self) -> Option<ListBoxRow>

Gets the selected row, or None if no rows are selected.

Note that the box may allow multiple selection, in which case you should use selected_foreach() to find all selected rows.

Returns

the selected row

source

pub fn selected_rows(&self) -> Vec<ListBoxRow>

Creates a list of all selected children.

Returns

A GList containing the Widget for each selected child. Free with g_list_free() when done.

source

pub fn selection_mode(&self) -> SelectionMode

Gets the selection mode of the listbox.

Returns

a SelectionMode

source

pub fn shows_separators(&self) -> bool

Returns whether the list box should show separators between rows.

Returns

true if the list box shows separators

source

pub fn insert(&self, child: &impl IsA<Widget>, position: i32)

Insert the @child into the @self at @position.

If a sort function is set, the widget will actually be inserted at the calculated position.

If @position is -1, or larger than the total number of items in the @self, then the @child will be appended to the end.

child

the Widget to add

position

the position to insert @child in

source

pub fn invalidate_filter(&self)

Update the filtering for all rows.

Call this when result of the filter function on the @self is changed due to an external factor. For instance, this would be used if the filter function just looked for a specific search string and the entry with the search string has changed.

source

pub fn invalidate_headers(&self)

Update the separators for all rows.

Call this when result of the header function on the @self is changed due to an external factor.

source

pub fn invalidate_sort(&self)

Update the sorting for all rows.

Call this when result of the sort function on the @self is changed due to an external factor.

source

pub fn prepend(&self, child: &impl IsA<Widget>)

Prepend a widget to the list.

If a sort function is set, the widget will actually be inserted at the calculated position.

child

the Widget to add

source

pub fn remove(&self, child: &impl IsA<Widget>)

Removes a child from @self.

child

the child to remove

source

pub fn select_all(&self)

Select all children of @self, if the selection mode allows it.

source

pub fn select_row(&self, row: Option<&impl IsA<ListBoxRow>>)

Make @row the currently selected row.

row

The row to select

source

pub fn selected_foreach<P: FnMut(&ListBox, &ListBoxRow)>(&self, func: P)

Calls a function for each selected child.

Note that the selection cannot be modified from within this function.

func

the function to call for each selected child

source

pub fn set_activate_on_single_click(&self, single: bool)

If @single is true, rows will be activated when you click on them, otherwise you need to double-click.

single

a boolean

source

pub fn set_adjustment(&self, adjustment: Option<&impl IsA<Adjustment>>)

Sets the adjustment (if any) that the widget uses to for vertical scrolling.

For instance, this is used to get the page size for PageUp/Down key handling.

In the normal case when the @self is packed inside a ScrolledWindow the adjustment from that will be picked up automatically, so there is no need to manually do that.

adjustment

the adjustment

source

pub fn set_filter_func<P: Fn(&ListBoxRow) -> bool + 'static>( &self, filter_func: P )

By setting a filter function on the @self one can decide dynamically which of the rows to show.

For instance, to implement a search function on a list that filters the original list to only show the matching rows.

The @filter_func will be called for each row after the call, and it will continue to be called each time a row changes (via ListBoxRowExt::changed()) or when invalidate_filter() is called.

Note that using a filter function is incompatible with using a model (see bind_model()).

filter_func

callback that lets you filter which rows to show

source

pub fn set_header_func<P: Fn(&ListBoxRow, Option<&ListBoxRow>) + 'static>( &self, update_header: P )

Sets a header function.

By setting a header function on the @self one can dynamically add headers in front of rows, depending on the contents of the row and its position in the list.

For instance, one could use it to add headers in front of the first item of a new kind, in a list sorted by the kind.

The @update_header can look at the current header widget using ListBoxRowExt::header() and either update the state of the widget as needed, or set a new one using ListBoxRowExt::set_header(). If no header is needed, set the header to None.

Note that you may get many calls @update_header to this for a particular row when e.g. changing things that don’t affect the header. In this case it is important for performance to not blindly replace an existing header with an identical one.

The @update_header function will be called for each row after the call, and it will continue to be called each time a row changes (via ListBoxRowExt::changed()) and when the row before changes (either by ListBoxRowExt::changed() on the previous row, or when the previous row becomes a different row). It is also called for all rows when invalidate_headers() is called.

update_header

callback that lets you add row headers

source

pub fn set_placeholder(&self, placeholder: Option<&impl IsA<Widget>>)

Sets the placeholder widget that is shown in the list when it doesn’t display any visible children.

placeholder

a Widget

source

pub fn set_selection_mode(&self, mode: SelectionMode)

Sets how selection works in the listbox.

mode

The SelectionMode

source

pub fn set_show_separators(&self, show_separators: bool)

Sets whether the list box should show separators between rows.

show_separators

true to show separators

source

pub fn unselect_all(&self)

Unselect all children of @self, if the selection mode allows it.

source

pub fn unselect_row(&self, row: &impl IsA<ListBoxRow>)

Unselects a single row of @self, if the selection mode allows it.

row

the row to unselected

source

pub fn accepts_unpaired_release(&self) -> bool

Whether to accept unpaired release events.

source

pub fn set_accept_unpaired_release(&self, accept_unpaired_release: bool)

Whether to accept unpaired release events.

source

pub fn connect_activate_cursor_row<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId

source

pub fn emit_activate_cursor_row(&self)

source

pub fn connect_move_cursor<F: Fn(&Self, MovementStep, i32, bool, bool) + 'static>( &self, f: F ) -> SignalHandlerId

source

pub fn emit_move_cursor( &self, object: MovementStep, p0: i32, p1: bool, p2: bool )

source

pub fn connect_row_activated<F: Fn(&Self, &ListBoxRow) + 'static>( &self, f: F ) -> SignalHandlerId

Emitted when a row has been activated by the user.

row

the activated row

source

pub fn connect_row_selected<F: Fn(&Self, Option<&ListBoxRow>) + 'static>( &self, f: F ) -> SignalHandlerId

Emitted when a new row is selected, or (with a None @row) when the selection is cleared.

When the @box_ is using SelectionMode::Multiple, this signal will not give you the full picture of selection changes, and you should use the signal::ListBox::selected-rows-changed signal instead.

row

the selected row

source

pub fn connect_select_all<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId

Emitted to select all children of the box, if the selection mode permits it.

This is a keybinding signal.

The default binding for this signal is Ctrl-a.

source

pub fn emit_select_all(&self)

source

pub fn connect_selected_rows_changed<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId

Emitted when the set of selected rows changes.

source

pub fn connect_toggle_cursor_row<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId

source

pub fn emit_toggle_cursor_row(&self)

source

pub fn connect_unselect_all<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId

Emitted to unselect all children of the box, if the selection mode permits it.

This is a keybinding signal.

The default binding for this signal is Ctrl-Shift-a.

source

pub fn emit_unselect_all(&self)

source

pub fn connect_accept_unpaired_release_notify<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId

source

pub fn connect_activate_on_single_click_notify<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId

source

pub fn connect_selection_mode_notify<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId

source

pub fn connect_show_separators_notify<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId

source§

impl ListBox

source

pub fn unbind_model(&self)

source

pub fn unset_filter_func(&self)

source

pub fn unset_header_func(&self)

source

pub fn set_sort_func<P: Fn(&ListBoxRow, &ListBoxRow) -> Ordering + 'static>( &self, sort_func: P )

Sets a sort function.

By setting a sort function on the @self one can dynamically reorder the rows of the list, based on the contents of the rows.

The @sort_func will be called for each row after the call, and will continue to be called each time a row changes (via ListBoxRowExt::changed()) and when invalidate_sort() is called.

Note that using a sort function is incompatible with using a model (see bind_model()).

sort_func

the sort function

source

pub fn unset_sort_func(&self)

Trait Implementations§

source§

impl Clone for ListBox

source§

fn clone(&self) -> Self

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for ListBox

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for ListBox

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl Display for ListBox

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Hash for ListBox

source§

fn hash<H>(&self, state: &mut H)where H: Hasher,

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl Ord for ListBox

source§

fn cmp(&self, other: &Self) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere Self: Sized + PartialOrd<Self>,

Restrict a value to a certain interval. Read more
source§

impl ParentClassIs for ListBox

source§

impl<OT: ObjectType> PartialEq<OT> for ListBox

source§

fn eq(&self, other: &OT) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl<OT: ObjectType> PartialOrd<OT> for ListBox

source§

fn partial_cmp(&self, other: &OT) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

fn lt(&self, other: &Rhs) -> bool

This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

fn le(&self, other: &Rhs) -> bool

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
source§

impl StaticType for ListBox

source§

fn static_type() -> Type

Returns the type identifier of Self.
source§

impl Eq for ListBox

source§

impl IsA<Accessible> for ListBox

source§

impl IsA<Buildable> for ListBox

source§

impl IsA<ConstraintTarget> for ListBox

source§

impl IsA<Widget> for ListBox

Auto Trait Implementations§

Blanket Implementations§

source§

impl<O> AccessibleExtManual for Owhere O: IsA<Accessible>,

source§

fn update_property(&self, properties: &[Property<'_>])

Updates an array of accessible properties. Read more
source§

fn update_relation(&self, relations: &[Relation<'_>])

Updates an array of accessible relations. Read more
source§

fn update_state(&self, states: &[State])

Updates an array of accessible states. Read more
source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> Cast for Twhere T: ObjectType,

source§

fn upcast<T>(self) -> Twhere T: ObjectType, Self: IsA<T>,

Upcasts an object to a superclass or interface T. Read more
source§

fn upcast_ref<T>(&self) -> &Twhere T: ObjectType, Self: IsA<T>,

Upcasts an object to a reference of its superclass or interface T. Read more
source§

fn downcast<T>(self) -> Result<T, Self>where T: ObjectType, Self: CanDowncast<T>,

Tries to downcast to a subclass or interface implementor T. Read more
source§

fn downcast_ref<T>(&self) -> Option<&T>where T: ObjectType, Self: CanDowncast<T>,

Tries to downcast to a reference of its subclass or interface implementor T. Read more
source§

fn dynamic_cast<T>(self) -> Result<T, Self>where T: ObjectType,

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
source§

fn dynamic_cast_ref<T>(&self) -> Option<&T>where T: ObjectType,

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
source§

unsafe fn unsafe_cast<T>(self) -> Twhere T: ObjectType,

Casts to T unconditionally. Read more
source§

unsafe fn unsafe_cast_ref<T>(&self) -> &Twhere T: ObjectType,

Casts to &T unconditionally. Read more
source§

impl<T> From<T> for T

const: unstable · source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GList> for Twhere T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,

source§

impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GPtrArray> for Twhere T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,

source§

unsafe fn from_glib_none_num_as_vec( ptr: *const GPtrArray, num: usize ) -> Vec<T, Global>

source§

unsafe fn from_glib_container_num_as_vec( _: *const GPtrArray, _: usize ) -> Vec<T, Global>

source§

unsafe fn from_glib_full_num_as_vec( _: *const GPtrArray, _: usize ) -> Vec<T, Global>

source§

impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GSList> for Twhere T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,

source§

unsafe fn from_glib_none_num_as_vec( ptr: *const GSList, num: usize ) -> Vec<T, Global>

source§

unsafe fn from_glib_container_num_as_vec( _: *const GSList, _: usize ) -> Vec<T, Global>

source§

unsafe fn from_glib_full_num_as_vec( _: *const GSList, _: usize ) -> Vec<T, Global>

source§

impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GList> for Twhere T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,

source§

unsafe fn from_glib_none_num_as_vec( ptr: *mut GList, num: usize ) -> Vec<T, Global>

source§

unsafe fn from_glib_container_num_as_vec( ptr: *mut GList, num: usize ) -> Vec<T, Global>

source§

unsafe fn from_glib_full_num_as_vec( ptr: *mut GList, num: usize ) -> Vec<T, Global>

source§

impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GPtrArray> for Twhere T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,

source§

unsafe fn from_glib_none_num_as_vec( ptr: *mut GPtrArray, num: usize ) -> Vec<T, Global>

source§

unsafe fn from_glib_container_num_as_vec( ptr: *mut GPtrArray, num: usize ) -> Vec<T, Global>

source§

unsafe fn from_glib_full_num_as_vec( ptr: *mut GPtrArray, num: usize ) -> Vec<T, Global>

source§

impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GSList> for Twhere T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,

source§

unsafe fn from_glib_none_num_as_vec( ptr: *mut GSList, num: usize ) -> Vec<T, Global>

source§

unsafe fn from_glib_container_num_as_vec( ptr: *mut GSList, num: usize ) -> Vec<T, Global>

source§

unsafe fn from_glib_full_num_as_vec( ptr: *mut GSList, num: usize ) -> Vec<T, Global>

source§

impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GList> for Twhere T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,

source§

impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GPtrArray> for Twhere T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,

source§

unsafe fn from_glib_none_as_vec(ptr: *const GPtrArray) -> Vec<T, Global>

source§

unsafe fn from_glib_container_as_vec(_: *const GPtrArray) -> Vec<T, Global>

source§

unsafe fn from_glib_full_as_vec(_: *const GPtrArray) -> Vec<T, Global>

source§

impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GSList> for Twhere T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,

source§

impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GList> for Twhere T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,

source§

unsafe fn from_glib_none_as_vec(ptr: *mut GList) -> Vec<T, Global>

source§

unsafe fn from_glib_container_as_vec(ptr: *mut GList) -> Vec<T, Global>

source§

unsafe fn from_glib_full_as_vec(ptr: *mut GList) -> Vec<T, Global>

source§

impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GPtrArray> for Twhere T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,

source§

unsafe fn from_glib_none_as_vec(ptr: *mut GPtrArray) -> Vec<T, Global>

source§

unsafe fn from_glib_container_as_vec(ptr: *mut GPtrArray) -> Vec<T, Global>

source§

unsafe fn from_glib_full_as_vec(ptr: *mut GPtrArray) -> Vec<T, Global>

source§

impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GSList> for Twhere T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,

source§

unsafe fn from_glib_none_as_vec(ptr: *mut GSList) -> Vec<T, Global>

source§

unsafe fn from_glib_container_as_vec(ptr: *mut GSList) -> Vec<T, Global>

source§

unsafe fn from_glib_full_as_vec(ptr: *mut GSList) -> Vec<T, Global>

source§

impl<T, U> Into<U> for Twhere U: From<T>,

const: unstable · source§

fn into(self) -> U

Calls U::from(self).

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

source§

impl<U> IsSubclassableExt for Uwhere U: IsClass + ParentClassIs,

source§

impl<T> ObjectExt for Twhere T: ObjectType,

source§

fn is<U>(&self) -> boolwhere U: StaticType,

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

fn type_(&self) -> Type

Returns the type of the object.
source§

fn object_class(&self) -> &Class<Object>

Returns the ObjectClass of the object. Read more
source§

fn class(&self) -> &Class<T>where T: IsClass,

Returns the class of the object.
source§

fn class_of<U>(&self) -> Option<&Class<U>>where U: IsClass,

Returns the class of the object in the given type T. Read more
source§

fn interface<U>(&self) -> Option<InterfaceRef<'_, U>>where U: IsInterface,

Returns the interface T of the object. Read more
source§

fn try_set_property<V>( &self, property_name: &str, value: V ) -> Result<(), BoolError>where V: ToValue,

Similar to Self::set_property but fails instead of panicking.
source§

fn set_property<V>(&self, property_name: &str, value: V)where V: ToValue,

Sets the property property_name of the object to value value. Read more
source§

fn try_set_property_from_value( &self, property_name: &str, value: &Value ) -> Result<(), BoolError>

Similar to Self::set_property but fails instead of panicking.
source§

fn set_property_from_value(&self, property_name: &str, value: &Value)

Sets the property property_name of the object to value value. Read more
source§

fn try_set_properties( &self, property_values: &[(&str, &dyn ToValue)] ) -> Result<(), BoolError>

Similar to Self::set_properties but fails instead of panicking.
source§

fn set_properties(&self, property_values: &[(&str, &dyn ToValue)])

Sets multiple properties of the object at once. Read more
source§

fn try_set_properties_from_value( &self, property_values: &[(&str, Value)] ) -> Result<(), BoolError>

Similar to Self::set_properties_from_value but fails instead of panicking.
source§

fn set_properties_from_value(&self, property_values: &[(&str, Value)])

Sets multiple properties of the object at once. Read more
source§

fn try_property<V>(&self, property_name: &str) -> Result<V, BoolError>where V: for<'b> FromValue<'b> + 'static,

Similar to Self::property but fails instead of panicking.
source§

fn property<V>(&self, property_name: &str) -> Vwhere V: for<'b> FromValue<'b> + 'static,

Gets the property property_name of the object and cast it to the type V. Read more
source§

fn try_property_value(&self, property_name: &str) -> Result<Value, BoolError>

Similar to Self::property_value but fails instead of panicking.
source§

fn property_value(&self, property_name: &str) -> Value

Gets the property property_name of the object. Read more
source§

fn has_property(&self, property_name: &str, type_: Option<Type>) -> bool

Check if the object has a property property_name of the given type_. Read more
source§

fn property_type(&self, property_name: &str) -> Option<Type>

Get the type of the property property_name of this object. Read more
source§

fn find_property(&self, property_name: &str) -> Option<ParamSpec>

Get the ParamSpec of the property property_name of this object.
source§

fn list_properties(&self) -> PtrSlice<ParamSpec>

Return all ParamSpec of the properties of this object.
source§

fn freeze_notify(&self) -> PropertyNotificationFreezeGuard

Freeze all property notifications until the return guard object is dropped. Read more
source§

unsafe fn set_qdata<QD>(&self, key: Quark, value: QD)where QD: 'static,

Set arbitrary data on this object with the given key. Read more
source§

unsafe fn qdata<QD>(&self, key: Quark) -> Option<NonNull<QD>>where QD: 'static,

Return previously set arbitrary data of this object with the given key. Read more
source§

unsafe fn steal_qdata<QD>(&self, key: Quark) -> Option<QD>where QD: 'static,

Retrieve previously set arbitrary data of this object with the given key. Read more
source§

unsafe fn set_data<QD>(&self, key: &str, value: QD)where QD: 'static,

Set arbitrary data on this object with the given key. Read more
source§

unsafe fn data<QD>(&self, key: &str) -> Option<NonNull<QD>>where QD: 'static,

Return previously set arbitrary data of this object with the given key. Read more
source§

unsafe fn steal_data<QD>(&self, key: &str) -> Option<QD>where QD: 'static,

Retrieve previously set arbitrary data of this object with the given key. Read more
source§

fn block_signal(&self, handler_id: &SignalHandlerId)

Block a given signal handler. Read more
source§

fn unblock_signal(&self, handler_id: &SignalHandlerId)

Unblock a given signal handler.
source§

fn stop_signal_emission(&self, signal_id: SignalId, detail: Option<Quark>)

Stop emission of the currently emitted signal.
source§

fn stop_signal_emission_by_name(&self, signal_name: &str)

Stop emission of the currently emitted signal by the (possibly detailed) signal name.
source§

fn try_connect<F>( &self, signal_name: &str, after: bool, callback: F ) -> Result<SignalHandlerId, BoolError>where F: Fn(&[Value]) -> Option<Value> + Send + Sync + 'static,

Similar to Self::connect but fails instead of panicking.
source§

fn connect<F>( &self, signal_name: &str, after: bool, callback: F ) -> SignalHandlerIdwhere F: Fn(&[Value]) -> Option<Value> + Send + Sync + 'static,

Connect to the signal signal_name on this object. Read more
source§

fn try_connect_id<F>( &self, signal_id: SignalId, details: Option<Quark>, after: bool, callback: F ) -> Result<SignalHandlerId, BoolError>where F: Fn(&[Value]) -> Option<Value> + Send + Sync + 'static,

Similar to Self::connect_id but fails instead of panicking.
source§

fn connect_id<F>( &self, signal_id: SignalId, details: Option<Quark>, after: bool, callback: F ) -> SignalHandlerIdwhere F: Fn(&[Value]) -> Option<Value> + Send + Sync + 'static,

Connect to the signal signal_id on this object. Read more
source§

fn try_connect_local<F>( &self, signal_name: &str, after: bool, callback: F ) -> Result<SignalHandlerId, BoolError>where F: Fn(&[Value]) -> Option<Value> + 'static,

Similar to Self::connect_local but fails instead of panicking.
source§

fn connect_local<F>( &self, signal_name: &str, after: bool, callback: F ) -> SignalHandlerIdwhere F: Fn(&[Value]) -> Option<Value> + 'static,

Connect to the signal signal_name on this object. Read more
source§

fn try_connect_local_id<F>( &self, signal_id: SignalId, details: Option<Quark>, after: bool, callback: F ) -> Result<SignalHandlerId, BoolError>where F: Fn(&[Value]) -> Option<Value> + 'static,

Similar to Self::connect_local_id but fails instead of panicking.
source§

fn connect_local_id<F>( &self, signal_id: SignalId, details: Option<Quark>, after: bool, callback: F ) -> SignalHandlerIdwhere F: Fn(&[Value]) -> Option<Value> + 'static,

Connect to the signal signal_id on this object. Read more
source§

unsafe fn try_connect_unsafe<F>( &self, signal_name: &str, after: bool, callback: F ) -> Result<SignalHandlerId, BoolError>where F: Fn(&[Value]) -> Option<Value>,

Similar to Self::connect_unsafe but fails instead of panicking.
source§

unsafe fn connect_unsafe<F>( &self, signal_name: &str, after: bool, callback: F ) -> SignalHandlerIdwhere F: Fn(&[Value]) -> Option<Value>,

Connect to the signal signal_name on this object. Read more
source§

unsafe fn try_connect_unsafe_id<F>( &self, signal_id: SignalId, details: Option<Quark>, after: bool, callback: F ) -> Result<SignalHandlerId, BoolError>where F: Fn(&[Value]) -> Option<Value>,

Similar to Self::connect_unsafe_id but fails instead of panicking.
source§

fn try_connect_closure( &self, signal_name: &str, after: bool, closure: RustClosure ) -> Result<SignalHandlerId, BoolError>

Similar to Self::connect_closure but fails instead of panicking.
source§

fn connect_closure( &self, signal_name: &str, after: bool, closure: RustClosure ) -> SignalHandlerId

Connect a closure to the signal signal_name on this object. Read more
source§

fn try_connect_closure_id( &self, signal_id: SignalId, details: Option<Quark>, after: bool, closure: RustClosure ) -> Result<SignalHandlerId, BoolError>

Similar to Self::connect_closure_id but fails instead of panicking.
source§

fn connect_closure_id( &self, signal_id: SignalId, details: Option<Quark>, after: bool, closure: RustClosure ) -> SignalHandlerId

Connect a closure to the signal signal_id on this object. Read more
source§

fn watch_closure(&self, closure: &impl AsRef<Closure>)

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 Closure::invoke.
source§

unsafe fn connect_unsafe_id<F>( &self, signal_id: SignalId, details: Option<Quark>, after: bool, callback: F ) -> SignalHandlerIdwhere F: Fn(&[Value]) -> Option<Value>,

Connect to the signal signal_id on this object. Read more
source§

fn try_emit<R>( &self, signal_id: SignalId, args: &[&dyn ToValue] ) -> Result<R, BoolError>where R: TryFromClosureReturnValue,

Similar to Self::emit but fails instead of panicking.
source§

fn emit<R>(&self, signal_id: SignalId, args: &[&dyn ToValue]) -> Rwhere R: TryFromClosureReturnValue,

Emit signal by signal id. Read more
source§

fn try_emit_with_values( &self, signal_id: SignalId, args: &[Value] ) -> Result<Option<Value>, BoolError>

Similar to Self::emit_with_values but fails instead of panicking.
source§

fn emit_with_values(&self, signal_id: SignalId, args: &[Value]) -> Option<Value>

Same as Self::emit but takes Value for the arguments.
source§

fn try_emit_by_name<R>( &self, signal_name: &str, args: &[&dyn ToValue] ) -> Result<R, BoolError>where R: TryFromClosureReturnValue,

Similar to Self::emit_by_name but fails instead of panicking.
source§

fn emit_by_name<R>(&self, signal_name: &str, args: &[&dyn ToValue]) -> Rwhere R: TryFromClosureReturnValue,

Emit signal by its name. Read more
source§

fn try_emit_by_name_with_values( &self, signal_name: &str, args: &[Value] ) -> Result<Option<Value>, BoolError>

Similar to Self::emit_by_name_with_values but fails instead of panicking.
source§

fn emit_by_name_with_values( &self, signal_name: &str, args: &[Value] ) -> Option<Value>

Emit signal by its name. Read more
source§

fn try_emit_by_name_with_details<R>( &self, signal_name: &str, details: Quark, args: &[&dyn ToValue] ) -> Result<R, BoolError>where R: TryFromClosureReturnValue,

Similar to Self::emit_by_name_with_details but fails instead of panicking.
source§

fn emit_by_name_with_details<R>( &self, signal_name: &str, details: Quark, args: &[&dyn ToValue] ) -> Rwhere R: TryFromClosureReturnValue,

Emit signal by its name with details. Read more
source§

fn try_emit_by_name_with_details_and_values( &self, signal_name: &str, details: Quark, args: &[Value] ) -> Result<Option<Value>, BoolError>

Similar to Self::emit_by_name_with_details_and_values but fails instead of panicking.
source§

fn emit_by_name_with_details_and_values( &self, signal_name: &str, details: Quark, args: &[Value] ) -> Option<Value>

Emit signal by its name with details. Read more
source§

fn try_emit_with_details<R>( &self, signal_id: SignalId, details: Quark, args: &[&dyn ToValue] ) -> Result<R, BoolError>where R: TryFromClosureReturnValue,

Similar to Self::emit_with_details but fails instead of panicking.
source§

fn emit_with_details<R>( &self, signal_id: SignalId, details: Quark, args: &[&dyn ToValue] ) -> Rwhere R: TryFromClosureReturnValue,

Emit signal by signal id with details. Read more
source§

fn try_emit_with_details_and_values( &self, signal_id: SignalId, details: Quark, args: &[Value] ) -> Result<Option<Value>, BoolError>

Similar to Self::emit_with_details_and_values but fails instead of panicking.
source§

fn emit_with_details_and_values( &self, signal_id: SignalId, details: Quark, args: &[Value] ) -> Option<Value>

Emit signal by signal id with details. Read more
source§

fn disconnect(&self, handler_id: SignalHandlerId)

Disconnect a previously connected signal handler.
source§

fn connect_notify<F>(&self, name: Option<&str>, f: F) -> SignalHandlerIdwhere F: Fn(&T, &ParamSpec) + Send + Sync + 'static,

Connect to the notify signal of the object. Read more
source§

fn connect_notify_local<F>(&self, name: Option<&str>, f: F) -> SignalHandlerIdwhere F: Fn(&T, &ParamSpec) + 'static,

Connect to the notify signal of the object. Read more
source§

unsafe fn connect_notify_unsafe<F>( &self, name: Option<&str>, f: F ) -> SignalHandlerIdwhere F: Fn(&T, &ParamSpec),

Connect to the notify signal of the object. Read more
source§

fn notify(&self, property_name: &str)

Notify that the given property has changed its value. Read more
source§

fn notify_by_pspec(&self, pspec: &ParamSpec)

Notify that the given property has changed its value. Read more
source§

fn downgrade(&self) -> WeakRef<T>

Downgrade this object to a weak reference.
source§

fn bind_property<O, 'a>( &'a self, source_property: &'a str, target: &'a O, target_property: &'a str ) -> BindingBuilder<'a>where O: ObjectType,

Bind property source_property on this object to the target_property on the target object. Read more
source§

fn ref_count(&self) -> u32

Returns the strong reference count of this object.
source§

impl<T> StaticTypeExt for Twhere T: StaticType,

source§

fn ensure_type()

Ensures that the type has been registered with the type system.
source§

impl<T> ToClosureReturnValue for Twhere T: ToValue,

source§

impl<T> ToOwned for Twhere T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

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

fn clone_into(&self, target: &mut T)

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

impl<T> ToString for Twhere T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
const: unstable · source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T> TryFromClosureReturnValue for Twhere T: for<'a> FromValue<'a> + StaticType + 'static,

source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
const: unstable · source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<Super, Sub> CanDowncast<Sub> for Superwhere Super: IsA<Super>, Sub: IsA<Super>,

source§

impl<'a, T, C> FromValueOptional<'a> for Twhere T: FromValue<'a, Checker = C>, C: ValueTypeChecker<Error = ValueTypeMismatchOrNoneError>,