#[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 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
impl ListBox
sourcepub fn builder() -> ListBoxBuilder
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.
sourcepub fn bind_model<P: Fn(&Object) -> Widget + 'static>(
&self,
model: Option<&impl IsA<ListModel>>,
create_widget_func: P
)
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
sourcepub fn drag_highlight_row(&self, row: &impl IsA<ListBoxRow>)
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
sourcepub fn drag_unhighlight_row(&self)
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.
sourcepub fn activates_on_single_click(&self) -> bool
pub fn activates_on_single_click(&self) -> bool
sourcepub fn adjustment(&self) -> Option<Adjustment>
pub fn adjustment(&self) -> Option<Adjustment>
sourcepub fn row_at_index(&self, index_: i32) -> Option<ListBoxRow>
pub fn row_at_index(&self, index_: i32) -> Option<ListBoxRow>
sourcepub fn row_at_y(&self, y: i32) -> Option<ListBoxRow>
pub fn row_at_y(&self, y: i32) -> Option<ListBoxRow>
sourcepub fn selected_row(&self) -> Option<ListBoxRow>
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
sourcepub fn selected_rows(&self) -> Vec<ListBoxRow>
pub fn selected_rows(&self) -> Vec<ListBoxRow>
sourcepub fn selection_mode(&self) -> SelectionMode
pub fn selection_mode(&self) -> SelectionMode
sourcepub fn shows_separators(&self) -> bool
pub fn shows_separators(&self) -> bool
sourcepub fn insert(&self, child: &impl IsA<Widget>, position: i32)
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
sourcepub fn invalidate_filter(&self)
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.
sourcepub fn invalidate_headers(&self)
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.
sourcepub fn invalidate_sort(&self)
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.
sourcepub fn select_all(&self)
pub fn select_all(&self)
Select all children of @self, if the selection mode allows it.
sourcepub fn select_row(&self, row: Option<&impl IsA<ListBoxRow>>)
pub fn select_row(&self, row: Option<&impl IsA<ListBoxRow>>)
sourcepub fn selected_foreach<P: FnMut(&ListBox, &ListBoxRow)>(&self, func: P)
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
sourcepub fn set_activate_on_single_click(&self, single: bool)
pub fn set_activate_on_single_click(&self, single: bool)
sourcepub fn set_adjustment(&self, adjustment: Option<&impl IsA<Adjustment>>)
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
sourcepub fn set_filter_func<P: Fn(&ListBoxRow) -> bool + 'static>(
&self,
filter_func: P
)
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
sourcepub fn set_header_func<P: Fn(&ListBoxRow, Option<&ListBoxRow>) + 'static>(
&self,
update_header: P
)
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
sourcepub fn set_placeholder(&self, placeholder: Option<&impl IsA<Widget>>)
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
sourcepub fn set_selection_mode(&self, mode: SelectionMode)
pub fn set_selection_mode(&self, mode: SelectionMode)
sourcepub fn set_show_separators(&self, show_separators: bool)
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
sourcepub fn unselect_all(&self)
pub fn unselect_all(&self)
Unselect all children of @self, if the selection mode allows it.
sourcepub fn unselect_row(&self, row: &impl IsA<ListBoxRow>)
pub fn unselect_row(&self, row: &impl IsA<ListBoxRow>)
sourcepub fn accepts_unpaired_release(&self) -> bool
pub fn accepts_unpaired_release(&self) -> bool
Whether to accept unpaired release events.
sourcepub fn set_accept_unpaired_release(&self, accept_unpaired_release: bool)
pub fn set_accept_unpaired_release(&self, accept_unpaired_release: bool)
Whether to accept unpaired release events.
pub fn connect_activate_cursor_row<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId
pub fn emit_activate_cursor_row(&self)
pub fn connect_move_cursor<F: Fn(&Self, MovementStep, i32, bool, bool) + 'static>( &self, f: F ) -> SignalHandlerId
pub fn emit_move_cursor( &self, object: MovementStep, p0: i32, p1: bool, p2: bool )
sourcepub fn connect_row_activated<F: Fn(&Self, &ListBoxRow) + 'static>(
&self,
f: F
) -> SignalHandlerId
pub fn connect_row_activated<F: Fn(&Self, &ListBoxRow) + 'static>( &self, f: F ) -> SignalHandlerId
sourcepub fn connect_row_selected<F: Fn(&Self, Option<&ListBoxRow>) + 'static>(
&self,
f: F
) -> SignalHandlerId
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
sourcepub fn connect_select_all<F: Fn(&Self) + 'static>(
&self,
f: F
) -> SignalHandlerId
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.
pub fn emit_select_all(&self)
sourcepub fn connect_selected_rows_changed<F: Fn(&Self) + 'static>(
&self,
f: F
) -> SignalHandlerId
pub fn connect_selected_rows_changed<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId
Emitted when the set of selected rows changes.
pub fn connect_toggle_cursor_row<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId
pub fn emit_toggle_cursor_row(&self)
sourcepub fn connect_unselect_all<F: Fn(&Self) + 'static>(
&self,
f: F
) -> SignalHandlerId
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.
pub fn emit_unselect_all(&self)
pub fn connect_accept_unpaired_release_notify<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId
pub fn connect_activate_on_single_click_notify<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId
pub fn connect_selection_mode_notify<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId
pub fn connect_show_separators_notify<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId
source§impl ListBox
impl ListBox
pub fn unbind_model(&self)
pub fn unset_filter_func(&self)
pub fn unset_header_func(&self)
sourcepub fn set_sort_func<P: Fn(&ListBoxRow, &ListBoxRow) -> Ordering + 'static>(
&self,
sort_func: P
)
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
pub fn unset_sort_func(&self)
Trait Implementations§
source§impl Ord for ListBox
impl Ord for ListBox
source§impl<OT: ObjectType> PartialEq<OT> for ListBox
impl<OT: ObjectType> PartialEq<OT> for ListBox
source§impl<OT: ObjectType> PartialOrd<OT> for ListBox
impl<OT: ObjectType> PartialOrd<OT> for ListBox
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
self
and other
) and is used by the <=
operator. Read moresource§impl StaticType for ListBox
impl StaticType for ListBox
source§fn static_type() -> Type
fn static_type() -> Type
Self
.impl Eq for ListBox
impl IsA<Accessible> for ListBox
impl IsA<Buildable> for ListBox
impl IsA<ConstraintTarget> for ListBox
impl IsA<Widget> for ListBox
Auto Trait Implementations§
impl RefUnwindSafe for ListBox
impl !Send for ListBox
impl !Sync for ListBox
impl Unpin for ListBox
impl UnwindSafe for ListBox
Blanket Implementations§
source§impl<O> AccessibleExtManual for Owhere
O: IsA<Accessible>,
impl<O> AccessibleExtManual for Owhere O: IsA<Accessible>,
source§fn update_property(&self, properties: &[Property<'_>])
fn update_property(&self, properties: &[Property<'_>])
source§fn update_relation(&self, relations: &[Relation<'_>])
fn update_relation(&self, relations: &[Relation<'_>])
source§fn update_state(&self, states: &[State])
fn update_state(&self, states: &[State])
source§impl<T> Cast for Twhere
T: ObjectType,
impl<T> Cast for Twhere T: ObjectType,
source§fn upcast<T>(self) -> Twhere
T: ObjectType,
Self: IsA<T>,
fn upcast<T>(self) -> Twhere T: ObjectType, Self: IsA<T>,
T
. Read moresource§fn upcast_ref<T>(&self) -> &Twhere
T: ObjectType,
Self: IsA<T>,
fn upcast_ref<T>(&self) -> &Twhere T: ObjectType, Self: IsA<T>,
T
. Read moresource§fn downcast<T>(self) -> Result<T, Self>where
T: ObjectType,
Self: CanDowncast<T>,
fn downcast<T>(self) -> Result<T, Self>where T: ObjectType, Self: CanDowncast<T>,
T
. Read moresource§fn downcast_ref<T>(&self) -> Option<&T>where
T: ObjectType,
Self: CanDowncast<T>,
fn downcast_ref<T>(&self) -> Option<&T>where T: ObjectType, Self: CanDowncast<T>,
T
. Read moresource§fn dynamic_cast<T>(self) -> Result<T, Self>where
T: ObjectType,
fn dynamic_cast<T>(self) -> Result<T, Self>where T: ObjectType,
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 moresource§fn dynamic_cast_ref<T>(&self) -> Option<&T>where
T: ObjectType,
fn dynamic_cast_ref<T>(&self) -> Option<&T>where T: ObjectType,
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 moresource§unsafe fn unsafe_cast<T>(self) -> Twhere
T: ObjectType,
unsafe fn unsafe_cast<T>(self) -> Twhere T: ObjectType,
T
unconditionally. Read moresource§unsafe fn unsafe_cast_ref<T>(&self) -> &Twhere
T: ObjectType,
unsafe fn unsafe_cast_ref<T>(&self) -> &Twhere T: ObjectType,
&T
unconditionally. Read moresource§impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
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>,
impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GPtrArray> for Twhere T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
source§impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GSList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GSList> for Twhere T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
source§impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GList> for Twhere T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
source§impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GPtrArray> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GPtrArray> for Twhere T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
source§impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GSList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GSList> for Twhere T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
source§impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
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>,
impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GPtrArray> for Twhere T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
source§impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GSList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
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>,
impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GList> for Twhere T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
source§impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GPtrArray> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GPtrArray> for Twhere T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
source§impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GSList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GSList> for Twhere T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
source§impl<U> IsSubclassableExt for Uwhere
U: IsClass + ParentClassIs,
impl<U> IsSubclassableExt for Uwhere U: IsClass + ParentClassIs,
fn parent_class_init<T>(class: &mut Class<U>)where T: ObjectSubclass, <U as ParentClassIs>::Parent: IsSubclassable<T>,
fn parent_instance_init<T>(instance: &mut InitializingObject<T>)where T: ObjectSubclass, <U as ParentClassIs>::Parent: IsSubclassable<T>,
source§impl<T> ObjectExt for Twhere
T: ObjectType,
impl<T> ObjectExt for Twhere T: ObjectType,
source§fn is<U>(&self) -> boolwhere
U: StaticType,
fn is<U>(&self) -> boolwhere U: StaticType,
true
if the object is an instance of (can be cast to) T
.source§fn object_class(&self) -> &Class<Object>
fn object_class(&self) -> &Class<Object>
ObjectClass
of the object. Read moresource§fn class_of<U>(&self) -> Option<&Class<U>>where
U: IsClass,
fn class_of<U>(&self) -> Option<&Class<U>>where U: IsClass,
T
. Read moresource§fn interface<U>(&self) -> Option<InterfaceRef<'_, U>>where
U: IsInterface,
fn interface<U>(&self) -> Option<InterfaceRef<'_, U>>where U: IsInterface,
T
of the object. Read moresource§fn try_set_property<V>(
&self,
property_name: &str,
value: V
) -> Result<(), BoolError>where
V: ToValue,
fn try_set_property<V>( &self, property_name: &str, value: V ) -> Result<(), BoolError>where V: ToValue,
Self::set_property
but fails instead of panicking.source§fn set_property<V>(&self, property_name: &str, value: V)where
V: ToValue,
fn set_property<V>(&self, property_name: &str, value: V)where V: ToValue,
source§fn try_set_property_from_value(
&self,
property_name: &str,
value: &Value
) -> Result<(), BoolError>
fn try_set_property_from_value( &self, property_name: &str, value: &Value ) -> Result<(), BoolError>
Self::set_property
but fails instead of panicking.source§fn set_property_from_value(&self, property_name: &str, value: &Value)
fn set_property_from_value(&self, property_name: &str, value: &Value)
source§fn try_set_properties(
&self,
property_values: &[(&str, &dyn ToValue)]
) -> Result<(), BoolError>
fn try_set_properties( &self, property_values: &[(&str, &dyn ToValue)] ) -> Result<(), BoolError>
Self::set_properties
but fails instead of panicking.source§fn set_properties(&self, property_values: &[(&str, &dyn ToValue)])
fn set_properties(&self, property_values: &[(&str, &dyn ToValue)])
source§fn try_set_properties_from_value(
&self,
property_values: &[(&str, Value)]
) -> Result<(), BoolError>
fn try_set_properties_from_value( &self, property_values: &[(&str, Value)] ) -> Result<(), BoolError>
Self::set_properties_from_value
but fails instead of panicking.source§fn set_properties_from_value(&self, property_values: &[(&str, Value)])
fn set_properties_from_value(&self, property_values: &[(&str, Value)])
source§fn try_property<V>(&self, property_name: &str) -> Result<V, BoolError>where
V: for<'b> FromValue<'b> + 'static,
fn try_property<V>(&self, property_name: &str) -> Result<V, BoolError>where V: for<'b> FromValue<'b> + 'static,
Self::property
but fails instead of panicking.source§fn property<V>(&self, property_name: &str) -> Vwhere
V: for<'b> FromValue<'b> + 'static,
fn property<V>(&self, property_name: &str) -> Vwhere V: for<'b> FromValue<'b> + 'static,
property_name
of the object and cast it to the type V. Read moresource§fn try_property_value(&self, property_name: &str) -> Result<Value, BoolError>
fn try_property_value(&self, property_name: &str) -> Result<Value, BoolError>
Self::property_value
but fails instead of panicking.source§fn property_value(&self, property_name: &str) -> Value
fn property_value(&self, property_name: &str) -> Value
property_name
of the object. Read moresource§fn property_type(&self, property_name: &str) -> Option<Type>
fn property_type(&self, property_name: &str) -> Option<Type>
property_name
of this object. Read moresource§fn find_property(&self, property_name: &str) -> Option<ParamSpec>
fn find_property(&self, property_name: &str) -> Option<ParamSpec>
ParamSpec
of the property property_name
of this object.source§fn list_properties(&self) -> PtrSlice<ParamSpec>
fn list_properties(&self) -> PtrSlice<ParamSpec>
ParamSpec
of the properties of this object.source§fn freeze_notify(&self) -> PropertyNotificationFreezeGuard
fn freeze_notify(&self) -> PropertyNotificationFreezeGuard
source§unsafe fn set_qdata<QD>(&self, key: Quark, value: QD)where
QD: 'static,
unsafe fn set_qdata<QD>(&self, key: Quark, value: QD)where QD: 'static,
key
. Read moresource§unsafe fn qdata<QD>(&self, key: Quark) -> Option<NonNull<QD>>where
QD: 'static,
unsafe fn qdata<QD>(&self, key: Quark) -> Option<NonNull<QD>>where QD: 'static,
key
. Read moresource§unsafe fn steal_qdata<QD>(&self, key: Quark) -> Option<QD>where
QD: 'static,
unsafe fn steal_qdata<QD>(&self, key: Quark) -> Option<QD>where QD: 'static,
key
. Read moresource§unsafe fn set_data<QD>(&self, key: &str, value: QD)where
QD: 'static,
unsafe fn set_data<QD>(&self, key: &str, value: QD)where QD: 'static,
key
. Read moresource§unsafe fn data<QD>(&self, key: &str) -> Option<NonNull<QD>>where
QD: 'static,
unsafe fn data<QD>(&self, key: &str) -> Option<NonNull<QD>>where QD: 'static,
key
. Read moresource§unsafe fn steal_data<QD>(&self, key: &str) -> Option<QD>where
QD: 'static,
unsafe fn steal_data<QD>(&self, key: &str) -> Option<QD>where QD: 'static,
key
. Read moresource§fn block_signal(&self, handler_id: &SignalHandlerId)
fn block_signal(&self, handler_id: &SignalHandlerId)
source§fn unblock_signal(&self, handler_id: &SignalHandlerId)
fn unblock_signal(&self, handler_id: &SignalHandlerId)
source§fn stop_signal_emission(&self, signal_id: SignalId, detail: Option<Quark>)
fn stop_signal_emission(&self, signal_id: SignalId, detail: Option<Quark>)
source§fn stop_signal_emission_by_name(&self, signal_name: &str)
fn stop_signal_emission_by_name(&self, signal_name: &str)
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,
fn try_connect<F>( &self, signal_name: &str, after: bool, callback: F ) -> Result<SignalHandlerId, BoolError>where F: Fn(&[Value]) -> Option<Value> + Send + Sync + 'static,
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,
fn connect<F>( &self, signal_name: &str, after: bool, callback: F ) -> SignalHandlerIdwhere F: Fn(&[Value]) -> Option<Value> + Send + Sync + 'static,
signal_name
on this object. Read moresource§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,
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,
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,
fn connect_id<F>( &self, signal_id: SignalId, details: Option<Quark>, after: bool, callback: F ) -> SignalHandlerIdwhere F: Fn(&[Value]) -> Option<Value> + Send + Sync + 'static,
signal_id
on this object. Read moresource§fn try_connect_local<F>(
&self,
signal_name: &str,
after: bool,
callback: F
) -> Result<SignalHandlerId, BoolError>where
F: Fn(&[Value]) -> Option<Value> + 'static,
fn try_connect_local<F>( &self, signal_name: &str, after: bool, callback: F ) -> Result<SignalHandlerId, BoolError>where F: Fn(&[Value]) -> Option<Value> + 'static,
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,
fn connect_local<F>( &self, signal_name: &str, after: bool, callback: F ) -> SignalHandlerIdwhere F: Fn(&[Value]) -> Option<Value> + 'static,
signal_name
on this object. Read moresource§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,
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,
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,
fn connect_local_id<F>( &self, signal_id: SignalId, details: Option<Quark>, after: bool, callback: F ) -> SignalHandlerIdwhere F: Fn(&[Value]) -> Option<Value> + 'static,
signal_id
on this object. Read moresource§unsafe fn try_connect_unsafe<F>(
&self,
signal_name: &str,
after: bool,
callback: F
) -> Result<SignalHandlerId, BoolError>where
F: Fn(&[Value]) -> Option<Value>,
unsafe fn try_connect_unsafe<F>( &self, signal_name: &str, after: bool, callback: F ) -> Result<SignalHandlerId, BoolError>where F: Fn(&[Value]) -> Option<Value>,
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>,
unsafe fn connect_unsafe<F>( &self, signal_name: &str, after: bool, callback: F ) -> SignalHandlerIdwhere F: Fn(&[Value]) -> Option<Value>,
signal_name
on this object. Read moresource§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>,
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>,
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>
fn try_connect_closure( &self, signal_name: &str, after: bool, closure: RustClosure ) -> Result<SignalHandlerId, BoolError>
Self::connect_closure
but fails instead of panicking.source§fn connect_closure(
&self,
signal_name: &str,
after: bool,
closure: RustClosure
) -> SignalHandlerId
fn connect_closure( &self, signal_name: &str, after: bool, closure: RustClosure ) -> SignalHandlerId
signal_name
on this object. Read moresource§fn try_connect_closure_id(
&self,
signal_id: SignalId,
details: Option<Quark>,
after: bool,
closure: RustClosure
) -> Result<SignalHandlerId, BoolError>
fn try_connect_closure_id( &self, signal_id: SignalId, details: Option<Quark>, after: bool, closure: RustClosure ) -> Result<SignalHandlerId, BoolError>
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
fn connect_closure_id( &self, signal_id: SignalId, details: Option<Quark>, after: bool, closure: RustClosure ) -> SignalHandlerId
signal_id
on this object. Read moresource§fn watch_closure(&self, closure: &impl AsRef<Closure>)
fn watch_closure(&self, closure: &impl AsRef<Closure>)
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>,
unsafe fn connect_unsafe_id<F>( &self, signal_id: SignalId, details: Option<Quark>, after: bool, callback: F ) -> SignalHandlerIdwhere F: Fn(&[Value]) -> Option<Value>,
signal_id
on this object. Read moresource§fn try_emit<R>(
&self,
signal_id: SignalId,
args: &[&dyn ToValue]
) -> Result<R, BoolError>where
R: TryFromClosureReturnValue,
fn try_emit<R>( &self, signal_id: SignalId, args: &[&dyn ToValue] ) -> Result<R, BoolError>where R: TryFromClosureReturnValue,
Self::emit
but fails instead of panicking.source§fn emit<R>(&self, signal_id: SignalId, args: &[&dyn ToValue]) -> Rwhere
R: TryFromClosureReturnValue,
fn emit<R>(&self, signal_id: SignalId, args: &[&dyn ToValue]) -> Rwhere R: TryFromClosureReturnValue,
source§fn try_emit_with_values(
&self,
signal_id: SignalId,
args: &[Value]
) -> Result<Option<Value>, BoolError>
fn try_emit_with_values( &self, signal_id: SignalId, args: &[Value] ) -> Result<Option<Value>, BoolError>
Self::emit_with_values
but fails instead of panicking.source§fn emit_with_values(&self, signal_id: SignalId, args: &[Value]) -> Option<Value>
fn emit_with_values(&self, signal_id: SignalId, args: &[Value]) -> Option<Value>
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,
fn try_emit_by_name<R>( &self, signal_name: &str, args: &[&dyn ToValue] ) -> Result<R, BoolError>where R: TryFromClosureReturnValue,
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,
fn emit_by_name<R>(&self, signal_name: &str, args: &[&dyn ToValue]) -> Rwhere R: TryFromClosureReturnValue,
source§fn try_emit_by_name_with_values(
&self,
signal_name: &str,
args: &[Value]
) -> Result<Option<Value>, BoolError>
fn try_emit_by_name_with_values( &self, signal_name: &str, args: &[Value] ) -> Result<Option<Value>, BoolError>
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>
fn emit_by_name_with_values( &self, signal_name: &str, args: &[Value] ) -> Option<Value>
source§fn try_emit_by_name_with_details<R>(
&self,
signal_name: &str,
details: Quark,
args: &[&dyn ToValue]
) -> Result<R, BoolError>where
R: TryFromClosureReturnValue,
fn try_emit_by_name_with_details<R>( &self, signal_name: &str, details: Quark, args: &[&dyn ToValue] ) -> Result<R, BoolError>where R: TryFromClosureReturnValue,
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,
fn emit_by_name_with_details<R>( &self, signal_name: &str, details: Quark, args: &[&dyn ToValue] ) -> Rwhere R: TryFromClosureReturnValue,
source§fn try_emit_by_name_with_details_and_values(
&self,
signal_name: &str,
details: Quark,
args: &[Value]
) -> Result<Option<Value>, BoolError>
fn try_emit_by_name_with_details_and_values( &self, signal_name: &str, details: Quark, args: &[Value] ) -> Result<Option<Value>, BoolError>
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>
fn emit_by_name_with_details_and_values( &self, signal_name: &str, details: Quark, args: &[Value] ) -> Option<Value>
source§fn try_emit_with_details<R>(
&self,
signal_id: SignalId,
details: Quark,
args: &[&dyn ToValue]
) -> Result<R, BoolError>where
R: TryFromClosureReturnValue,
fn try_emit_with_details<R>( &self, signal_id: SignalId, details: Quark, args: &[&dyn ToValue] ) -> Result<R, BoolError>where R: TryFromClosureReturnValue,
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,
fn emit_with_details<R>( &self, signal_id: SignalId, details: Quark, args: &[&dyn ToValue] ) -> Rwhere R: TryFromClosureReturnValue,
source§fn try_emit_with_details_and_values(
&self,
signal_id: SignalId,
details: Quark,
args: &[Value]
) -> Result<Option<Value>, BoolError>
fn try_emit_with_details_and_values( &self, signal_id: SignalId, details: Quark, args: &[Value] ) -> Result<Option<Value>, BoolError>
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>
fn emit_with_details_and_values( &self, signal_id: SignalId, details: Quark, args: &[Value] ) -> Option<Value>
source§fn disconnect(&self, handler_id: SignalHandlerId)
fn disconnect(&self, handler_id: SignalHandlerId)
source§fn connect_notify<F>(&self, name: Option<&str>, f: F) -> SignalHandlerIdwhere
F: Fn(&T, &ParamSpec) + Send + Sync + 'static,
fn connect_notify<F>(&self, name: Option<&str>, f: F) -> SignalHandlerIdwhere F: Fn(&T, &ParamSpec) + Send + Sync + 'static,
notify
signal of the object. Read moresource§fn connect_notify_local<F>(&self, name: Option<&str>, f: F) -> SignalHandlerIdwhere
F: Fn(&T, &ParamSpec) + 'static,
fn connect_notify_local<F>(&self, name: Option<&str>, f: F) -> SignalHandlerIdwhere F: Fn(&T, &ParamSpec) + 'static,
notify
signal of the object. Read moresource§unsafe fn connect_notify_unsafe<F>(
&self,
name: Option<&str>,
f: F
) -> SignalHandlerIdwhere
F: Fn(&T, &ParamSpec),
unsafe fn connect_notify_unsafe<F>( &self, name: Option<&str>, f: F ) -> SignalHandlerIdwhere F: Fn(&T, &ParamSpec),
notify
signal of the object. Read more