AbstractModule *ModuleManager::create (const QString &type, const QString &name) { if (get (name)) { // name already exists return NULL; } if (registry.contains (type)) { AbstractModule *m = (*registry.value (type).fac) (getNextId (), name); m->setTypeName (type); items->push_back (m); emit moduleAdded (m); return m; } else return NULL; }