
Gnome::Gio::ThemedIcon
Icon theming support
Description
include: gio/gio.h
Gnome::Gio::ThemedIcon is an implementation of Gnome::Gio::Icon that supports icon themes. Gnome::Gio::ThemedIcon contains a list of all of the icons present in an icon theme, so that icons can be looked up quickly. Gnome::Gio::ThemedIcon does not provide actual pixmaps for icons, just the icon names. Ideally something like gtk-icon-theme-choose-icon()
should be used to resolve the list of names so that fallback icons work nicely with themes that inherit other themes.
See Also
Gnome::Gio::Icon, Gnome::Gio::LoadableIcon
Synopsis
Declaration
unit class Gnome::Gio::ThemedIcon; also is Gnome::GObject::Object; also does Gnome::Gio::Icon;
Uml Diagram
Methods
new
:iconname
Creates a new themed icon for iconname.
method new ( Str :$iconname! )
Str $iconname; A string.
:iconnames
Creates a new themed icon for iconnames.
method new ( Str :@iconnames! )
Str @iconnames; An array of strings.
:fallbacks
Creates a new themed icon for iconname, and all the names that can be created by shortening iconname at '-' characters.
method new( Str :$fallbacks! )
Example
In the following example, $icon1 and $icon2 are equivalent:
my @names = < gnome-dev-cdrom-audio gnome-dev-cdrom gnome-dev gnome >; my Gnome::Gio::ThemedIcon ( $icon1, $icon2); $icon1 .= new(:iconnames(@names)); $icon2 .= new(:fallbacks<gnome-dev-cdrom-audio>);
:string
Generate a Gnome::Gio::FileIcon instance from a string. This function can fail if the string is not valid - see Gnome::Gio::Icon.to-string()
for discussion. When it fails, the error object in the attribute $.last-error
will be set.
method new ( Str :$string! )
Str $string; A string obtained via
Gnome::Gio::Icon.to-string()
.
:native-object
Create a ThemedIcon object using a native object from elsewhere. See also Gnome::N::TopLevelClassSupport.
multi method new ( N-GObject :$native-object! )
append-name
Append a name to the list of icons from within icon.
method append-name ( Str $iconname )
Str $iconname; name of icon to append to list of icons from within icon.
get-names
Gets the names of icons from within icon.
method get-names ( --> Array )
prepend-name
Prepend a name to the list of icons from within icon.
Note that doing so invalidates the hash computed by prior calls to g-icon-hash()
.
method prepend-name ( Str $iconname )
Str $iconname; name of icon to prepend to list of icons from within icon.
_g_themed_icon_new
Creates a new themed icon for iconname.
Returns: (type GThemedIcon): a new Gnome::Gio::ThemedIcon.
method _g_themed_icon_new ( Str $iconname --> N-GObject )
Str $iconname; a string containing an icon name.
_g_themed_icon_new_from_names
Creates a new themed icon for iconnames.
Returns: (type GThemedIcon): a new Gnome::Gio::ThemedIcon
method _g_themed_icon_new_from_names ( CArray[Str] $iconnames, Int() $len --> N-GObject )
CArray[Str] $iconnames; (array length=len): an array of strings containing icon names.
Int() $len; the length of the iconnames array, or -1 if iconnames is
undefined
-terminated
_g_themed_icon_new_with_default_fallbacks
Creates a new themed icon for iconname, and all the names that can be created by shortening iconname at '-' characters.
In the following example, icon1 and icon2 are equivalent: |[<!-- language="C" --> const char *names[] = { "gnome-dev-cdrom-audio", "gnome-dev-cdrom", "gnome-dev", "gnome" };
icon1 = new-from-names (names, 4); icon2 = g-themed-icon-new-with-default-fallbacks ("gnome-dev-cdrom-audio"); ]|
Returns: (type GThemedIcon): a new Gnome::Gio::ThemedIcon.
method _g_themed_icon_new_with_default_fallbacks ( Str $iconname --> N-GObject )
Str $iconname; a string containing an icon name
Properties
An example of using a string type property of a Gnome::Gtk3::Label object. This is just showing how to set/read a property, not that it is the best way to do it. This is because a) The class initialization often provides some options to set some of the properties and b) the classes provide many methods to modify just those properties. In the case below one can use new(:label('my text label')) or .set-text('my text label').
my Gnome::Gtk3::Label $label .= new; my Gnome::GObject::Value $gv .= new(:init(G_TYPE_STRING)); $label.get-property( 'label', $gv); $gv.set-string('my text label');
Supported properties
name: name
The icon name.
The Gnome::GObject::Value type of property name is G_TYPE_STRING
.
names: names
A null
-terminated array of icon names.
The Gnome::GObject::Value type of property names is G_TYPE_BOXED
.
use default fallbacks: use-default-fallbacks
Whether to use the default fallbacks found by shortening the icon name at '-' characters. If the "names" array has more than one element, ignores any past the first.
The Gnome::GObject::Value type of property use-default-fallbacks is G_TYPE_BOOLEAN
.