#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(); }