ManiVault 1.0.0
A Flexible and Extensible Visual Analytics Framework for High-Dimensional Data
Loading...
Searching...
No Matches
hdps::AbstractPluginManager Class Referenceabstract

#include <AbstractPluginManager.h>

Inheritance diagram for hdps::AbstractPluginManager:
hdps::AbstractManager hdps::util::Serializable hdps::PluginManager

Signals

void pluginAdded (plugin::Plugin *plugin)
 
void pluginAboutToBeDestroyed (plugin::Plugin *plugin)
 
void pluginDestroyed (const QString &id)
 
- Signals inherited from hdps::AbstractManager
void managerAboutToBeInitialized ()
 
void managerInitialized ()
 
void managerAboutToBeReset ()
 
void managerReset ()
 

Public Member Functions

 AbstractPluginManager (QObject *parent=nullptr)
 
virtual void loadPlugins ()=0
 
virtual bool isPluginLoaded (const QString &kind) const =0
 
virtual plugin::PluginrequestPlugin (const QString &kind, Datasets datasets=Datasets())=0
 
template<typename PluginType >
PluginType * requestPlugin (const QString &kind, Datasets datasets=Datasets())
 
virtual plugin::ViewPluginrequestViewPlugin (const QString &kind, plugin::ViewPlugin *dockToViewPlugin=nullptr, gui::DockAreaFlag dockArea=gui::DockAreaFlag::Right, Datasets datasets=Datasets())=0
 
virtual void destroyPlugin (plugin::Plugin *plugin)=0
 
virtual plugin::PluginFactorygetPluginFactory (const QString &pluginKind) const =0
 
virtual plugin::PluginFactoryPtrs getPluginFactoriesByType (const plugin::Type &pluginType) const =0
 
virtual plugin::PluginFactoryPtrs getPluginFactoriesByTypes (const plugin::Types &pluginTypes=plugin::Types{ plugin::Type::ANALYSIS, plugin::Type::DATA, plugin::Type::LOADER, plugin::Type::WRITER, plugin::Type::TRANSFORMATION, plugin::Type::VIEW }) const =0
 
virtual plugin::PluginPtrs getPluginsByFactory (const plugin::PluginFactory *pluginFactory) const =0
 
virtual plugin::PluginPtrs getPluginsByType (const plugin::Type &pluginType) const =0
 
virtual plugin::PluginPtrs getPluginsByTypes (const plugin::Types &pluginTypes=plugin::Types{ plugin::Type::ANALYSIS, plugin::Type::DATA, plugin::Type::LOADER, plugin::Type::WRITER, plugin::Type::TRANSFORMATION, plugin::Type::VIEW }) const =0
 
virtual QStringList getPluginKindsByPluginTypes (const plugin::Types &pluginTypes) const =0
 
virtual gui::PluginTriggerActions getPluginTriggerActions (const plugin::Type &pluginType) const =0
 
virtual gui::PluginTriggerActions getPluginTriggerActions (const plugin::Type &pluginType, const Datasets &datasets) const =0
 
virtual gui::PluginTriggerActions getPluginTriggerActions (const plugin::Type &pluginType, const DataTypes &dataTypes) const =0
 
virtual gui::PluginTriggerActions getPluginTriggerActions (const QString &pluginKind, const Datasets &datasets) const =0
 
virtual gui::PluginTriggerActions getPluginTriggerActions (const QString &pluginKind, const DataTypes &dataTypes) const =0
 
virtual QString getPluginGuiName (const QString &pluginKind) const =0
 
virtual QIcon getPluginIcon (const QString &pluginKind) const =0
 
- Public Member Functions inherited from hdps::AbstractManager
 AbstractManager (QObject *parent=nullptr, const QString &name="")
 
virtual void initialize ()
 
virtual void beginReset () final
 
virtual void reset ()=0
 
virtual void endReset () final
 
virtual void beginInitialization () final
 
virtual void endInitialization () final
 
virtual bool isInitialized () const final
 
virtual QIcon getIcon () const
 
gui::LockingActiongetLockingAction ()
 
virtual bool mayLock () const
 
virtual bool mayUnlock () const
 
- Public Member Functions inherited from hdps::util::Serializable
 Serializable (const QString &serializationName="")
 
virtual QString getId () const final
 
virtual void setId (const QString &id) final
 
virtual QString getSerializationName () const final
 
virtual void setSerializationName (const QString &serializationName) final
 
virtual void fromVariantMap (const QVariantMap &variantMap)
 
virtual void fromParentVariantMap (const QVariantMap &parentVariantMap)
 
virtual QVariantMap toVariantMap () const
 
virtual void insertIntoVariantMap (QVariantMap &variantMap) const final
 
virtual void fromJsonDocument (const QJsonDocument &jsonDocument) final
 
virtual QJsonDocument toJsonDocument () const final
 
virtual void fromJsonFile (const QString &filePath="") final
 
virtual void toJsonFile (const QString &filePath="") final
 
virtual void makeUnique () final
 

Protected Member Functions

virtual QStringList resolveDependencies (QDir pluginDir) const =0
 

Friends

class gui::PluginTriggerAction
 

Additional Inherited Members

- Public Types inherited from hdps::util::Serializable
enum class  State { Idle , Reading , Writing }
 
- Static Public Member Functions inherited from hdps::util::Serializable
static QString createId ()
 
- Static Protected Member Functions inherited from hdps::util::Serializable
static void fromVariantMap (Serializable *serializable, const QVariantMap &variantMap)
 
static void fromVariantMap (Serializable &serializable, const QVariantMap &variantMap, const QString &key)
 
static QVariantMap toVariantMap (const Serializable *serializable)
 
static void insertIntoVariantMap (const Serializable &serializable, QVariantMap &variantMap, const QString &key)
 
static void insertIntoVariantMap (const Serializable &serializable, QVariantMap &variantMap)
 

Detailed Description

Abstract plugin manager

Base abstract plugin manager class for managing plugin instances.

Author
Thomas Kroes

Constructor & Destructor Documentation

◆ AbstractPluginManager()

hdps::AbstractPluginManager::AbstractPluginManager ( QObject *  parent = nullptr)
inline

Construct plugin manager with parent object

Parameters
parentPointer to parent object

Member Function Documentation

◆ destroyPlugin()

virtual void hdps::AbstractPluginManager::destroyPlugin ( plugin::Plugin plugin)
pure virtual

Destroy plugin

Parameters
pluginPointer to the plugin that is to be destroyed

Implemented in hdps::PluginManager.

◆ getPluginFactoriesByType()

virtual plugin::PluginFactoryPtrs hdps::AbstractPluginManager::getPluginFactoriesByType ( const plugin::Type pluginType) const
pure virtual

Get plugin factories for pluginType

Parameters
pluginTypePlugin type
Returns
Vector of pointers to plugin factories

Implemented in hdps::PluginManager.

◆ getPluginFactoriesByTypes()

virtual plugin::PluginFactoryPtrs hdps::AbstractPluginManager::getPluginFactoriesByTypes ( const plugin::Types pluginTypes = plugin::Typesplugin::Type::ANALYSISplugin::Type::DATAplugin::Type::LOADERplugin::Type::WRITERplugin::Type::TRANSFORMATIONplugin::Type::VIEW }) const
pure virtual

Get plugin factories for pluginTypes (by default it gets all plugins factories for all types)

Parameters
pluginTypesPlugin types
Returns
Vector of pointers to plugin factories of pluginTypes

Implemented in hdps::PluginManager.

◆ getPluginFactory()

virtual plugin::PluginFactory * hdps::AbstractPluginManager::getPluginFactory ( const QString &  pluginKind) const
pure virtual

Get plugin factory from pluginKind

Parameters
pluginKindKind of plugin
Returns
Plugin factory of pluginKind, nullptr if not found

Implemented in hdps::PluginManager.

◆ getPluginGuiName()

virtual QString hdps::AbstractPluginManager::getPluginGuiName ( const QString &  pluginKind) const
pure virtual

Get plugin GUI name from plugin kind

Parameters
pluginKindKind of plugin
GUIname of the plugin, empty if the plugin kind was not found

Implemented in hdps::PluginManager.

◆ getPluginIcon()

virtual QIcon hdps::AbstractPluginManager::getPluginIcon ( const QString &  pluginKind) const
pure virtual

Get plugin icon from plugin kind

Parameters
pluginKindKind of plugin
Returns
Plugin icon name of the plugin, null icon if the plugin kind was not found

Implemented in hdps::PluginManager.

◆ getPluginKindsByPluginTypes()

virtual QStringList hdps::AbstractPluginManager::getPluginKindsByPluginTypes ( const plugin::Types pluginTypes) const
pure virtual

Get plugin kinds by plugin type(s)

Parameters
pluginTypesPlugin type(s)
Returns
Plugin kinds

Implemented in hdps::PluginManager.

◆ getPluginsByFactory()

virtual plugin::PluginPtrs hdps::AbstractPluginManager::getPluginsByFactory ( const plugin::PluginFactory pluginFactory) const
pure virtual

Get plugin instances for pluginFactory

Parameters
pluginFactoryPointer to plugin factory
Returns
Vector of pointers to plugin instances

Implemented in hdps::PluginManager.

◆ getPluginsByType()

virtual plugin::PluginPtrs hdps::AbstractPluginManager::getPluginsByType ( const plugin::Type pluginType) const
pure virtual

Get plugin instances for pluginType

Parameters
pluginTypePlugin type
Returns
Vector of pointers to plugin instances

Implemented in hdps::PluginManager.

◆ getPluginsByTypes()

virtual plugin::PluginPtrs hdps::AbstractPluginManager::getPluginsByTypes ( const plugin::Types pluginTypes = plugin::Typesplugin::Type::ANALYSISplugin::Type::DATAplugin::Type::LOADERplugin::Type::WRITERplugin::Type::TRANSFORMATIONplugin::Type::VIEW }) const
pure virtual

Get plugin instances for pluginTypes (by default it gets all plugins for all types)

Parameters
pluginTypesPlugin types
Returns
Vector of pointers to plugin instances of pluginTypes

Implemented in hdps::PluginManager.

◆ getPluginTriggerActions() [1/5]

virtual gui::PluginTriggerActions hdps::AbstractPluginManager::getPluginTriggerActions ( const plugin::Type pluginType) const
pure virtual

Get plugin trigger actions by pluginType

Parameters
pluginTypeType of plugin e.g. analysis, exporter
Returns
Vector of plugin trigger actions

Implemented in hdps::PluginManager.

◆ getPluginTriggerActions() [2/5]

virtual gui::PluginTriggerActions hdps::AbstractPluginManager::getPluginTriggerActions ( const plugin::Type pluginType,
const Datasets datasets 
) const
pure virtual

Get plugin trigger actions by pluginType and datasets

Parameters
pluginTypeType of plugin e.g. analysis, exporter
datasetsVector of input datasets
Returns
Vector of plugin trigger actions

Implemented in hdps::PluginManager.

◆ getPluginTriggerActions() [3/5]

virtual gui::PluginTriggerActions hdps::AbstractPluginManager::getPluginTriggerActions ( const plugin::Type pluginType,
const DataTypes dataTypes 
) const
pure virtual

Get plugin trigger actions by pluginType and dataTypes

Parameters
pluginTypeType of plugin e.g. analysis, exporter
dataTypesVector of input data types
Returns
Vector of plugin trigger actions

Implemented in hdps::PluginManager.

◆ getPluginTriggerActions() [4/5]

virtual gui::PluginTriggerActions hdps::AbstractPluginManager::getPluginTriggerActions ( const QString &  pluginKind,
const Datasets datasets 
) const
pure virtual

Get plugin trigger actions by pluginKind and datasets

Parameters
pluginKindKind of plugin
datasetsVector of input datasets
Returns
Vector of plugin trigger actions

Implemented in hdps::PluginManager.

◆ getPluginTriggerActions() [5/5]

virtual gui::PluginTriggerActions hdps::AbstractPluginManager::getPluginTriggerActions ( const QString &  pluginKind,
const DataTypes dataTypes 
) const
pure virtual

Get plugin trigger actions by pluginKind and dataTypes

Parameters
pluginKindKind of plugin
dataTypesVector of input data types
Returns
Vector of plugin trigger actions

Implemented in hdps::PluginManager.

◆ isPluginLoaded()

virtual bool hdps::AbstractPluginManager::isPluginLoaded ( const QString &  kind) const
pure virtual

Determine whether a plugin of kind is loaded

Parameters
kindPlugin kind
Returns
Boolean determining whether a plugin of kind is loaded

Implemented in hdps::PluginManager.

◆ loadPlugins()

virtual void hdps::AbstractPluginManager::loadPlugins ( )
pure virtual

Loads all plugin factories from the plugin directory and adds them as menu items

Implemented in hdps::PluginManager.

◆ pluginAboutToBeDestroyed

void hdps::AbstractPluginManager::pluginAboutToBeDestroyed ( plugin::Plugin plugin)
signal

Signals that plugin is about to be destroyed by the plugin manager

Parameters
pluginPointer to the plugin that is about to be destroyed

◆ pluginAdded

void hdps::AbstractPluginManager::pluginAdded ( plugin::Plugin plugin)
signal

Signals that plugin instance is added to the plugin manager

Parameters
pluginPointer to the plugin that was added

◆ pluginDestroyed

void hdps::AbstractPluginManager::pluginDestroyed ( const QString &  id)
signal

Signals that plugin with id is destroyed by the plugin manager

Parameters
idGlobally unique ID of the destroyed plugin

◆ requestPlugin() [1/2]

template<typename PluginType >
PluginType * hdps::AbstractPluginManager::requestPlugin ( const QString &  kind,
Datasets  datasets = Datasets() 
)
inline

Create a plugin of kind with inputDatasets

Parameters
kindKind of plugin (name of the plugin)
datasetsZero or more datasets upon which the plugin is based (e.g. analysis plugin)
Returns
Pointer to created plugin of plugin type (nullptr if creation failed)

◆ requestPlugin() [2/2]

virtual plugin::Plugin * hdps::AbstractPluginManager::requestPlugin ( const QString &  kind,
Datasets  datasets = Datasets() 
)
pure virtual

Create a plugin of kind with input datasets

Parameters
kindKind of plugin (name of the plugin)
datasetsZero or more datasets upon which the plugin is based (e.g. analysis plugin)
Returns
Pointer to created plugin (nullptr if creation failed)

Implemented in hdps::PluginManager.

◆ requestViewPlugin()

virtual plugin::ViewPlugin * hdps::AbstractPluginManager::requestViewPlugin ( const QString &  kind,
plugin::ViewPlugin dockToViewPlugin = nullptr,
gui::DockAreaFlag  dockArea = gui::DockAreaFlag::Right,
Datasets  datasets = Datasets() 
)
pure virtual

Create a view plugin plugin of kind and dock it to dockToViewPlugin at dockArea

Parameters
kindKind of plugin (name of the plugin)
dockToViewPluginView plugin instance to dock to
dockAreaDock area to dock in
Returns
Pointer to created view plugin (nullptr if creation failed)

Implemented in hdps::PluginManager.

◆ resolveDependencies()

virtual QStringList hdps::AbstractPluginManager::resolveDependencies ( QDir  pluginDir) const
protectedpure virtual

Resolves plugin dependencies, returns list of resolved plugin filenames

Parameters
pluginDirPlugin scan directory
Returns
List of resolved plugin filenames

Implemented in hdps::PluginManager.

Friends And Related Symbol Documentation

◆ gui::PluginTriggerAction

friend class gui::PluginTriggerAction
friend

The documentation for this class was generated from the following file: