24 #include <QStringList>
32 : pFactoryManager(factoryManager)
35 pFactoryManager->registerFactory(
this);
40 pFactoryManager->unRegisterFactory(
this);
55 for (k = 0; k < pRegisteredFactories.
size(); ++k) {
62 <<
"KLFFactoryManager::findFactoryFor(object type="<<objType<<
"): No factory found!";
71 for (k = 0; k < pRegisteredFactories.
size(); ++k) {
72 objtypes << pRegisteredFactories[k]->supportedTypes();
79 if (pRegisteredFactories.
indexOf(factory) != -1) {
80 qWarning()<<
"KLFFactory<>::registerFactory(): Factory " << factory <<
" is already registered!";
83 pRegisteredFactories.
prepend(factory);
88 if (pRegisteredFactories.
indexOf(factory) == -1) {
89 qWarning()<<
"KLFFactory<>::unRegisterFactory(): Factory "<<factory<<
" is not registered!";
Base class for factories.
virtual QStringList supportedTypes() const =0
A list of object types that this factory supports instantiating.
KLFFactoryBase(KLFFactoryManager *factoryManager)
virtual ~KLFFactoryBase()
A base abstract factory manager class.
QStringList allSupportedTypes()
virtual ~KLFFactoryManager()
KLFFactoryBase * findFactoryFor(const QString &objType)
#define KLF_ASSERT_NOT_NULL(ptr, msg, failaction)
Asserting Non-NULL pointers (NON-FATAL)
Base declarations for klatexformula and some utilities.
int indexOf(const T &value, int from) const
void prepend(const T &value)
int removeAll(const T &value)
bool contains(const QString &str, Qt::CaseSensitivity cs) const