QIconEngineV2 Class

The QIconEngineV2 class provides an abstract base class for QIcon renderers. More...

Header: #include <QIconEngineV2>
Since: Qt 4.3
Inherits: QIconEngine

Public Types

class AvailableSizesArgument
enum IconEngineHook { AvailableSizesHook, IconNameHook }

Public Functions

QList<QSize> availableSizes(QIcon::Mode mode = QIcon::Normal, QIcon::State state = QIcon::Off)
virtual QIconEngineV2 * clone() const
QString iconName()
virtual QString key() const
virtual bool read(QDataStream & in)
virtual void virtual_hook(int id, void * data)
virtual bool write(QDataStream & out) const

Detailed Description

The QIconEngineV2 class provides an abstract base class for QIcon renderers.

An icon engine renders QIcons. With icon engines, you can customize icons. Qt provides a default engine that makes icons adhere to the current style by scaling the icons and providing a disabled appearance.

An engine is installed on an icon either through a QIcon constructor or through a QIconEnginePluginV2. The plugins are used by Qt if a specific engine is not given when the icon is created. See the QIconEngineV2 class description to learn how to create icon engine plugins.

An icon engine provides the rendering functions for a QIcon. Each icon has a corresponding icon engine that is responsible for drawing the icon with a requested size, mode and state.

QIconEngineV2 extends the API of QIconEngine to allow streaming of the icon engine contents, and should be used instead of QIconEngine for implementing new icon engines.

See also QIconEnginePluginV2.

Member Type Documentation

enum QIconEngineV2::IconEngineHook

These enum values are used for virtual_hook() to allow additional queries to icon engine without breaking binary compatibility.

ConstantValueDescription
QIconEngineV2::AvailableSizesHook1Allows to query the sizes of the contained pixmaps for pixmap-based engines. The data argument of the virtual_hook() function is a AvailableSizesArgument pointer that should be filled with icon sizes. Engines that work in terms of a scalable, vectorial format normally return an empty list.
QIconEngineV2::IconNameHook2Allows to query the name used to create the icon, for example when instantiating an icon using QIcon::fromTheme().

This enum was introduced or modified in Qt 4.5.

See also virtual_hook().

Member Function Documentation

QList<QSize> QIconEngineV2::availableSizes(QIcon::Mode mode = QIcon::Normal, QIcon::State state = QIcon::Off)

Returns sizes of all images that are contained in the engine for the specific mode and state.

Note: This is a helper method and the actual work is done by virtual_hook() method, hence this method depends on icon engine support and may not work with all icon engines.

This function was introduced in Qt 4.5.

[virtual] QIconEngineV2 * QIconEngineV2::clone() const

Returns a clone of this icon engine.

QString QIconEngineV2::iconName()

Returns the name used to create the engine, if available.

Note: This is a helper method and the actual work is done by virtual_hook() method, hence this method depends on icon engine support and may not work with all icon engines.

This function was introduced in Qt 4.7.

[virtual] QString QIconEngineV2::key() const

Returns a key that identifies this icon engine.

[virtual] bool QIconEngineV2::read(QDataStream & in)

Reads icon engine contents from the QDataStream in. Returns true if the contents were read; otherwise returns false.

QIconEngineV2's default implementation always return false.

[virtual] void QIconEngineV2::virtual_hook(int id, void * data)

Additional method to allow extending QIconEngineV2 without adding new virtual methods (and without breaking binary compatibility). The actual action and format of data depends on id argument which is in fact a constant from IconEngineHook enum.

This function was introduced in Qt 4.5.

See also IconEngineHook.

[virtual] bool QIconEngineV2::write(QDataStream & out) const

Writes the contents of this engine to the QDataStream out. Returns true if the contents were written; otherwise returns false.

QIconEngineV2's default implementation always return false.

© 2016 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.