46 lines
1.1 KiB
C++
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();
|
|
}
|