DiagramDesigner/diagramUtils/source/componentIconManager.cpp

46 lines
1.1 KiB
C++

#include "componentIconManager.h"
ComponentIconManager& ComponentIconManager::instance()
{
//采用静态局部变量的方式,静态局部变量的初始化是在第一次访问时,以后的调用不会多次初始化,并且生命周期和程序一致
static ComponentIconManager instance;
return instance;
}
ComponentIconManager::ComponentIconManager(QObject *parent)
: QObject(parent)
{
_init = false;
initialData();
}
ComponentIconManager::~ComponentIconManager()
{
}
void ComponentIconManager::initialData()
{
addIcon("circuitBreaker",DM_edit,VI_thumbnail,"abcde");
}
void ComponentIconManager::addIcon(QString sType,DiagramMode mode,VariantIcon varIcon, QString iconPath)
{
_mapIcon[sType][mode][varIcon] = iconPath;
}
QString ComponentIconManager::getIconPath(QString tpe,DiagramMode mode,VariantIcon varIcon)
{
if(_mapIcon.contains(tpe))
{
if(_mapIcon[tpe].contains(mode))
{
if(_mapIcon[tpe][mode].contains(varIcon))
{
return _mapIcon[tpe][mode][varIcon];
}
}
}
return QString();
}