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

#include <PluginManager.h>

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

Public Member Functions

 PluginManager ()
 
 ~PluginManager () override
 
void initialize () override
 
void reset () override
 
void loadPlugins ()
 
bool isPluginLoaded (const QString &kind) const override
 
plugin::PluginrequestPlugin (const QString &kind, Datasets datasets=Datasets()) override
 
template<typename PluginType >
PluginType * requestPlugin (const QString &kind, const Datasets &datasets)
 
plugin::ViewPluginrequestViewPlugin (const QString &kind, plugin::ViewPlugin *dockToViewPlugin=nullptr, gui::DockAreaFlag dockArea=gui::DockAreaFlag::Right, Datasets datasets=Datasets()) override
 
void destroyPlugin (plugin::Plugin *plugin) override
 
plugin::PluginFactorygetPluginFactory (const QString &pluginKind) const override
 
PluginFactoryPtrs getPluginFactoriesByType (const plugin::Type &pluginType) const override
 
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 override
 
PluginPtrs getPluginsByFactory (const plugin::PluginFactory *pluginFactory) const override
 
PluginPtrs getPluginsByType (const plugin::Type &pluginType) const override
 
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 override
 
QStringList getPluginKindsByPluginTypes (const plugin::Types &pluginTypes) const
 
gui::PluginTriggerActions getPluginTriggerActions (const plugin::Type &pluginType) const override
 
gui::PluginTriggerActions getPluginTriggerActions (const plugin::Type &pluginType, const Datasets &datasets) const
 
gui::PluginTriggerActions getPluginTriggerActions (const plugin::Type &pluginType, const DataTypes &dataTypes) const
 
gui::PluginTriggerActions getPluginTriggerActions (const QString &pluginKind, const Datasets &datasets) const
 
gui::PluginTriggerActions getPluginTriggerActions (const QString &pluginKind, const DataTypes &dataTypes) const
 
QString getPluginGuiName (const QString &pluginKind) const
 
QIcon getPluginIcon (const QString &pluginKind) const
 
void fromVariantMap (const QVariantMap &variantMap) override
 
QVariantMap toVariantMap () const override
 
- Public Member Functions inherited from hdps::AbstractPluginManager
 AbstractPluginManager (QObject *parent=nullptr)
 
template<typename PluginType >
PluginType * requestPlugin (const QString &kind, Datasets datasets=Datasets())
 
- Public Member Functions inherited from hdps::AbstractManager
 AbstractManager (QObject *parent=nullptr, const QString &name="")
 
virtual void beginReset () final
 
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 fromParentVariantMap (const QVariantMap &parentVariantMap)
 
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

QStringList resolveDependencies (QDir pluginDir) const
 

Additional Inherited Members

- Public Types inherited from hdps::util::Serializable
enum class  State { Idle , Reading , Writing }
 
- Signals inherited from hdps::AbstractPluginManager
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 ()
 
- 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)
 

Constructor & Destructor Documentation

◆ PluginManager()

hdps::PluginManager::PluginManager ( )

Default constructor

◆ ~PluginManager()

hdps::PluginManager::~PluginManager ( void  )
override

Default destructor

Member Function Documentation

◆ destroyPlugin()

void hdps::PluginManager::destroyPlugin ( plugin::Plugin plugin)
overridevirtual

Destroy plugin

Parameters
pluginPointer to the plugin that is to be destroyed

Implements hdps::AbstractPluginManager.

◆ fromVariantMap()

void hdps::PluginManager::fromVariantMap ( const QVariantMap &  variantMap)
overridevirtual

Load widget action from variant

Parameters
Variantrepresentation of the widget action

Reimplemented from hdps::util::Serializable.

◆ getPluginFactoriesByType()

PluginFactoryPtrs hdps::PluginManager::getPluginFactoriesByType ( const plugin::Type pluginType) const
overridevirtual

Get plugin factories for pluginType

Parameters
pluginTypePlugin type
Returns
Vector of pointers to plugin factories

Implements hdps::AbstractPluginManager.

◆ getPluginFactoriesByTypes()

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

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

Implements hdps::AbstractPluginManager.

◆ getPluginFactory()

hdps::plugin::PluginFactory * hdps::PluginManager::getPluginFactory ( const QString &  pluginKind) const
overridevirtual

Get plugin factory from pluginKind

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

Implements hdps::AbstractPluginManager.

◆ getPluginGuiName()

QString hdps::PluginManager::getPluginGuiName ( const QString &  pluginKind) const
virtual

Get plugin GUI name from plugin kind

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

Implements hdps::AbstractPluginManager.

◆ getPluginIcon()

QIcon hdps::PluginManager::getPluginIcon ( const QString &  pluginKind) const
virtual

Get plugin icon from plugin kind

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

Implements hdps::AbstractPluginManager.

◆ getPluginKindsByPluginTypes()

QStringList hdps::PluginManager::getPluginKindsByPluginTypes ( const plugin::Types pluginTypes) const
virtual

Get plugin kinds by plugin type(s)

Parameters
pluginTypesPlugin type(s)
Returns
Plugin kinds

Implements hdps::AbstractPluginManager.

◆ getPluginsByFactory()

PluginPtrs hdps::PluginManager::getPluginsByFactory ( const plugin::PluginFactory pluginFactory) const
overridevirtual

Get plugin instances for pluginFactory

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

Implements hdps::AbstractPluginManager.

◆ getPluginsByType()

PluginPtrs hdps::PluginManager::getPluginsByType ( const plugin::Type pluginType) const
overridevirtual

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

Parameters
pluginTypePlugin type
Returns
Vector of pointers to plugin instances

Implements hdps::AbstractPluginManager.

◆ getPluginsByTypes()

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

Get plugin instances for pluginTypes

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

Implements hdps::AbstractPluginManager.

◆ getPluginTriggerActions() [1/5]

hdps::gui::PluginTriggerActions hdps::PluginManager::getPluginTriggerActions ( const plugin::Type pluginType) const
overridevirtual

Get plugin trigger actions by pluginType

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

Implements hdps::AbstractPluginManager.

◆ getPluginTriggerActions() [2/5]

PluginTriggerActions hdps::PluginManager::getPluginTriggerActions ( const plugin::Type pluginType,
const Datasets datasets 
) const
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

Implements hdps::AbstractPluginManager.

◆ getPluginTriggerActions() [3/5]

PluginTriggerActions hdps::PluginManager::getPluginTriggerActions ( const plugin::Type pluginType,
const DataTypes dataTypes 
) const
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

Implements hdps::AbstractPluginManager.

◆ getPluginTriggerActions() [4/5]

PluginTriggerActions hdps::PluginManager::getPluginTriggerActions ( const QString &  pluginKind,
const Datasets datasets 
) const
virtual

Get plugin trigger actions by pluginKind and datasets

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

Implements hdps::AbstractPluginManager.

◆ getPluginTriggerActions() [5/5]

PluginTriggerActions hdps::PluginManager::getPluginTriggerActions ( const QString &  pluginKind,
const DataTypes dataTypes 
) const
virtual

Get plugin trigger actions by pluginKind and dataTypes

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

Implements hdps::AbstractPluginManager.

◆ initialize()

void hdps::PluginManager::initialize ( )
overridevirtual

Perform manager startup initialization

Reimplemented from hdps::AbstractManager.

◆ isPluginLoaded()

bool hdps::PluginManager::isPluginLoaded ( const QString &  kind) const
overridevirtual

Determine whether a plugin of kind is loaded

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

Implements hdps::AbstractPluginManager.

◆ loadPlugins()

void hdps::PluginManager::loadPlugins ( )
virtual

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

Implements hdps::AbstractPluginManager.

◆ requestPlugin() [1/2]

template<typename PluginType >
PluginType * hdps::PluginManager::requestPlugin ( const QString &  kind,
const 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]

plugin::Plugin * hdps::PluginManager::requestPlugin ( const QString &  kind,
Datasets  datasets = Datasets() 
)
overridevirtual

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)

Implements hdps::AbstractPluginManager.

◆ requestViewPlugin()

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

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)

Implements hdps::AbstractPluginManager.

◆ reset()

void hdps::PluginManager::reset ( )
overridevirtual

Resets the contents of the plugin manager

Implements hdps::AbstractManager.

◆ resolveDependencies()

QStringList hdps::PluginManager::resolveDependencies ( QDir  pluginDir) const
protectedvirtual

Resolves plugin dependencies, returns list of resolved plugin filenames

Parameters
pluginDirPlugin scan directory
Returns
List of resolved plugin filenames

Implements hdps::AbstractPluginManager.

◆ toVariantMap()

QVariantMap hdps::PluginManager::toVariantMap ( ) const
overridevirtual

Save widget action to variant

Returns
Variant representation of the widget action

Reimplemented from hdps::util::Serializable.


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