gtkmm: Gtk::IconSet Class Reference

gtkmm 2.24.2

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes

- Class List
- Class Index
- Class Hierarchy
- Class Members

Public Member Functions | Static Public Member Functions | Protected Attributes | Related Functions

# Gtk::IconSet Class Reference

This manages a set of variants of a particular icon An IconSet contains variants for different sizes and widget states. More...

List of all members.

## Public Member Functions
| IconSet ()
| IconSet (GtkIconSet* gobject, bool make_a_copy=true)
| IconSet (const IconSet& other)
IconSet& | operator= (const IconSet& other)
| ~IconSet ()
void | swap (IconSet& other)
GtkIconSet* | gobj ()
| Provides access to the underlying C instance.
const GtkIconSet* | gobj () const
| Provides access to the underlying C instance.
GtkIconSet* | gobj_copy () const
| Provides access to the underlying C instance. The caller is responsible for freeing it. Use when directly setting fields in structs.
| IconSet (const Glib::RefPtr< Gdk::Pixbuf >& pixbuf)
IconSet | copy () const
| Copies icon_set by value.
Glib::RefPtr< Gdk::Pixbuf > | render_icon (const Glib::RefPtr< Style >& style, TextDirection direction, Gtk::StateType state, IconSize size, Widget& widget, const Glib::ustring& detail)
| Renders an icon using Gtk::Style::render_icon().
void | add_source (const IconSource& source)
| Icon sets have a list of Gtk::IconSource, which they use as base icons for rendering icons in different states and sizes.
Glib::ArrayHandle< IconSize > | get_sizes () const
## Static Public Member Functions
static IconSet | lookup_default (const Gtk::StockID& stock_id)
| Looks for an icon in the list of default icon factories.
## Protected Attributes
GtkIconSet* | gobject_
## Related Functions
(Note that these are not member functions.)
void | swap (IconSet& lhs, IconSet& rhs)
Gtk::IconSet | wrap (GtkIconSet* object, bool take_copy=false)
| A Glib::wrap() method for this object.

## Detailed Description

This manages a set of variants of a particular icon An IconSet contains variants for different sizes and widget states.

Icons in an icon factory are named by a stock ID, which is a simple string identifying the icon. Each GtkStyle has a list of GtkIconFactory derived from the current theme; those icon factories are consulted first when searching for an icon. If the theme doesn't set a particular icon, GTK+ looks for the icon in a list of default icon factories, maintained by gtk_icon_factory_add_default() and gtk_icon_factory_remove_default(). Applications with icons should add a default icon factory with their icons, which will allow themes to override the icons for the application.

## Constructor & Destructor Documentation

Gtk::IconSet::IconSet | ( |  | ) |

Gtk::IconSet::IconSet | ( | GtkIconSet * | gobject,
|  | bool | make_a_copy = `true`
| ) |  | `[explicit]`

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

Gtk::IconSet::~IconSet | ( |  | ) |

Gtk::IconSet::IconSet | ( | const Glib::RefPtr< Gdk::Pixbuf >& | pixbuf | ) | `[explicit]`

## Member Function Documentation

void Gtk::IconSet::add_source | ( | const IconSource& | source | ) |

Icon sets have a list of Gtk::IconSource, which they use as base icons for rendering icons in different states and sizes.

Icons are scaled, made to look insensitive, etc. in render_icon(), but Gtk::IconSet needs base images to work with. The base images and when to use them are described by a Gtk::IconSource.

This function copies source, so you can reuse the same source immediately without affecting the icon set.

An example of when you'd use this function: a web browser's "Back to Previous Page" icon might point in a different direction in Hebrew and in English; it might look different when insensitive; and it might change size depending on toolbar mode (small/large icons). So a single icon set would contain all those variants of the icon, and you might add a separate source for each one.

You should nearly always add a "default" icon source with all fields wildcarded, which will be used as a fallback if no more specific source matches. Gtk::IconSet always prefers more specific icon sources to more generic icon sources. The order in which you add the sources to the icon set does not matter.

new_from_pixbuf() creates a new icon set with a default icon source based on the given pixbuf.

Parameters:

  source | A Gtk::IconSource.

IconSet Gtk::IconSet::copy | ( |  | ) | const

Copies icon_set by value.

Returns:
  A new Gtk::IconSet identical to the first.

Glib::ArrayHandle<IconSize> Gtk::IconSet::get_sizes | ( |  | ) | const

const GtkIconSet* Gtk::IconSet::gobj | ( |  | ) | const`[inline]`

Provides access to the underlying C instance.

GtkIconSet* Gtk::IconSet::gobj | ( |  | ) | `[inline]`

Provides access to the underlying C instance.

GtkIconSet* Gtk::IconSet::gobj_copy | ( |  | ) | const

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

static IconSet Gtk::IconSet::lookup_default | ( | const Gtk::StockID& | stock_id | ) | `[static]`

Looks for an icon in the list of default icon factories.

Parameters:

  stock_id | StockID to search for

For display to the user, you should use Style::lookup_icon_set() on the Style for the widget that will display the icon, instead of using this function directly, so that themes are taken into account

Returns:
  an IconSet

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

Glib::RefPtr<Gdk::Pixbuf> Gtk::IconSet::render_icon | ( | const Glib::RefPtr< Style >& | style,
|  | TextDirection | direction,
|  | Gtk::StateType | state,
|  | IconSize | size,
|  | Widget& | widget,
|  | const Glib::ustring & | detail
| ) |  |

Renders an icon using Gtk::Style::render_icon().

In most cases, Gtk::Widget::render_icon() is better, since it automatically provides most of the arguments from the current widget settings. This function never returns `0`; if the icon can't be rendered (perhaps because an image file fails to load), a default "missing image" icon will be returned instead.

Parameters:

  style | A Gtk::Style associated with widget, or `0`.
  direction | Text direction.
  state | Widget state.
  size | Icon size. A size of (GtkIconSize)-1 means render at the size of the source and don't scale.
  widget | Widget that will display the icon, or `0`. The only use that is typically made of this is to determine the appropriate Gdk::Screen.
  detail | Detail to pass to the theme engine, or `0`. Note that passing a detail of anything but `0` will disable caching.

Returns:
  A Gdk::Pixbuf to be displayed.

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

## Friends And Related Function Documentation

void swap | ( | IconSet& | lhs,
|  | IconSet& | rhs
| ) |  | `[related]`

Parameters:

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

Gtk::IconSet wrap | ( | GtkIconSet * | 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

GtkIconSet* Gtk::IconSet::gobject_`[protected]`

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

- gtkmm/iconset.h