Struct gtk4::Application
source · #[repr(transparent)]pub struct Application { /* private fields */ }
Expand description
Application
is a high-level API for writing applications.
It supports many aspects of writing a GTK application in a convenient fashion, without enforcing a one-size-fits-all model.
Currently, Application
handles GTK initialization, application
uniqueness, session management, provides some basic scriptability and
desktop shell integration by exporting actions and menus and manages a
list of toplevel windows whose life-cycle is automatically tied to the
life-cycle of your application.
While Application
works fine with plain Window
s, it is
recommended to use it together with ApplicationWindow
.
Automatic resources
Application
will automatically load menus from the Builder
resource located at “gtk/menus.ui”, relative to the application’s
resource base path (see [ApplicationExtManual::set_resource_base_path()
][crate::gio::prelude::ApplicationExtManual::set_resource_base_path()]).
The menu with the ID “menubar” is taken as the application’s
menubar. Additional menus (most interesting submenus) can be named
and accessed via GtkApplicationExt::menu_by_id()
which allows for
dynamic population of a part of the menu structure.
Note that automatic resource loading uses the resource base path that is set at construction time and will not work if the resource base path is changed at a later time.
It is also possible to provide the menubar manually using
GtkApplicationExt::set_menubar()
.
Application
will also automatically setup an icon search path for
the default icon theme by appending “icons” to the resource base
path. This allows your application to easily store its icons as
resources. See IconTheme::add_resource_path()
for more
information.
If there is a resource located at gtk/help-overlay.ui
which
defines a ShortcutsWindow
with ID help_overlay
then
Application
associates an instance of this shortcuts window with
each ApplicationWindow
and sets up the keyboard accelerator
Control+? to open it. To create a menu item that
displays the shortcuts window, associate the item with the action
win.show-help-overlay
.
A simple application
A simple example is available in the GTK source code repository
Application
optionally registers with a session manager of the
users session (if you set the property::Application::register-session
property) and offers various functionality related to the session
life-cycle.
An application can block various ways to end the session with
the GtkApplicationExt::inhibit()
function. Typical use cases for
this kind of inhibiting are long-running, uninterruptible operations,
such as burning a CD or performing a disk backup. The session
manager may not honor the inhibitor, but it can be expected to
inform the user about the negative consequences of ending the
session while inhibitors are present.
See Also
HowDoI: Using GtkApplication, Getting Started with GTK: Basics
Implements
GtkApplicationExt
, gio::prelude::ApplicationExt
, glib::ObjectExt
, gio::prelude::ActionGroupExt
, gio::prelude::ActionMapExt
Implementations§
source§impl Application
impl Application
pub const NONE: Option<&'static Application> = None
sourcepub fn builder() -> ApplicationBuilder
pub fn builder() -> ApplicationBuilder
Creates a new builder-pattern struct instance to construct Application
objects.
This method returns an instance of ApplicationBuilder
which can be used to create Application
objects.
source§impl Application
impl Application
pub fn new(application_id: Option<&str>, flags: ApplicationFlags) -> Self
Trait Implementations§
source§impl Clone for Application
impl Clone for Application
source§impl Debug for Application
impl Debug for Application
source§impl Default for Application
impl Default for Application
source§impl Display for Application
impl Display for Application
source§impl Hash for Application
impl Hash for Application
source§impl<T: GtkApplicationImpl> IsSubclassable<T> for Application
impl<T: GtkApplicationImpl> IsSubclassable<T> for Application
source§fn class_init(class: &mut Class<Self>)
fn class_init(class: &mut Class<Self>)
source§fn instance_init(instance: &mut InitializingObject<T>)
fn instance_init(instance: &mut InitializingObject<T>)
source§impl Ord for Application
impl Ord for Application
source§impl ParentClassIs for Application
impl ParentClassIs for Application
type Parent = Application
source§impl<OT: ObjectType> PartialEq<OT> for Application
impl<OT: ObjectType> PartialEq<OT> for Application
source§impl<OT: ObjectType> PartialOrd<OT> for Application
impl<OT: ObjectType> PartialOrd<OT> for Application
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 Application
impl StaticType for Application
source§fn static_type() -> Type
fn static_type() -> Type
Self
.impl Eq for Application
impl IsA<ActionGroup> for Application
impl IsA<ActionMap> for Application
impl IsA<Application> for Application
Auto Trait Implementations§
impl RefUnwindSafe for Application
impl !Send for Application
impl !Sync for Application
impl Unpin for Application
impl UnwindSafe for Application
Blanket Implementations§
source§impl<O> ActionGroupExt for Owhere
O: IsA<ActionGroup>,
impl<O> ActionGroupExt for Owhere
O: IsA<ActionGroup>,
fn action_added(&self, action_name: &str)
fn action_enabled_changed(&self, action_name: &str, enabled: bool)
fn action_removed(&self, action_name: &str)
fn action_state_changed(&self, action_name: &str, state: &Variant)
fn activate_action(&self, action_name: &str, parameter: Option<&Variant>)
fn change_action_state(&self, action_name: &str, value: &Variant)
fn is_action_enabled(&self, action_name: &str) -> bool
fn action_parameter_type(&self, action_name: &str) -> Option<VariantType>
fn action_state(&self, action_name: &str) -> Option<Variant>
fn action_state_hint(&self, action_name: &str) -> Option<Variant>
fn action_state_type(&self, action_name: &str) -> Option<VariantType>
fn has_action(&self, action_name: &str) -> bool
fn list_actions(&self) -> Vec<GString, Global>
fn connect_action_added<F>(&self, detail: Option<&str>, f: F) -> SignalHandlerIdwhere
F: 'static + Fn(&O, &str),
fn connect_action_enabled_changed<F>(
&self,
detail: Option<&str>,
f: F
) -> SignalHandlerIdwhere
F: 'static + Fn(&O, &str, bool),
fn connect_action_removed<F>(&self, detail: Option<&str>, f: F) -> SignalHandlerIdwhere
F: 'static + Fn(&O, &str),
fn connect_action_state_changed<F>(
&self,
detail: Option<&str>,
f: F
) -> SignalHandlerIdwhere
F: 'static + Fn(&O, &str, &Variant),
source§impl<O> ActionMapExt for Owhere
O: IsA<ActionMap>,
impl<O> ActionMapExt for Owhere
O: IsA<ActionMap>,
fn add_action(&self, action: &impl IsA<Action>)
fn lookup_action(&self, action_name: &str) -> Option<Action>
fn remove_action(&self, action_name: &str)
source§impl<O> ActionMapExtManual for Owhere
O: IsA<ActionMap>,
impl<O> ActionMapExtManual for Owhere
O: IsA<ActionMap>,
fn add_action_entries(
&self,
entries: impl IntoIterator<Item = ActionEntry<O>>
) -> Result<(), BoolError>
source§impl<O> ApplicationExt for Owhere
O: IsA<Application>,
impl<O> ApplicationExt for Owhere
O: IsA<Application>,
fn activate(&self)
fn add_main_option(
&self,
long_name: &str,
short_name: Char,
flags: OptionFlags,
arg: OptionArg,
description: &str,
arg_description: Option<&str>
)
fn bind_busy_property(&self, object: &impl IsA<Object>, property: &str)
fn application_id(&self) -> Option<GString>
fn dbus_connection(&self) -> Option<DBusConnection>
fn dbus_object_path(&self) -> Option<GString>
fn flags(&self) -> ApplicationFlags
fn inactivity_timeout(&self) -> u32
fn is_busy(&self) -> bool
fn is_registered(&self) -> bool
fn is_remote(&self) -> bool
fn resource_base_path(&self) -> Option<GString>
fn open(&self, files: &[File], hint: &str)
fn quit(&self)
fn register(
&self,
cancellable: Option<&impl IsA<Cancellable>>
) -> Result<(), Error>
fn send_notification(&self, id: Option<&str>, notification: &Notification)
fn set_application_id(&self, application_id: Option<&str>)
fn set_default(&self)
fn set_flags(&self, flags: ApplicationFlags)
fn set_inactivity_timeout(&self, inactivity_timeout: u32)
fn set_option_context_description(&self, description: Option<&str>)
fn set_option_context_parameter_string(&self, parameter_string: Option<&str>)
fn set_option_context_summary(&self, summary: Option<&str>)
fn set_resource_base_path(&self, resource_path: Option<&str>)
fn unbind_busy_property(&self, object: &impl IsA<Object>, property: &str)
fn withdraw_notification(&self, id: &str)
fn set_action_group<P>(&self, action_group: Option<&P>)where
P: IsA<ActionGroup>,
fn connect_activate<F>(&self, f: F) -> SignalHandlerIdwhere
F: 'static + Fn(&O),
fn connect_command_line<F>(&self, f: F) -> SignalHandlerIdwhere
F: 'static + Fn(&O, &ApplicationCommandLine) -> i32,
fn connect_handle_local_options<F>(&self, f: F) -> SignalHandlerIdwhere
F: 'static + Fn(&O, &VariantDict) -> i32,
source§fn connect_name_lost<F>(&self, f: F) -> SignalHandlerIdwhere
F: 'static + Fn(&O) -> bool,
fn connect_name_lost<F>(&self, f: F) -> SignalHandlerIdwhere
F: 'static + Fn(&O) -> bool,
v2_60
only.fn connect_shutdown<F>(&self, f: F) -> SignalHandlerIdwhere
F: 'static + Fn(&O),
fn connect_startup<F>(&self, f: F) -> SignalHandlerIdwhere
F: 'static + Fn(&O),
fn connect_action_group_notify<F>(&self, f: F) -> SignalHandlerIdwhere
F: 'static + Fn(&O),
fn connect_application_id_notify<F>(&self, f: F) -> SignalHandlerIdwhere
F: 'static + Fn(&O),
fn connect_flags_notify<F>(&self, f: F) -> SignalHandlerIdwhere
F: 'static + Fn(&O),
fn connect_inactivity_timeout_notify<F>(&self, f: F) -> SignalHandlerIdwhere
F: 'static + Fn(&O),
fn connect_is_busy_notify<F>(&self, f: F) -> SignalHandlerIdwhere
F: 'static + Fn(&O),
fn connect_is_registered_notify<F>(&self, f: F) -> SignalHandlerIdwhere
F: 'static + Fn(&O),
fn connect_is_remote_notify<F>(&self, f: F) -> SignalHandlerIdwhere
F: 'static + Fn(&O),
fn connect_resource_base_path_notify<F>(&self, f: F) -> SignalHandlerIdwhere
F: 'static + Fn(&O),
source§impl<O> ApplicationExtManual for Owhere
O: IsA<Application>,
impl<O> ApplicationExtManual for Owhere
O: IsA<Application>,
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