Gtk::IconSource Class Reference

## Public Member Functions

| IconSource ()
| IconSource (GtkIconSource* gobject, bool make_a_copy=true)
| IconSource (const IconSource& other)
IconSource& | operator= (const IconSource& other)
| IconSource (IconSource&& other) noexcept
IconSource& | operator= (IconSource&& other) noexcept
| ~IconSource () noexcept
void | swap (IconSource& other) noexcept
GtkIconSource* | gobj ()
| Provides access to the underlying C instance. More...
const GtkIconSource* | gobj () const
| Provides access to the underlying C instance. More...
GtkIconSource* | gobj_copy () const
| Provides access to the underlying C instance. The caller is responsible for freeing it. Use when directly setting fields in structs. More...
void | set_filename (const Glib::ustring& filename)
| Sets the name of an image file to use as a base image when creating icon variants for Gtk::IconSet. More...
void | set_pixbuf (const Glib::RefPtr< Gdk::Pixbuf >& pixbuf)
| Sets a pixbuf to use as a base image when creating icon variants for Gtk::IconSet. More...
Glib::ustring | get_filename () const
| Retrieves the source filename, or `nullptr` if none is set. More...
Glib::RefPtr< Gdk::Pixbuf > | get_pixbuf ()
| Retrieves the source pixbuf, or `nullptr` if none is set. More...
Glib::RefPtr< const Gdk::Pixbuf > | get_pixbuf () const
| Retrieves the source pixbuf, or `nullptr` if none is set. More...
void | set_direction_wildcarded (bool setting=true)
| If the text direction is wildcarded, this source can be used as the base image for an icon in any Gtk::TextDirection. More...
void | set_state_wildcarded (bool setting=true)
| If the widget state is wildcarded, this source can be used as the base image for an icon in any Gtk::StateType. More...
void | set_size_wildcarded (bool setting=true)
| If the icon size is wildcarded, this source can be used as the base image for an icon of any size. More...
bool | get_size_wildcarded () const
| Gets the value set by set_size_wildcarded(). More...
bool | get_state_wildcarded () const
| Gets the value set by set_state_wildcarded(). More...
bool | get_direction_wildcarded () const
| Gets the value set by set_direction_wildcarded(). More...
void | set_direction (TextDirection direction)
| Sets the text direction this icon source is intended to be used with. More...
void | set_state (Gtk::StateType state)
| Sets the widget state this icon source is intended to be used with. More...
void | set_size (IconSize size)
| Sets the icon size this icon source is intended to be used with. More...
TextDirection | get_direction () const
| Obtains the text direction this icon source applies to. More...
Gtk::StateType | get_state () const
| Obtains the widget state this icon source applies to. More...
IconSize | get_size () const
| Obtains the icon size this source applies to. More...
void | set_icon_name (const Glib::ustring& icon_name)
| Sets the name of an icon to look up in the current icon theme to use as a base image when creating icon variants for Gtk::IconSet. More...
Glib::ustring | get_icon_name () const
| Retrieves the source icon name, or `nullptr` if none is set. More...

## Static Public Member Functions

static GType | get_type ()
| Get the GType for this class, for use with the underlying GObject type system. More...

## Protected Attributes

GtkIconSource* | gobject_

## Related Functions

(Note that these are not member functions.)
void | swap (IconSource& lhs, IconSource& rhs) noexcept
Gtk::IconSource | wrap (GtkIconSource* object, bool take_copy=false)
| A Glib::wrap() method for this object. More...

## Constructor & Destructor Documentation

Gtk::IconSource::IconSource | ( |  | ) |

Gtk::IconSource::IconSource | ( | GtkIconSource * | gobject,
|  | bool | make_a_copy = `true`
| ) |  |

explicit

Gtk::IconSource::IconSource | ( | const IconSource& | other | ) |

Gtk::IconSource::IconSource | ( | IconSource&& | other | ) |

noexcept

Gtk::IconSource::~IconSource | ( |  | ) |

noexcept

## Member Function Documentation

TextDirection Gtk::IconSource::get_direction | ( |  | ) | const

Obtains the text direction this icon source applies to.

The return value is only useful/meaningful if the text direction is not wildcarded.

Returns
  Text direction this source matches.

bool Gtk::IconSource::get_direction_wildcarded | ( |  | ) | const

Gets the value set by set_direction_wildcarded().

Returns
  `true` if this icon source is a base for any text direction variant.

Glib::ustring Gtk::IconSource::get_filename | ( |  | ) | const

Retrieves the source filename, or `nullptr` if none is set.

The filename is not a copy, and should not be modified or expected to persist beyond the lifetime of the icon source.

Returns
  Image filename. This string must not be modified or freed.

Glib::ustring Gtk::IconSource::get_icon_name | ( |  | ) | const

Retrieves the source icon name, or `nullptr` if none is set.

The icon_name is not a copy, and should not be modified or expected to persist beyond the lifetime of the icon source.

Returns
  Icon name. This string must not be modified or freed.

Glib::RefPtr<Gdk::Pixbuf> Gtk::IconSource::get_pixbuf | ( |  | ) |

Retrieves the source pixbuf, or `nullptr` if none is set.

In addition, if a filename source is in use, this function in some cases will return the pixbuf from loaded from the filename. This is, for example, true for the GtkIconSource passed to the GtkStyle::render_icon() virtual function. The reference count on the pixbuf is not incremented.

Returns
  Source pixbuf.

Glib::RefPtr<const Gdk::Pixbuf> Gtk::IconSource::get_pixbuf | ( |  | ) | const

Retrieves the source pixbuf, or `nullptr` if none is set.

In addition, if a filename source is in use, this function in some cases will return the pixbuf from loaded from the filename. This is, for example, true for the GtkIconSource passed to the GtkStyle::render_icon() virtual function. The reference count on the pixbuf is not incremented.

Returns
  Source pixbuf.

IconSize Gtk::IconSource::get_size | ( |  | ) | const

Obtains the icon size this source applies to.

The return value is only useful/meaningful if the icon size is not wildcarded.

Returns
  Icon size this source matches.

bool Gtk::IconSource::get_size_wildcarded | ( |  | ) | const

Gets the value set by set_size_wildcarded().

Returns
  `true` if this icon source is a base for any icon size variant.

Gtk::StateType Gtk::IconSource::get_state | ( |  | ) | const

Obtains the widget state this icon source applies to.

The return value is only useful/meaningful if the widget state is not wildcarded.

Returns
  Widget state this source matches.

bool Gtk::IconSource::get_state_wildcarded | ( |  | ) | const

Gets the value set by set_state_wildcarded().

Returns
  `true` if this icon source is a base for any widget state variant.

static GType Gtk::IconSource::get_type | ( |  | ) |

static

Get the GType for this class, for use with the underlying GObject type system.

GtkIconSource* Gtk::IconSource::gobj | ( |  | ) |

inline

Provides access to the underlying C instance.

const GtkIconSource* Gtk::IconSource::gobj | ( |  | ) | const

inline

Provides access to the underlying C instance.

GtkIconSource* Gtk::IconSource::gobj_copy | ( |  | ) | const

Provides access to the underlying C instance. The caller is responsible for freeing it. Use when directly setting fields in structs.

IconSource& Gtk::IconSource::operator= | ( | const IconSource& | other | ) |

IconSource& Gtk::IconSource::operator= | ( | IconSource&& | other | ) |

noexcept

void Gtk::IconSource::set_direction | ( | TextDirection | direction | ) |

Sets the text direction this icon source is intended to be used with.

Setting the text direction on an icon source makes no difference if the text direction is wildcarded. Therefore, you should usually call set_direction_wildcarded() to un-wildcard it in addition to calling this function.

Parameters

  direction | Text direction this source applies to.

void Gtk::IconSource::set_direction_wildcarded | ( | bool | setting = `true` | ) |

If the text direction is wildcarded, this source can be used as the base image for an icon in any Gtk::TextDirection.

If the text direction is not wildcarded, then the text direction the icon source applies to should be set with set_direction(), and the icon source will only be used with that text direction.

Gtk::IconSet prefers non-wildcarded sources (exact matches) over wildcarded sources, and will use an exact match when possible.

Parameters

  setting | `true` to wildcard the text direction.

void Gtk::IconSource::set_filename | ( | const Glib::ustring & | filename | ) |

Sets the name of an image file to use as a base image when creating icon variants for Gtk::IconSet.

The filename must be absolute.

Parameters

  filename | Image file to use.

void Gtk::IconSource::set_icon_name | ( | const Glib::ustring & | icon_name | ) |

Sets the name of an icon to look up in the current icon theme to use as a base image when creating icon variants for Gtk::IconSet.

Parameters

  icon_name | Name of icon to use.

void Gtk::IconSource::set_pixbuf | ( | const Glib::RefPtr< Gdk::Pixbuf >& | pixbuf | ) |

Sets a pixbuf to use as a base image when creating icon variants for Gtk::IconSet.

Parameters

  pixbuf | Pixbuf to use as a source.

void Gtk::IconSource::set_size | ( | IconSize | size | ) |

Sets the icon size this icon source is intended to be used with.

Setting the icon size on an icon source makes no difference if the size is wildcarded. Therefore, you should usually call set_size_wildcarded() to un-wildcard it in addition to calling this function.

Parameters

  size | Icon size this source applies to.

void Gtk::IconSource::set_size_wildcarded | ( | bool | setting = `true` | ) |

If the icon size is wildcarded, this source can be used as the base image for an icon of any size.

If the size is not wildcarded, then the size the source applies to should be set with set_size() and the icon source will only be used with that specific size.

Gtk::IconSet prefers non-wildcarded sources (exact matches) over wildcarded sources, and will use an exact match when possible.

Gtk::IconSet will normally scale wildcarded source images to produce an appropriate icon at a given size, but will not change the size of source images that match exactly.

Parameters

  setting | `true` to wildcard the widget state.

void Gtk::IconSource::set_state | ( | Gtk::StateType | state | ) |

Sets the widget state this icon source is intended to be used with.

Setting the widget state on an icon source makes no difference if the state is wildcarded. Therefore, you should usually call set_state_wildcarded() to un-wildcard it in addition to calling this function.

Parameters

  state | Widget state this source applies to.

void Gtk::IconSource::set_state_wildcarded | ( | bool | setting = `true` | ) |

If the widget state is wildcarded, this source can be used as the base image for an icon in any Gtk::StateType.

If the widget state is not wildcarded, then the state the source applies to should be set with set_state() and the icon source will only be used with that specific state.

Gtk::IconSet prefers non-wildcarded sources (exact matches) over wildcarded sources, and will use an exact match when possible.

Gtk::IconSet will normally transform wildcarded source images to produce an appropriate icon for a given state, for example lightening an image on prelight, but will not modify source images that match exactly.

Parameters

  setting | `true` to wildcard the widget state.

void Gtk::IconSource::swap | ( | IconSource& | other | ) |

noexcept

## Friends And Related Function Documentation

void swap | ( | IconSource& | lhs,
|  | IconSource& | rhs
| ) |  |

related

Parameters

  lhs | The left-hand side
  rhs | The right-hand side

Gtk::IconSource wrap | ( | GtkIconSource * | object,
|  | bool | take_copy = `false`
| ) |  |

related

A Glib::wrap() method for this object.

Parameters

  object | The C instance.
  take_copy | False if the result should take ownership of the C instance. True if it should take a new copy or ref.

Returns
  A C++ instance that wraps this C instance.

## Member Data Documentation

GtkIconSource* Gtk::IconSource::gobject_

protected

The documentation for this class was generated from the following file:

- gtkmm/iconsource.h