ElementGraphicsItem * ElementFactory::createGraphicsItem(const Type & type, const TypeIdentifier & /*identifier*/) { ElementCreator * c = findCreator(_registeredCreators, type, 0); if(c == 0) { qDebug() << "unable to create an empty ElementGraphicsItem of type" << type.typeName(); return 0; } return c->create(type, 0); }
ElementGraphicsItem * ElementFactory::createGraphicsItem(Element * element) { if(element == 0) return 0; ElementCreator * c = findCreator(_registeredCreators, element->type(), element); if(c == 0) { qDebug() << "unable to create an ElementGraphicsItem for item" << element << "of type" << element->type().typeName(); return 0; } return c->create(element->type(), element); }
CzCommandCreator* CzPrograms::findCreator(const char* name) { return findCreator(CzString::CalculateHash(name)); }
CIwGameCommandCreator* CIwGamePrograms::findCreator(const char* name) { return findCreator(CIwGameString::CalculateHash(name)); }
IIwGameModifierCreator* CIwGameMods::findCreator(const char* name) { return findCreator(CIwGameString::CalculateHash(name)); }