AbstractPluginsModel
Qualified name: mv::AbstractPluginsModel
-
class AbstractPluginsModel : public mv::StandardItemModel
Abstract plugin manager model class.
Base standard item model for plugins
- Author
Thomas Kroes
Subclassed by mv::PluginsListModel, mv::PluginsTreeModel
Public Types
-
enum class PopulationMode
Population.
Values:
-
enumerator Manual
-
enumerator Automatic
…done manually with
setPlugins()…performed every time a plugin is added or removed
-
enumerator Manual
Public Functions
-
AbstractPluginsModel(PopulationMode populationMode = PopulationMode::Automatic, QObject *parent = nullptr)
Construct plugin manager model with
parent.- Parameters:
parent – Pointer to parent object
-
PopulationMode getPopulationMode() const
Get current population mode.
- Returns:
Population mode
-
void setPopulationMode(PopulationMode populationMode)
Set population mode to
populationMode.- Parameters:
populationMode – Population mode
-
virtual plugin::Plugins getPlugins() const = 0
Get plugins.
- Returns:
Vector of plugins
-
virtual plugin::Plugin *getPlugin(const QModelIndex &modelIndex) const = 0
Get plugin for
modelIndex.- Parameters:
modelIndex – Index to retrieve
- Returns:
Pointer to plugin (maybe nullptr)
-
virtual void setPlugins(const plugin::Plugins &plugins) = 0
Set the
pluginsfrom which can be picked (mode is set to StorageMode::Manual)- Parameters:
plugins – Vector of plugins
Protected Functions
-
virtual void populateFromPluginManager() = 0
Synchronize the plugins with the core.
-
virtual void addPlugin(plugin::Plugin *plugin) = 0
Add
pluginto the model.- Parameters:
plugin – Pointer to plugin
-
virtual void removePlugin(plugin::Plugin *plugin) = 0
Remove
pluginfrom the model.- Parameters:
plugin – Pointer to plugin
-
QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const override
Get header data for
section,orientationand displayrole.- Parameters:
section – Section
orientation – Orientation
role – Data role
- Returns:
Header
-
class CategoryItem : public mv::AbstractPluginsModel::Item
Standard model item class for displaying the item category.
Public Functions
Public Static Functions
-
static inline QVariant headerData(Qt::Orientation orientation, int role)
Get header data for
orientationandrole.- Parameters:
orientation – Horizontal/vertical
role – Data role
- Returns:
Header data
-
static inline QVariant headerData(Qt::Orientation orientation, int role)
-
class IdItem : public mv::AbstractPluginsModel::Item, public QObject
Standard model item class for displaying the plugin Id.
Public Functions
-
QVariant data(int role = Qt::UserRole + 1) const override
Get model data for
role.- Returns:
Data for
rolein variant form
Public Static Functions
-
static inline QVariant headerData(Qt::Orientation orientation, int role)
Get header data for
orientationandrole.- Parameters:
orientation – Horizontal/vertical
role – Data role
- Returns:
Header data
-
QVariant data(int role = Qt::UserRole + 1) const override
-
class Item : public QStandardItem
Base standard model item class for a dataset.
Subclassed by mv::AbstractPluginsModel::CategoryItem, mv::AbstractPluginsModel::IdItem, mv::AbstractPluginsModel::NameItem
Public Functions
-
Item(plugin::Plugin *plugin, const QString &title)
Construct with pointer to the
pluginandtitle.- Parameters:
plugin – Pointer to plugin (maybe nullptr)
title – Item title
-
QVariant data(int role = Qt::UserRole + 1) const override
Get model data for
role.- Returns:
Data for
rolein variant form
-
Item(plugin::Plugin *plugin, const QString &title)
-
class NameItem : public mv::AbstractPluginsModel::Item
Standard model item class for displaying the item name.
Public Functions
Public Static Functions
-
static inline QVariant headerData(Qt::Orientation orientation, int role)
Get header data for
orientationandrole.- Parameters:
orientation – Horizontal/vertical
role – Data role
- Returns:
Header data
-
static inline QVariant headerData(Qt::Orientation orientation, int role)
-
class Row : public QList<QStandardItem*>
Convenience class for combining items in a row.