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)
IconSetoperator= (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::Pixbufrender_icon_pixbuf (const Glib::RefPtr< StyleContext >& context, IconSize size)
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< IconSizeget_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:
sourceA 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_idStockID 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_pixbuf ( const Glib::RefPtr< StyleContext >&  context,
IconSize  size 
)
void Gtk::IconSet::swap ( IconSet other )

Friends And Related Function Documentation

void swap ( IconSet lhs,
IconSet rhs 
) [related]
Parameters:
lhsThe left-hand side
rhsThe right-hand side
Gtk::IconSet wrap ( GtkIconSet *  object,
bool  take_copy = false 
) [related]

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

Parameters:
objectThe C instance.
take_copyFalse 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: