/** @file
* VBox Qt GUI - UIIconPool class declaration.
*/
/*
* Copyright (C) 2010-2014 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
* General Public License (GPL) as published by the Free Software
* Foundation, in version 2 as it comes in the "COPYING" file of the
* VirtualBox OSE distribution. VirtualBox OSE is distributed in the
* hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
*/
#ifndef ___UIIconPool_h___
#define ___UIIconPool_h___
/* Qt includes: */
#include <QIcon>
#include <QPixmap>
#include <QHash>
/** Interface which provides GUI with static API
* allowing to dynamically compose icons at runtime. */
{
/** Default icon types. */
enum UIDefaultIconType
{
/* Message-box related stuff: */
/* Dialog related stuff: */
};
/** Creates pixmap from passed pixmap @a strName. */
/** Creates icon from passed pixmap names for
* @a strNormal, @a strDisabled and @a strActive icon states. */
/** Creates icon from passed pixmap names for
* @a strNormal, @a strDisabled, @a strActive icon states and
* their analogs for toggled-off case. Used for toggle actions. */
/** Creates icon from passed pixmap names for
* @a strNormal, @a strDisabled, @a strActive icon states and
* their analogs for small-icon case. Used for setting pages. */
/** Creates icon from passed pixmaps for
* @a normal, @a disabled and @a active icon states. */
/** Creates icon of passed @a defaultIconType
* based on passed @a pWidget style (if any) or application style (otherwise). */
/** Icon-pool constructor. */
UIIconPool() {};
/** Icon-pool destructor. */
virtual ~UIIconPool() {};
/** Adds resource named @a strName to passed @a icon
* for @a mode (QIcon::Normal by default) and @a state (QIcon::Off by default). */
};
/** UIIconPool interface extension used as general GUI icon-pool.
* Provides GUI with guest OS types pixmap cache. */
{
/** General icon-pool constructor. */
/** Returns pixmap corresponding to passed @a strOSTypeID.
* In case if non-null @a pLogicalSize pointer provided, it will be updated properly. */
/** Guest OS type icon-names cache. */
/** Guest OS type icons cache. */
};
#endif /* !___UIIconPool_h___ */