Interfacing Raku to Gnome GTK+

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.

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.