Struct gtk4::ColumnView
source · #[repr(transparent)]pub struct ColumnView { /* private fields */ }
Expand description
ColumnView
presents a large dynamic list of items using multiple columns
with headers.
ColumnView
uses the factories of its columns to generate a cell widget for
each column, for each visible item and displays them together as the row for
this item.
The property::ColumnView::show-row-separators
and
property::ColumnView::show-column-separators
properties offer a simple way
to display separators between the rows or columns.
ColumnView
allows the user to select items according to the selection
characteristics of the model. For models that allow multiple selected items,
it is possible to turn on rubberband selection, using
property::ColumnView::enable-rubberband
.
The column view supports sorting that can be customized by the user by
clicking on column headers. To set this up, the Sorter
returned by
sorter()
must be attached to a sort model for the
data that the view is showing, and the columns must have sorters attached to
them by calling ColumnViewColumn::set_sorter()
. The initial sort
order can be set with sort_by_column()
.
The column view also supports interactive resizing and reordering of
columns, via Drag-and-Drop of the column headers. This can be enabled or
disabled with the property::ColumnView::reorderable
and
property::ColumnViewColumn::resizable
properties.
To learn more about the list widget framework, see the overview.
CSS nodes
columnview[.column-separators][.rich-list][.navigation-sidebar][.data-table]
├── header
│ ├── <column header>
┊ ┊
│ ╰── <column header>
│
├── listview
│
┊
╰── [rubberband]
ColumnView
uses a single CSS node named columnview. It may carry the
.column-separators style class, when property::ColumnView::show-column-separators
property is set. Header widgets appear below a node with name header.
The rows are contained in a ListView
widget, so there is a listview
node with the same structure as for a standalone ListView
widget.
If property::ColumnView::show-row-separators
is set, it will be passed
on to the list view, causing its CSS node to carry the .separators style class.
For rubberband selection, a node with name rubberband is used.
The main columnview node may also carry style classes to select the style of list presentation: .rich-list, .navigation-sidebar or .data-table.
Accessibility
ColumnView
uses the AccessibleRole::TreeGrid
role, header title
widgets are using the AccessibleRole::ColumnHeader
role. The row widgets
are using the AccessibleRole::Row
role, and individual cells are using
the AccessibleRole::GridCell
role
Implements
WidgetExt
, glib::ObjectExt
, AccessibleExt
, BuildableExt
, ConstraintTargetExt
, ScrollableExt
, WidgetExtManual
, AccessibleExtManual
Implementations§
source§impl ColumnView
impl ColumnView
sourcepub fn new(model: Option<&impl IsA<SelectionModel>>) -> ColumnView
pub fn new(model: Option<&impl IsA<SelectionModel>>) -> ColumnView
Creates a new ColumnView
.
You most likely want to call append_column()
to add columns next.
model
the list model to use
Returns
a new ColumnView
sourcepub fn builder() -> ColumnViewBuilder
pub fn builder() -> ColumnViewBuilder
Creates a new builder-pattern struct instance to construct ColumnView
objects.
This method returns an instance of ColumnViewBuilder
which can be used to create ColumnView
objects.
sourcepub fn append_column(&self, column: &ColumnViewColumn)
pub fn append_column(&self, column: &ColumnViewColumn)
Appends the @column to the end of the columns in @self.
column
a ColumnViewColumn
that hasn’t been added to a
ColumnView
yet
sourcepub fn columns(&self) -> ListModel
pub fn columns(&self) -> ListModel
Gets the list of columns in this column view.
This list is constant over the lifetime of @self and can be used to monitor changes to the columns of @self by connecting to the ::items-changed signal.
Returns
The list managing the columns
sourcepub fn enables_rubberband(&self) -> bool
pub fn enables_rubberband(&self) -> bool
sourcepub fn model(&self) -> Option<SelectionModel>
pub fn model(&self) -> Option<SelectionModel>
sourcepub fn is_reorderable(&self) -> bool
pub fn is_reorderable(&self) -> bool
sourcepub fn shows_column_separators(&self) -> bool
pub fn shows_column_separators(&self) -> bool
sourcepub fn shows_row_separators(&self) -> bool
pub fn shows_row_separators(&self) -> bool
sourcepub fn is_single_click_activate(&self) -> bool
pub fn is_single_click_activate(&self) -> bool
sourcepub fn sorter(&self) -> Option<Sorter>
pub fn sorter(&self) -> Option<Sorter>
Returns a special sorter that reflects the users sorting choices in the column view.
To allow users to customizable sorting by clicking on column headers, this sorter needs to be set on the sort model underneath the model that is displayed by the view.
See ColumnViewColumn::set_sorter()
for setting up
per-column sorting.
Here is an example: ⚠️ The following code is in c ⚠️
gtk_column_view_column_set_sorter (column, sorter);
gtk_column_view_append_column (view, column);
sorter = g_object_ref (gtk_column_view_get_sorter (view)));
model = gtk_sort_list_model_new (store, sorter);
selection = gtk_no_selection_new (model);
gtk_column_view_set_model (view, selection);
Returns
the Sorter
of @self
sourcepub fn insert_column(&self, position: u32, column: &ColumnViewColumn)
pub fn insert_column(&self, position: u32, column: &ColumnViewColumn)
Inserts a column at the given position in the columns of @self.
If @column is already a column of @self, it will be repositioned.
position
the position to insert @column at
column
the ColumnViewColumn
to insert
sourcepub fn remove_column(&self, column: &ColumnViewColumn)
pub fn remove_column(&self, column: &ColumnViewColumn)
Removes the @column from the list of columns of @self.
column
a ColumnViewColumn
that’s part of @self
sourcepub fn set_enable_rubberband(&self, enable_rubberband: bool)
pub fn set_enable_rubberband(&self, enable_rubberband: bool)
Sets whether selections can be changed by dragging with the mouse.
enable_rubberband
true
to enable rubberband selection
sourcepub fn set_model(&self, model: Option<&impl IsA<SelectionModel>>)
pub fn set_model(&self, model: Option<&impl IsA<SelectionModel>>)
sourcepub fn set_reorderable(&self, reorderable: bool)
pub fn set_reorderable(&self, reorderable: bool)
Sets whether columns should be reorderable by dragging.
reorderable
whether columns should be reorderable
sourcepub fn set_show_column_separators(&self, show_column_separators: bool)
pub fn set_show_column_separators(&self, show_column_separators: bool)
Sets whether the list should show separators between columns.
show_column_separators
true
to show column separators
sourcepub fn set_show_row_separators(&self, show_row_separators: bool)
pub fn set_show_row_separators(&self, show_row_separators: bool)
Sets whether the list should show separators between rows.
show_row_separators
true
to show row separators
sourcepub fn set_single_click_activate(&self, single_click_activate: bool)
pub fn set_single_click_activate(&self, single_click_activate: bool)
Sets whether rows should be activated on single click and selected on hover.
single_click_activate
true
to activate items on single click
sourcepub fn sort_by_column(
&self,
column: Option<&ColumnViewColumn>,
direction: SortType
)
pub fn sort_by_column(
&self,
column: Option<&ColumnViewColumn>,
direction: SortType
)
Sets the sorting of the view.
This function should be used to set up the initial sorting. At runtime, users can change the sorting of a column view by clicking on the list headers.
This call only has an effect if the sorter returned by
sorter()
is set on a sort model,
and ColumnViewColumn::set_sorter()
has been called
on @column to associate a sorter with the column.
If @column is None
, the view will be unsorted.
column
the ColumnViewColumn
to sort by
direction
the direction to sort in
sourcepub fn connect_activate<F: Fn(&Self, u32) + 'static>(
&self,
f: F
) -> SignalHandlerId
pub fn connect_activate<F: Fn(&Self, u32) + 'static>(
&self,
f: F
) -> SignalHandlerId
Emitted when a row has been activated by the user, usually via activating the GtkListBase|list.activate-item action.
This allows for a convenient way to handle activation in a columnview.
See ListItem::set_activatable()
for details on how to use this
signal.
position
position of item to activate
pub fn connect_columns_notify<F: Fn(&Self) + 'static>(
&self,
f: F
) -> SignalHandlerId
pub fn connect_enable_rubberband_notify<F: Fn(&Self) + 'static>(
&self,
f: F
) -> SignalHandlerId
pub fn connect_model_notify<F: Fn(&Self) + 'static>(
&self,
f: F
) -> SignalHandlerId
pub fn connect_reorderable_notify<F: Fn(&Self) + 'static>(
&self,
f: F
) -> SignalHandlerId
pub fn connect_show_column_separators_notify<F: Fn(&Self) + 'static>(
&self,
f: F
) -> SignalHandlerId
pub fn connect_show_row_separators_notify<F: Fn(&Self) + 'static>(
&self,
f: F
) -> SignalHandlerId
pub fn connect_single_click_activate_notify<F: Fn(&Self) + 'static>(
&self,
f: F
) -> SignalHandlerId
pub fn connect_sorter_notify<F: Fn(&Self) + 'static>(
&self,
f: F
) -> SignalHandlerId
Trait Implementations§
source§impl Clone for ColumnView
impl Clone for ColumnView
source§impl Debug for ColumnView
impl Debug for ColumnView
source§impl Default for ColumnView
impl Default for ColumnView
source§impl Display for ColumnView
impl Display for ColumnView
source§impl Hash for ColumnView
impl Hash for ColumnView
source§impl Ord for ColumnView
impl Ord for ColumnView
source§impl ParentClassIs for ColumnView
impl ParentClassIs for ColumnView
source§impl<OT: ObjectType> PartialEq<OT> for ColumnView
impl<OT: ObjectType> PartialEq<OT> for ColumnView
source§impl<OT: ObjectType> PartialOrd<OT> for ColumnView
impl<OT: ObjectType> PartialOrd<OT> for ColumnView
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 ColumnView
impl StaticType for ColumnView
source§fn static_type() -> Type
fn static_type() -> Type
Self
.impl Eq for ColumnView
impl IsA<Accessible> for ColumnView
impl IsA<Buildable> for ColumnView
impl IsA<ConstraintTarget> for ColumnView
impl IsA<Scrollable> for ColumnView
impl IsA<Widget> for ColumnView
Auto Trait Implementations§
impl RefUnwindSafe for ColumnView
impl !Send for ColumnView
impl !Sync for ColumnView
impl Unpin for ColumnView
impl UnwindSafe for ColumnView
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<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 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 set_property_from_value(&self, property_name: &str, value: &Value)
fn set_property_from_value(&self, property_name: &str, value: &Value)
source§fn set_properties(&self, property_values: &[(&str, &dyn ToValue)])
fn set_properties(&self, property_values: &[(&str, &dyn ToValue)])
source§fn set_properties_from_value(&self, property_values: &[(&str, Value)])
fn set_properties_from_value(&self, property_values: &[(&str, Value)])
source§fn property<V>(&self, property_name: &str) -> Vwhere
V: 'static + for<'b> FromValue<'b>,
fn property<V>(&self, property_name: &str) -> Vwhere
V: 'static + for<'b> FromValue<'b>,
property_name
of the object and cast it to the type V. Read moresource§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 connect<F>(
&self,
signal_name: &str,
after: bool,
callback: F
) -> SignalHandlerIdwhere
F: 'static + Fn(&[Value]) -> Option<Value> + Send + Sync,
fn connect<F>(
&self,
signal_name: &str,
after: bool,
callback: F
) -> SignalHandlerIdwhere
F: 'static + Fn(&[Value]) -> Option<Value> + Send + Sync,
signal_name
on this object. Read moresource§fn connect_id<F>(
&self,
signal_id: SignalId,
details: Option<Quark>,
after: bool,
callback: F
) -> SignalHandlerIdwhere
F: 'static + Fn(&[Value]) -> Option<Value> + Send + Sync,
fn connect_id<F>(
&self,
signal_id: SignalId,
details: Option<Quark>,
after: bool,
callback: F
) -> SignalHandlerIdwhere
F: 'static + Fn(&[Value]) -> Option<Value> + Send + Sync,
signal_id
on this object. Read moresource§fn connect_local<F>(
&self,
signal_name: &str,
after: bool,
callback: F
) -> SignalHandlerIdwhere
F: 'static + Fn(&[Value]) -> Option<Value>,
fn connect_local<F>(
&self,
signal_name: &str,
after: bool,
callback: F
) -> SignalHandlerIdwhere
F: 'static + Fn(&[Value]) -> Option<Value>,
signal_name
on this object. Read moresource§fn connect_local_id<F>(
&self,
signal_id: SignalId,
details: Option<Quark>,
after: bool,
callback: F
) -> SignalHandlerIdwhere
F: 'static + Fn(&[Value]) -> Option<Value>,
fn connect_local_id<F>(
&self,
signal_id: SignalId,
details: Option<Quark>,
after: bool,
callback: F
) -> SignalHandlerIdwhere
F: 'static + Fn(&[Value]) -> Option<Value>,
signal_id
on this object. Read moresource§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 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 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 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
invoke_with_values
, or
invoke
when using Rust closures.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 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 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 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 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 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 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 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: 'static + Fn(&T, &ParamSpec) + Send + Sync,
fn connect_notify<F>(&self, name: Option<&str>, f: F) -> SignalHandlerIdwhere
F: 'static + Fn(&T, &ParamSpec) + Send + Sync,
notify
signal of the object. Read moresource§fn connect_notify_local<F>(&self, name: Option<&str>, f: F) -> SignalHandlerIdwhere
F: 'static + Fn(&T, &ParamSpec),
fn connect_notify_local<F>(&self, name: Option<&str>, f: F) -> SignalHandlerIdwhere
F: 'static + Fn(&T, &ParamSpec),
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