21#ifndef __qSlicerAbstractModuleFactoryManager_h
22#define __qSlicerAbstractModuleFactoryManager_h
29#include <ctkAbstractFileBasedFactory.h>
31#include "qSlicerBaseQTCoreExport.h"
35class qSlicerAbstractModuleFactoryManagerPrivate;
227 QScopedPointer<qSlicerAbstractModuleFactoryManagerPrivate>
d_ptr;
245 this->setSearchPaths(this->searchPaths() << paths);
257 foreach(
const QString& path, paths)
267 newSearchPaths.removeAll(path);
275 if (modules.contains(moduleName))
279 modules << moduleName;
287 modules.removeAll(moduleName);
qSlicerAbstractCoreModule is the base class of any module in Slicer.
void moduleAboutToBeInstantiated(const QString &moduleName)
virtual void printAdditionalInfo()
Print internal state using qDebug()
void registerFactory(qSlicerModuleFactory *factory, int priority=0)
Register a factory The factory will be deleted when unregistered (e.g. in ~qSlicerAbstractModuleFacto...
void moduleIgnored(const QString &moduleName)
Q_INVOKABLE QStringList instantiatedModuleNames() const
List of registered and instantiated modules.
virtual void instantiateModules()
Instantiate all previously registered modules.
void unregisterFactories()
virtual void uninstantiateModule(const QString &moduleName)
Uninstantiate a module given its moduleName.
void addModuleToIgnore(const QString &moduleName)
void removeModuleToIgnore(const QString &moduleName)
void removeSearchPaths(const QStringList &paths)
Q_INVOKABLE qSlicerAbstractCoreModule * moduleInstance(const QString &moduleName) const
Return the instance of a module if already instantiated, 0 otherwise.
void removeSearchPath(const QString &path)
Utility function that removes a path from the current searchPaths list.
void modulesUninstantiated(const QStringList &moduleNames)
QStringList moduleDependees(const QString &module) const
ctkAbstractFileBasedFactory< qSlicerAbstractCoreModule > qSlicerFileBasedModuleFactory
QStringList explicitModules() const
void setModulesToIgnore(const QStringList &modulesNames)
Q_INVOKABLE QStringList registeredModuleNames() const
Convenient method returning the list of all registered module names.
void modulesRegistered(const QStringList &moduleNames)
This signal is emitted when all the modules associated with the registered factories have been loaded...
void moduleUninstantiated(const QString &moduleName)
QScopedPointer< qSlicerAbstractModuleFactoryManagerPrivate > d_ptr
QStringList ignoredModuleNames() const
void setSearchPaths(const QStringList &searchPaths)
void explicitModulesChanged(const QStringList &moduleNames)
void setVerboseModuleDiscovery(bool value)
Enable/Disable verbose output during module discovery process.
Q_INVOKABLE bool isInstantiated(const QString &name) const
Return true if a module has been instantiated, false otherwise.
void moduleAboutToBeUninstantiated(const QString &moduleName)
QStringList dependentModules(const QString &module) const
void uninstantiateModules()
Uninstantiate all instantiated modules.
void unregisterFactory(qSlicerModuleFactory *factory)
qSlicerAbstractCoreModule * instantiateModule(const QString &name)
Instantiate a module given its name.
void modulesToIgnoreChanged(const QStringList &moduleNames)
qSlicerAbstractModuleFactoryManager(QObject *newParent=nullptr)
Q_INVOKABLE bool isRegistered(const QString &name) const
Return true if a module has been registered, false otherwise.
ctkAbstractFactory< qSlicerAbstractCoreModule > qSlicerModuleFactory
Q_INVOKABLE void registerModule(const QFileInfo &file)
QStringList modulesToIgnore
void modulesInstantiated(const QStringList &moduleNames)
void setExplicitModules(const QStringList &moduleNames)
void moduleRegistered(const QString &moduleName)
void modulesAboutToBeUninstantiated(const QStringList &moduleNames)
void addSearchPaths(const QStringList &paths)
void moduleInstantiated(const QString &moduleName)
void addSearchPath(const QString &path)
Utility function that adds a path to the current searchPaths list.
void setIsVerbose(bool flag)