gtkmm: 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...
Public Member Functions | |
IconSet () | |
IconSet (GtkIconSet* gobject, bool make_a_copy=true) | |
IconSet (const IconSet& other) | |
IconSet& | operator= (const IconSet& other) |
IconSet (IconSet&& other) noexcept | |
IconSet& | operator= (IconSet&& other) noexcept |
~IconSet () noexcept | |
void | swap (IconSet& other) noexcept |
GtkIconSet* | gobj () |
Provides access to the underlying C instance. More... | |
const GtkIconSet* | gobj () const |
Provides access to the underlying C instance. More... | |
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. More... | |
IconSet (const Glib::RefPtr< Gdk::Pixbuf >& pixbuf) | |
IconSet | copy () const |
Copies icon_set by value. More... | |
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(). More... | |
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. More... | |
Glib::ArrayHandle< IconSize > | get_sizes () const |
Static Public Member Functions | |
static GType | get_type () |
Get the GType for this class, for use with the underlying GObject type system. More... | |
static IconSet | lookup_default (const Gtk::StockID& stock_id) |
Looks for an icon in the list of default icon factories. More... | |
Protected Attributes | |
GtkIconSet* | gobject_ |
Related Functions | |
(Note that these are not member functions.) | |
void | swap (IconSet& lhs, IconSet& rhs) noexcept |
Gtk::IconSet | wrap (GtkIconSet* object, bool take_copy=false) |
A Glib::wrap() method for this object. More... | |
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 | ( | ) |
|
explicit |
Gtk::IconSet::IconSet | ( | const IconSet& | other | ) |
|
noexcept |
|
noexcept |
|
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 |
|
static |
Get the GType for this class, for use with the underlying GObject type system.
|
inline |
Provides access to the underlying C instance.
|
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 |
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
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 nullptr
; 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 nullptr
.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 nullptr
. 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 nullptr
. Note that passing a detail of anything butnullptr
will disable caching.
- Returns
- A Gdk::Pixbuf to be displayed.
|
noexcept |
Friends And Related Function Documentation
- Parameters
-
lhs The left-hand side rhs The right-hand side
|
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
|
protected |
The documentation for this class was generated from the following file:
- gtkmm/iconset.h