#[repr(transparent)]pub struct FlowBox { /* private fields */ }
Expand description
A FlowBox
puts child widgets in reflowing grid.
For instance, with the horizontal orientation, the widgets will be arranged from left to right, starting a new row under the previous row when necessary. Reducing the width in this case will require more rows, so a larger height will be requested.
Likewise, with the vertical orientation, the widgets will be arranged from top to bottom, starting a new column to the right when necessary. Reducing the height will require more columns, so a larger width will be requested.
The size request of a FlowBox
alone may not be what you expect;
if you need to be able to shrink it along both axes and dynamically
reflow its children, you may have to wrap it in a ScrolledWindow
to enable that.
The children of a FlowBox
can be dynamically sorted and filtered.
Although a FlowBox
must have only FlowBoxChild
children, you
can add any kind of widget to it via insert()
, and a
FlowBoxChild
widget will automatically be inserted between the box
and the widget.
Also see ListBox
.
CSS nodes
flowbox
├── flowboxchild
│ ╰── <child>
├── flowboxchild
│ ╰── <child>
┊
╰── [rubberband]
FlowBox
uses a single CSS node with name flowbox. FlowBoxChild
uses a single CSS node with name flowboxchild. For rubberband selection,
a subnode with name rubberband is used.
Accessibility
FlowBox
uses the AccessibleRole::Grid
role, and FlowBoxChild
uses the AccessibleRole::GridCell
role.
Implements
WidgetExt
, glib::ObjectExt
, AccessibleExt
, BuildableExt
, ConstraintTargetExt
, OrientableExt
, WidgetExtManual
, AccessibleExtManual
Implementations§
source§impl FlowBox
impl FlowBox
sourcepub fn builder() -> FlowBoxBuilder
pub fn builder() -> FlowBoxBuilder
Creates a new builder-pattern struct instance to construct FlowBox
objects.
This method returns an instance of FlowBoxBuilder
which can be used to create FlowBox
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 FlowBox
. 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
sourcepub fn activates_on_single_click(&self) -> bool
pub fn activates_on_single_click(&self) -> bool
sourcepub fn child_at_index(&self, idx: i32) -> Option<FlowBoxChild>
pub fn child_at_index(&self, idx: i32) -> Option<FlowBoxChild>
Gets the nth child in the @self.
idx
the position of the child
Returns
the child widget, which will
always be a FlowBoxChild
or None
in case no child widget
with the given index exists.
sourcepub fn child_at_pos(&self, x: i32, y: i32) -> Option<FlowBoxChild>
pub fn child_at_pos(&self, x: i32, y: i32) -> Option<FlowBoxChild>
Gets the child in the (@x, @y) position.
Both @x and @y are assumed to be relative to the origin of @self.
x
the x coordinate of the child
y
the y coordinate of the child
Returns
the child widget, which will
always be a FlowBoxChild
or None
in case no child widget
exists for the given x and y coordinates.
sourcepub fn column_spacing(&self) -> u32
pub fn column_spacing(&self) -> u32
sourcepub fn is_homogeneous(&self) -> bool
pub fn is_homogeneous(&self) -> bool
sourcepub fn max_children_per_line(&self) -> u32
pub fn max_children_per_line(&self) -> u32
sourcepub fn min_children_per_line(&self) -> u32
pub fn min_children_per_line(&self) -> u32
sourcepub fn row_spacing(&self) -> u32
pub fn row_spacing(&self) -> u32
sourcepub fn selected_children(&self) -> Vec<FlowBoxChild>
pub fn selected_children(&self) -> Vec<FlowBoxChild>
sourcepub fn selection_mode(&self) -> SelectionMode
pub fn selection_mode(&self) -> SelectionMode
sourcepub fn insert(&self, widget: &impl IsA<Widget>, position: i32)
pub fn insert(&self, widget: &impl IsA<Widget>, position: i32)
Inserts the @widget into @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 children in the @self, then the @widget will be appended to the end.
widget
the Widget
to add
position
the position to insert @child in
sourcepub fn invalidate_filter(&self)
pub fn invalidate_filter(&self)
Updates the filtering for all children.
Call this function when the result of the filter function on the @self is changed due ot an external factor. For instance, this would be used if the filter function just looked for a specific search term, and the entry with the string has changed.
sourcepub fn invalidate_sort(&self)
pub fn invalidate_sort(&self)
Updates the sorting for all children.
Call this when the result of the sort function on @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_child(&self, child: &impl IsA<FlowBoxChild>)
pub fn select_child(&self, child: &impl IsA<FlowBoxChild>)
sourcepub fn selected_foreach<P: FnMut(&FlowBox, &FlowBoxChild)>(&self, func: P)
pub fn selected_foreach<P: FnMut(&FlowBox, &FlowBoxChild)>(&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_column_spacing(&self, spacing: u32)
pub fn set_column_spacing(&self, spacing: u32)
sourcepub fn set_filter_func<P: Fn(&FlowBoxChild) -> bool + 'static>(
&self,
filter_func: P
)
pub fn set_filter_func<P: Fn(&FlowBoxChild) -> bool + 'static>( &self, filter_func: P )
By setting a filter function on the @self one can decide dynamically which of the children to show.
For instance, to implement a search function that only shows the children matching the search terms.
The @filter_func will be called for each child after the call, and
it will continue to be called each time a child changes (via
FlowBoxChildExt::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 children to show
sourcepub fn set_hadjustment(&self, adjustment: &impl IsA<Adjustment>)
pub fn set_hadjustment(&self, adjustment: &impl IsA<Adjustment>)
Hooks up an adjustment to focus handling in @self.
The adjustment is also used for autoscrolling during
rubberband selection. See ScrolledWindow::hadjustment()
for a typical way of obtaining the adjustment, and
set_vadjustment()
for setting the vertical
adjustment.
The adjustments have to be in pixel units and in the same coordinate system as the allocation for immediate children of the box.
adjustment
an adjustment which should be adjusted when the focus is moved among the descendents of @container
sourcepub fn set_homogeneous(&self, homogeneous: bool)
pub fn set_homogeneous(&self, homogeneous: bool)
Sets whether or not all children of @self are given equal space in the box.
homogeneous
true
to create equal allotments,
false
for variable allotments
sourcepub fn set_max_children_per_line(&self, n_children: u32)
pub fn set_max_children_per_line(&self, n_children: u32)
Sets the maximum number of children to request and allocate space for in @self’s orientation.
Setting the maximum number of children per line limits the overall natural size request to be no more than @n_children children long in the given orientation.
n_children
the maximum number of children per line
sourcepub fn set_min_children_per_line(&self, n_children: u32)
pub fn set_min_children_per_line(&self, n_children: u32)
Sets the minimum number of children to line up in @self’s orientation before flowing.
n_children
the minimum number of children per line
sourcepub fn set_row_spacing(&self, spacing: u32)
pub fn set_row_spacing(&self, spacing: u32)
sourcepub fn set_selection_mode(&self, mode: SelectionMode)
pub fn set_selection_mode(&self, mode: SelectionMode)
sourcepub fn set_vadjustment(&self, adjustment: &impl IsA<Adjustment>)
pub fn set_vadjustment(&self, adjustment: &impl IsA<Adjustment>)
Hooks up an adjustment to focus handling in @self.
The adjustment is also used for autoscrolling during
rubberband selection. See ScrolledWindow::vadjustment()
for a typical way of obtaining the adjustment, and
set_hadjustment()
for setting the horizontal
adjustment.
The adjustments have to be in pixel units and in the same coordinate system as the allocation for immediate children of the box.
adjustment
an adjustment which should be adjusted when the focus is moved among the descendents of @container
sourcepub fn unselect_all(&self)
pub fn unselect_all(&self)
Unselect all children of @self, if the selection mode allows it.
sourcepub fn unselect_child(&self, child: &impl IsA<FlowBoxChild>)
pub fn unselect_child(&self, child: &impl IsA<FlowBoxChild>)
pub fn accepts_unpaired_release(&self) -> bool
pub fn set_accept_unpaired_release(&self, accept_unpaired_release: bool)
sourcepub fn connect_activate_cursor_child<F: Fn(&Self) + 'static>(
&self,
f: F
) -> SignalHandlerId
pub fn connect_activate_cursor_child<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId
Emitted when the user activates the @box_.
This is a keybinding signal.
pub fn emit_activate_cursor_child(&self)
sourcepub fn connect_child_activated<F: Fn(&Self, &FlowBoxChild) + 'static>(
&self,
f: F
) -> SignalHandlerId
pub fn connect_child_activated<F: Fn(&Self, &FlowBoxChild) + 'static>( &self, f: F ) -> SignalHandlerId
sourcepub fn connect_move_cursor<F: Fn(&Self, MovementStep, i32, bool, bool) -> bool + 'static>(
&self,
f: F
) -> SignalHandlerId
pub fn connect_move_cursor<F: Fn(&Self, MovementStep, i32, bool, bool) -> bool + 'static>( &self, f: F ) -> SignalHandlerId
Emitted when the user initiates a cursor movement.
This is a keybinding signal. Applications should not connect to it, but may emit it with g_signal_emit_by_name() if they need to control the cursor programmatically.
The default bindings for this signal come in two variants, the variant with the Shift modifier extends the selection, the variant without the Shift modifier does not. There are too many key combinations to list them all here.
- ←, →, ↑, ↓ move by individual children
- Home, End move to the ends of the box
- PgUp, PgDn move vertically by pages
step
the granularity fo the move, as a MovementStep
count
the number of @step units to move
extend
whether to extend the selection
modify
whether to modify the selection
Returns
true
to stop other handlers from being invoked for the event.
false
to propagate the event further.
pub fn emit_move_cursor( &self, step: MovementStep, count: i32, extend: bool, modify: bool ) -> bool
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 bindings for this signal is Ctrl-a.
pub fn emit_select_all(&self)
sourcepub fn connect_selected_children_changed<F: Fn(&Self) + 'static>(
&self,
f: F
) -> SignalHandlerId
pub fn connect_selected_children_changed<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId
Emitted when the set of selected children changes.
Use selected_foreach()
or
selected_children()
to obtain the
selected children.
sourcepub fn connect_toggle_cursor_child<F: Fn(&Self) + 'static>(
&self,
f: F
) -> SignalHandlerId
pub fn connect_toggle_cursor_child<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId
Emitted to toggle the selection of the child that has the focus.
This is a keybinding signal.
The default binding for this signal is Ctrl-Space.
pub fn emit_toggle_cursor_child(&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 bindings 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_column_spacing_notify<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId
pub fn connect_homogeneous_notify<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId
pub fn connect_max_children_per_line_notify<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId
pub fn connect_min_children_per_line_notify<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId
pub fn connect_row_spacing_notify<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId
pub fn connect_selection_mode_notify<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId
source§impl FlowBox
impl FlowBox
pub fn unbind_model(&self)
pub fn unset_filter_func(&self)
pub fn unset_sort_func(&self)
sourcepub fn set_sort_func<P: Fn(&FlowBoxChild, &FlowBoxChild) -> Ordering + 'static>(
&self,
sort_func: P
)
pub fn set_sort_func<P: Fn(&FlowBoxChild, &FlowBoxChild) -> Ordering + 'static>( &self, sort_func: P )
By setting a sort function on the @self, one can dynamically reorder the children of the box, based on the contents of the children.
The @sort_func will be called for each child after the call,
and will continue to be called each time a child changes (via
FlowBoxChildExt::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
Trait Implementations§
source§impl Ord for FlowBox
impl Ord for FlowBox
source§impl<OT: ObjectType> PartialEq<OT> for FlowBox
impl<OT: ObjectType> PartialEq<OT> for FlowBox
source§impl<OT: ObjectType> PartialOrd<OT> for FlowBox
impl<OT: ObjectType> PartialOrd<OT> for FlowBox
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 FlowBox
impl StaticType for FlowBox
source§fn static_type() -> Type
fn static_type() -> Type
Self
.impl Eq for FlowBox
impl IsA<Accessible> for FlowBox
impl IsA<Buildable> for FlowBox
impl IsA<ConstraintTarget> for FlowBox
impl IsA<Orientable> for FlowBox
impl IsA<Widget> for FlowBox
Auto Trait Implementations§
impl RefUnwindSafe for FlowBox
impl !Send for FlowBox
impl !Sync for FlowBox
impl Unpin for FlowBox
impl UnwindSafe for FlowBox
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