Struct gio::DesktopAppInfo

source ·
pub struct DesktopAppInfo { /* private fields */ }
Available on non-Windows and non-macOS only.
Expand description

GDesktopAppInfo is an implementation of AppInfo based on desktop files.

Note that <gio/gdesktopappinfo.h> belongs to the UNIX-specific GIO interfaces, thus you have to use the gio-unix-2.0.pc pkg-config file when using it.

§Properties

§filename

The origin filename of this #GDesktopAppInfo

Readable | Writeable | Construct Only

§Implements

[trait@glib::ObjectExt], AppInfoExt, DesktopAppInfoExtManual, AppInfoExtManual

Implementations§

source§

impl DesktopAppInfo

source

pub fn search(search_string: &str) -> Vec<Vec<GString>>

Searches desktop files for ones that match @search_string.

The return value is an array of strvs. Each strv contains a list of applications that matched @search_string with an equal score. The outer list is sorted by score so that the first strv contains the best-matching applications, and so on. The algorithm for determining matches is undefined and may change at any time.

None of the search results are subjected to the normal validation checks performed by g_desktop_app_info_new() (for example, checking that the executable referenced by a result exists), and so it is possible for g_desktop_app_info_new() to return None when passed an app ID returned by this function. It is expected that calling code will do this when subsequently creating a #GDesktopAppInfo for each result.

§search_string

the search string to use

§Returns

a list of strvs. Free each item with g_strfreev() and free the outer list with g_free().

source§

impl DesktopAppInfo

source

pub fn new(desktop_id: &str) -> Option<DesktopAppInfo>

Creates a new #GDesktopAppInfo based on a desktop file id.

A desktop file id is the basename of the desktop file, including the .desktop extension. GIO is looking for a desktop file with this name in the applications subdirectories of the XDG data directories (i.e. the directories specified in the XDG_DATA_HOME and XDG_DATA_DIRS environment variables). GIO also supports the prefix-to-subdirectory mapping that is described in the Menu Spec (i.e. a desktop id of kde-foo.desktop will match /usr/share/applications/kde/foo.desktop).

§desktop_id

the desktop file id

§Returns

a new #GDesktopAppInfo, or None if no desktop file with that id exists.

source

pub fn from_filename(filename: impl AsRef<Path>) -> Option<DesktopAppInfo>

Creates a new #GDesktopAppInfo.

§filename

the path of a desktop file, in the GLib filename encoding

§Returns

a new #GDesktopAppInfo or None on error.

source

pub fn from_keyfile(key_file: &KeyFile) -> Option<DesktopAppInfo>

Creates a new #GDesktopAppInfo.

§key_file

an opened #GKeyFile

§Returns

a new #GDesktopAppInfo or None on error.

source

pub fn action_name(&self, action_name: &str) -> GString

Gets the user-visible display name of the “additional application action” specified by @action_name.

This corresponds to the “Name” key within the keyfile group for the action.

§action_name

the name of the action as from g_desktop_app_info_list_actions()

§Returns

the locale-specific action name

source

pub fn boolean(&self, key: &str) -> bool

Looks up a boolean value in the keyfile backing @self.

The @key is looked up in the “Desktop Entry” group.

§key

the key to look up

§Returns

the boolean value, or false if the key is not found

source

pub fn categories(&self) -> Option<GString>

Gets the categories from the desktop file.

§Returns

The unparsed Categories key from the desktop file; i.e. no attempt is made to split it by ‘;’ or validate it.

source

pub fn filename(&self) -> Option<PathBuf>

When @self was created from a known filename, return it. In some situations such as the #GDesktopAppInfo returned from g_desktop_app_info_new_from_keyfile(), this function will return None.

§Returns

The full path to the file for @self, or None if not known.

source

pub fn generic_name(&self) -> Option<GString>

Gets the generic name from the desktop file.

§Returns

The value of the GenericName key

source

pub fn is_hidden(&self) -> bool

A desktop file is hidden if the Hidden key in it is set to True.

§Returns

true if hidden, false otherwise.

source

pub fn keywords(&self) -> Vec<GString>

Gets the keywords from the desktop file.

§Returns

The value of the Keywords key

source

pub fn locale_string(&self, key: &str) -> Option<GString>

Looks up a localized string value in the keyfile backing @self translated to the current locale.

The @key is looked up in the “Desktop Entry” group.

§key

the key to look up

§Returns

a newly allocated string, or None if the key is not found

source

pub fn is_nodisplay(&self) -> bool

Gets the value of the NoDisplay key, which helps determine if the application info should be shown in menus. See G_KEY_FILE_DESKTOP_KEY_NO_DISPLAY and g_app_info_should_show().

§Returns

The value of the NoDisplay key

source

pub fn shows_in(&self, desktop_env: Option<&str>) -> bool

Checks if the application info should be shown in menus that list available applications for a specific name of the desktop, based on the OnlyShowIn and NotShowIn keys.

@desktop_env should typically be given as None, in which case the XDG_CURRENT_DESKTOP environment variable is consulted. If you want to override the default mechanism then you may specify @desktop_env, but this is not recommended.

Note that g_app_info_should_show() for @self will include this check (with None for @desktop_env) as well as additional checks.

§desktop_env

a string specifying a desktop name

§Returns

true if the @self should be shown in @desktop_env according to the OnlyShowIn and NotShowIn keys, false otherwise.

source

pub fn startup_wm_class(&self) -> Option<GString>

Retrieves the StartupWMClass field from @self. This represents the WM_CLASS property of the main window of the application, if launched through @self.

§Returns

the startup WM class, or None if none is set in the desktop file.

source

pub fn string(&self, key: &str) -> Option<GString>

Looks up a string value in the keyfile backing @self.

The @key is looked up in the “Desktop Entry” group.

§key

the key to look up

§Returns

a newly allocated string, or None if the key is not found

source

pub fn string_list(&self, key: &str) -> Vec<GString>

Available on crate feature v2_60 only.

Looks up a string list value in the keyfile backing @self.

The @key is looked up in the “Desktop Entry” group.

§key

the key to look up

§Returns

a None-terminated string array or None if the specified key cannot be found. The array should be freed with g_strfreev().

source

pub fn has_key(&self, key: &str) -> bool

Returns whether @key exists in the “Desktop Entry” group of the keyfile backing @self.

§key

the key to look up

§Returns

true if the @key exists

source

pub fn launch_action( &self, action_name: &str, launch_context: Option<&impl IsA<AppLaunchContext>> )

Activates the named application action.

You may only call this function on action names that were returned from g_desktop_app_info_list_actions().

Note that if the main entry of the desktop file indicates that the application supports startup notification, and @launch_context is non-None, then startup notification will be used when activating the action (and as such, invocation of the action on the receiving side must signal the end of startup notification when it is completed). This is the expected behaviour of applications declaring additional actions, as per the desktop file specification.

As with g_app_info_launch() there is no way to detect failures that occur while using this function.

§action_name

the name of the action as from g_desktop_app_info_list_actions()

§launch_context

a #GAppLaunchContext

source

pub fn launch_uris_as_manager( &self, uris: &[&str], launch_context: Option<&impl IsA<AppLaunchContext>>, spawn_flags: SpawnFlags, user_setup: Option<Box_<dyn FnOnce() + 'static>>, pid_callback: Option<&mut dyn FnMut(&DesktopAppInfo, Pid)> ) -> Result<(), Error>

This function performs the equivalent of g_app_info_launch_uris(), but is intended primarily for operating system components that launch applications. Ordinary applications should use g_app_info_launch_uris().

If the application is launched via GSpawn, then @spawn_flags, @user_setup and @user_setup_data are used for the call to g_spawn_async(). Additionally, @pid_callback (with @pid_callback_data) will be called to inform about the PID of the created process. See g_spawn_async_with_pipes() for information on certain parameter conditions that can enable an optimized posix_spawn() codepath to be used.

If application launching occurs via some other mechanism (eg: D-Bus activation) then @spawn_flags, @user_setup, @user_setup_data, @pid_callback and @pid_callback_data are ignored.

§uris

List of URIs

§launch_context

a #GAppLaunchContext

§spawn_flags

#GSpawnFlags, used for each process

§user_setup

a #GSpawnChildSetupFunc, used once for each process.

§user_setup_data

User data for @user_setup

§pid_callback

Callback for child processes

§pid_callback_data

User data for @callback

§Returns

true on successful launch, false otherwise.

source

pub fn list_actions(&self) -> Vec<GString>

Returns the list of “additional application actions” supported on the desktop file, as per the desktop file specification.

As per the specification, this is the list of actions that are explicitly listed in the “Actions” key of the [Desktop Entry] group.

§Returns

a list of strings, always non-None

source

pub fn implementations(interface: &str) -> Vec<DesktopAppInfo>

Gets all applications that implement @interface.

An application implements an interface if that interface is listed in the Implements= line of the desktop file of the application.

§interface

the name of the interface

§Returns

a list of #GDesktopAppInfo objects.

Trait Implementations§

source§

impl Clone for DesktopAppInfo

source§

fn clone(&self) -> Self

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for DesktopAppInfo

source§

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

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

impl HasParamSpec for DesktopAppInfo

§

type ParamSpec = ParamSpecObject

§

type SetValue = DesktopAppInfo

Preferred value to be used as setter for the associated ParamSpec.
§

type BuilderFn = fn(_: &str) -> ParamSpecObjectBuilder<'_, DesktopAppInfo>

source§

fn param_spec_builder() -> Self::BuilderFn

source§

impl Hash for DesktopAppInfo

source§

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

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

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

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

impl Ord for DesktopAppInfo

source§

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

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

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

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

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

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

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

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

impl ParentClassIs for DesktopAppInfo

source§

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

source§

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

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

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

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

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

source§

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

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

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

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

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

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

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

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

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

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

impl StaticType for DesktopAppInfo

source§

fn static_type() -> Type

Returns the type identifier of Self.
source§

impl Eq for DesktopAppInfo

source§

impl IsA<AppInfo> for DesktopAppInfo

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<O> AppInfoExt for O
where O: IsA<AppInfo>,

source§

fn add_supports_type(&self, content_type: &str) -> Result<(), Error>

Adds a content type to the application information to indicate the application is capable of opening files with the given content type. Read more
source§

fn can_delete(&self) -> bool

Obtains the information whether the #GAppInfo can be deleted. See g_app_info_delete(). Read more
source§

fn can_remove_supports_type(&self) -> bool

Checks if a supported content type can be removed from an application. Read more
source§

fn delete(&self) -> bool

Tries to delete a #GAppInfo. Read more
source§

fn dup(&self) -> AppInfo

Creates a duplicate of a #GAppInfo. Read more
source§

fn equal(&self, appinfo2: &impl IsA<AppInfo>) -> bool

source§

fn commandline(&self) -> Option<PathBuf>

Gets the commandline with which the application will be started. Read more
source§

fn description(&self) -> Option<GString>

Gets a human-readable description of an installed application. Read more
source§

fn display_name(&self) -> GString

Gets the display name of the application. The display name is often more descriptive to the user than the name itself. Read more
source§

fn executable(&self) -> PathBuf

Gets the executable’s name for the installed application. Read more
source§

fn icon(&self) -> Option<Icon>

Gets the icon for the application. Read more
source§

fn id(&self) -> Option<GString>

Gets the ID of an application. An id is a string that identifies the application. The exact format of the id is platform dependent. For instance, on Unix this is the desktop file id from the xdg menu specification. Read more
source§

fn name(&self) -> GString

Gets the installed name of the application. Read more
source§

fn supported_types(&self) -> Vec<GString>

Retrieves the list of content types that @app_info claims to support. If this information is not provided by the environment, this function will return None. This function does not take in consideration associations added with g_app_info_add_supports_type(), but only those exported directly by the application. Read more
source§

fn launch( &self, files: &[File], context: Option<&impl IsA<AppLaunchContext>> ) -> Result<(), Error>

Launches the application. Passes @files to the launched application as arguments, using the optional @context to get information about the details of the launcher (like what screen it is on). On error, @error will be set accordingly. Read more
source§

fn launch_uris( &self, uris: &[&str], context: Option<&impl IsA<AppLaunchContext>> ) -> Result<(), Error>

Launches the application. This passes the @uris to the launched application as arguments, using the optional @context to get information about the details of the launcher (like what screen it is on). On error, @error will be set accordingly. If the application only supports one URI per invocation as part of their command-line, multiple instances of the application will be spawned. Read more
source§

fn remove_supports_type(&self, content_type: &str) -> Result<(), Error>

Removes a supported type from an application, if possible. Read more
source§

fn set_as_default_for_extension( &self, extension: impl AsRef<Path> ) -> Result<(), Error>

Sets the application as the default handler for the given file extension. Read more
source§

fn set_as_default_for_type(&self, content_type: &str) -> Result<(), Error>

Sets the application as the default handler for a given type. Read more
source§

fn set_as_last_used_for_type(&self, content_type: &str) -> Result<(), Error>

Sets the application as the last used application for a given type. This will make the application appear as first in the list returned by g_app_info_get_recommended_for_type(), regardless of the default application for that content type. Read more
source§

fn should_show(&self) -> bool

Checks if the application info should be shown in menus that list available applications. Read more
source§

fn supports_files(&self) -> bool

Checks if the application accepts files as arguments. Read more
source§

fn supports_uris(&self) -> bool

Checks if the application supports reading files and directories from URIs. Read more
source§

impl<O> AppInfoExtManual for O
where O: IsA<AppInfo>,

source§

fn launch_uris_async<P: IsA<AppLaunchContext>, Q: IsA<Cancellable>, R: FnOnce(Result<(), Error>) + 'static>( &self, uris: &[&str], context: Option<&P>, cancellable: Option<&Q>, callback: R )

Available on crate feature v2_60 only.
Async version of g_app_info_launch_uris(). Read more
source§

fn launch_uris_future<P: IsA<AppLaunchContext> + Clone + 'static>( &self, uris: &[&str], context: Option<&P> ) -> Pin<Box_<dyn Future<Output = Result<(), Error>> + 'static>>

Available on crate feature v2_60 only.
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> Cast for T
where T: ObjectType,

source§

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

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

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

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

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

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

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

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

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

Tries to cast to an object of type T. This handles upcasting, downcasting and casting between interface and interface implementors. All checks are performed at runtime, while upcast will do many checks at compile-time already. downcast will perform the same checks at runtime as dynamic_cast, but will also ensure some amount of compile-time safety. Read more
source§

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

Tries to cast to reference to an object of type T. This handles upcasting, downcasting and casting between interface and interface implementors. All checks are performed at runtime, while downcast and upcast will do many checks at compile-time already. Read more
source§

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

Casts to T unconditionally. Read more
source§

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

Casts to &T unconditionally. Read more
source§

impl<O> DesktopAppInfoExtManual for O
where O: IsA<DesktopAppInfo>,

source§

fn launch_uris_as_manager_with_fds<P: IsA<AppLaunchContext>, T: AsRawFd, U: AsRawFd, V: AsRawFd>( &self, uris: &[&str], launch_context: Option<&P>, spawn_flags: SpawnFlags, user_setup: Option<Box_<dyn FnOnce() + 'static>>, pid_callback: Option<&mut dyn FnMut(&DesktopAppInfo, Pid)>, stdin_fd: &mut T, stdout_fd: &mut U, stderr_fd: &mut V ) -> Result<(), Error>

Available on crate feature v2_58 and Unix only.
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GList> for T

source§

impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GPtrArray> for T

source§

impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GSList> for T

source§

impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GList> for T

source§

impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GPtrArray> for T

source§

impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GSList> for T

source§

impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GList> for T

source§

impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GPtrArray> for T

source§

impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GSList> for T

source§

impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GList> for T

source§

impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GPtrArray> for T

source§

impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GSList> for T

source§

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

source§

fn into(self) -> U

Calls U::from(self).

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

source§

impl<T> IntoClosureReturnValue for T
where T: Into<Value>,

source§

impl<U> IsSubclassableExt for U

source§

impl<T> ObjectExt for T
where T: ObjectType,

source§

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

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

fn type_(&self) -> Type

Returns the type of the object.
source§

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

Returns the ObjectClass of the object. Read more
source§

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

Returns the class of the object.
source§

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

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

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

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

fn set_property(&self, property_name: &str, value: impl Into<Value>)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

fn freeze_notify(&self) -> PropertyNotificationFreezeGuard

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

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

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

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

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

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

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

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

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

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

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

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

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

fn block_signal(&self, handler_id: &SignalHandlerId)

Block a given signal handler. Read more
source§

fn unblock_signal(&self, handler_id: &SignalHandlerId)

Unblock a given signal handler.
source§

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

Stop emission of the currently emitted signal.
source§

fn stop_signal_emission_by_name(&self, signal_name: &str)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Limits the lifetime of closure to the lifetime of the object. When the object’s reference count drops to zero, the closure will be invalidated. An invalidated closure will ignore any calls to invoke_with_values, or invoke when using Rust closures.
source§

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

Emit signal by signal id. Read more
source§

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

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

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

Emit signal by its name. Read more
source§

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

Emit signal by its name. Read more
source§

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

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

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

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

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

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

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

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

fn disconnect(&self, handler_id: SignalHandlerId)

Disconnect a previously connected signal handler.
source§

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

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

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

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

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

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

fn notify(&self, property_name: &str)

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

fn notify_by_pspec(&self, pspec: &ParamSpec)

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

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

Downgrade this object to a weak reference.
source§

fn add_weak_ref_notify<F>(&self, f: F) -> WeakRefNotify<T>
where F: FnOnce() + Send + 'static,

Add a callback to be notified when the Object is disposed.
source§

fn add_weak_ref_notify_local<F>(&self, f: F) -> WeakRefNotify<T>
where F: FnOnce() + 'static,

Add a callback to be notified when the Object is disposed. Read more
source§

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

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

fn ref_count(&self) -> u32

Returns the strong reference count of this object.
source§

unsafe fn run_dispose(&self)

Runs the dispose mechanism of the object. Read more
source§

impl<T> Property for T
where T: HasParamSpec,

§

type Value = T

source§

impl<T> PropertyGet for T
where T: HasParamSpec,

§

type Value = T

source§

fn get<R, F>(&self, f: F) -> R
where F: Fn(&<T as PropertyGet>::Value) -> R,

source§

impl<T> StaticTypeExt for T
where T: StaticType,

source§

fn ensure_type()

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

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

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

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

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

impl<T> TransparentType for T

source§

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

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

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

Performs the conversion.
source§

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

source§

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

§

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

The type returned in the event of a conversion error.
source§

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

Performs the conversion.
source§

impl<'a, T, C, E> FromValueOptional<'a> for T
where T: FromValue<'a, Checker = C>, C: ValueTypeChecker<Error = ValueTypeMismatchOrNoneError<E>>, E: Error + Send + 'static,

source§

impl<Super, Sub> MayDowncastTo<Sub> for Super
where Super: IsA<Super>, Sub: IsA<Super>,