22 #include <QStringList>
36 return typeDescriptions;
49 for(QMap<QString, ParameterSettableCreator*>::iterator i = m_classMap.begin(); i != m_classMap.end(); i++) {
57 QStringList subclasses;
59 currents.append(className);
61 while (((level < levelToStop) || (levelToStop == -1)) && (currents.count() > 0)) {
63 foreach (QString current, currents) {
64 subs.append(m_childrenMap[current]);
66 subclasses.append(subs);
70 if (noAbstractClasses) {
73 foreach (QString current, subclasses) {
85 return !(m_classMap.contains(className));
88 void Factory::cleanupMapsForReRegistration(QString className)
92 if (m_parentsMap.contains(className)) {
94 if (m_classMap.contains(className)) {
95 delete m_classMap[className];
99 if (m_childrenMap.contains(m_parentsMap[className])) {
100 const int nRemoved = m_childrenMap[m_parentsMap[className]].removeAll(className);
101 Q_ASSERT_X((nRemoved <= 1),
"Registering a class", (
"More that one instance of " + className +
" were present").toAscii().data());