Skip to content
26 changes: 22 additions & 4 deletions ExampleAnalysis/src/ExampleAnalysisPlugin.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -25,10 +25,7 @@ std::uint32_t ExampleAnalysisPlugin::Point::numberOfDimensions = 7;
float ExampleAnalysisPlugin::Point::maximumVelocity = 1.0f;

ExampleAnalysisPlugin::ExampleAnalysisPlugin(const PluginFactory* factory) :
AnalysisPlugin(factory),
_settingsAction(),
_points(),
_pointHeadings()
AnalysisPlugin(factory)
{
}

Expand Down Expand Up @@ -229,6 +226,27 @@ void ExampleAnalysisPlugin::onDataEvent(mv::DatasetEvent* dataEvent)
}
}

// =============================================================================
// Plugin Factory
// =============================================================================

ExampleAnalysisPluginFactory::ExampleAnalysisPluginFactory()
{
getPluginMetadata().setDescription("Example analysis plugin");
getPluginMetadata().setSummary("This example shows how to implement a basic analysis plugin in ManiVault Studio.");
getPluginMetadata().setCopyrightHolder({ "BioVault (Biomedical Visual Analytics Unit LUMC - TU Delft)" });
getPluginMetadata().setAuthors({
{ "J. Thijssen", { "Software architect" }, { "LUMC", "TU Delft" } },
{ "T. Kroes", { "Lead software architect" }, { "LUMC" } },
{ "A. Vieth", { "Plugin developer", "Maintainer" }, { "LUMC", "TU Delft" } }
});
getPluginMetadata().setOrganizations({
{ "LUMC", "Leiden University Medical Center", "https://www.lumc.nl/en/" },
{ "TU Delft", "Delft university of technology", "https://www.tudelft.nl/" }
});
getPluginMetadata().setLicenseText("This plugin is distributed under the [LGPL v3.0](https://www.gnu.org/licenses/lgpl-3.0.en.html) license.");
}

AnalysisPlugin* ExampleAnalysisPluginFactory::produce()
{
// Return a new instance of the example analysis plugin
Expand Down
5 changes: 1 addition & 4 deletions ExampleAnalysis/src/ExampleAnalysisPlugin.h
Original file line number Diff line number Diff line change
Expand Up @@ -155,10 +155,7 @@ class ExampleAnalysisPluginFactory : public AnalysisPluginFactory
public:

/** Default constructor */
ExampleAnalysisPluginFactory() {}

/** Destructor */
~ExampleAnalysisPluginFactory() override {}
ExampleAnalysisPluginFactory();

/** Creates an instance of the example analysis plugin */
AnalysisPlugin* produce() override;
Expand Down
21 changes: 21 additions & 0 deletions ExampleData/src/ExampleDataPlugin.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -153,6 +153,27 @@ void PixelSet::selectInvert()
events().notifyDatasetDataSelectionChanged(this);
}

// =============================================================================
// Plugin Factory
// =============================================================================

ExampleDataPluginFactory::ExampleDataPluginFactory()
{
getPluginMetadata().setDescription("Example data plugin");
getPluginMetadata().setSummary("This example shows how to implement a basic data plugin in ManiVault Studio.");
getPluginMetadata().setCopyrightHolder({ "BioVault (Biomedical Visual Analytics Unit LUMC - TU Delft)" });
getPluginMetadata().setAuthors({
{ "J. Thijssen", { "Software architect" }, { "LUMC", "TU Delft" } },
{ "T. Kroes", { "Lead software architect" }, { "LUMC" } },
{ "A. Vieth", { "Plugin developer", "Maintainer" }, { "LUMC", "TU Delft" } }
});
getPluginMetadata().setOrganizations({
{ "LUMC", "Leiden University Medical Center", "https://www.lumc.nl/en/" },
{ "TU Delft", "Delft university of technology", "https://www.tudelft.nl/" }
});
getPluginMetadata().setLicenseText("This plugin is distributed under the [LGPL v3.0](https://www.gnu.org/licenses/lgpl-3.0.en.html) license.");
}

QIcon ExampleDataPluginFactory::getIcon(const QColor& color /*= Qt::black*/) const
{
return Application::getIconFont("FontAwesome").getIcon("database", color);
Expand Down
3 changes: 1 addition & 2 deletions ExampleData/src/ExampleDataPlugin.h
Original file line number Diff line number Diff line change
Expand Up @@ -120,8 +120,7 @@ class ExampleDataPluginFactory : public RawDataFactory
FILE "ExampleDataPlugin.json")

public:
ExampleDataPluginFactory() {}
~ExampleDataPluginFactory() override {}
ExampleDataPluginFactory();

/**
* Get plugin icon
Expand Down
26 changes: 22 additions & 4 deletions ExampleDependencies/src/ExampleDependenciesPlugin.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,7 @@ using namespace mv;
using namespace mv::plugin;

ExampleDependenciesPlugin::ExampleDependenciesPlugin(const PluginFactory* factory) :
AnalysisPlugin(factory),
_settingsAction()
AnalysisPlugin(factory)
{
}

Expand Down Expand Up @@ -136,17 +135,36 @@ void ExampleDependenciesPlugin::compute()
std::cout << "ExampleDependenciesPlugin: Finished." << std::endl;
}

// =============================================================================
// Plugin Factory
// =============================================================================

ExampleDependenciesPluginFactory::ExampleDependenciesPluginFactory()
{
getPluginMetadata().setDescription("Example dependencies plugin");
getPluginMetadata().setSummary("This example shows how to work with plugin dependencies in ManiVault Studio.");
getPluginMetadata().setCopyrightHolder({ "BioVault (Biomedical Visual Analytics Unit LUMC - TU Delft)" });
getPluginMetadata().setAuthors({
{ "A. Vieth", { "Plugin developer", "Maintainer" }, { "LUMC", "TU Delft" } }
});
getPluginMetadata().setOrganizations({
{ "LUMC", "Leiden University Medical Center", "https://www.lumc.nl/en/" },
{ "TU Delft", "Delft university of technology", "https://www.tudelft.nl/" }
});
getPluginMetadata().setLicenseText("This plugin is distributed under the [LGPL v3.0](https://www.gnu.org/licenses/lgpl-3.0.en.html) license.");
}

AnalysisPlugin* ExampleDependenciesPluginFactory::produce()
{
// Return a new instance of the example analysis plugin
// Return a new instance of the example dependencies plugin
return new ExampleDependenciesPlugin(this);
}

mv::DataTypes ExampleDependenciesPluginFactory::supportedDataTypes() const
{
DataTypes supportedTypes;

// This example analysis plugin is compatible with points datasets
// This example dependencies plugin is compatible with points datasets
supportedTypes.append(PointType);

return supportedTypes;
Expand Down
5 changes: 1 addition & 4 deletions ExampleDependencies/src/ExampleDependenciesPlugin.h
Original file line number Diff line number Diff line change
Expand Up @@ -47,10 +47,7 @@ class ExampleDependenciesPluginFactory : public AnalysisPluginFactory
public:

/** Default constructor */
ExampleDependenciesPluginFactory() {}

/** Destructor */
~ExampleDependenciesPluginFactory() override {}
ExampleDependenciesPluginFactory();

/** Creates an instance of the example analysis plugin */
AnalysisPlugin* produce() override;
Expand Down
17 changes: 17 additions & 0 deletions ExampleLoader/src/ExampleLoaderPlugin.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,23 @@ void ExampleLoaderPlugin::loadData()
qDebug() << "Example file loaded. Num data points: " << points->getNumPoints();
}

ExampleLoaderPluginFactory::ExampleLoaderPluginFactory()
{
getPluginMetadata().setDescription("Example loader plugin");
getPluginMetadata().setSummary("This example shows how to implement a data loader plugin in ManiVault Studio.");
getPluginMetadata().setCopyrightHolder({ "BioVault (Biomedical Visual Analytics Unit LUMC - TU Delft)" });
getPluginMetadata().setAuthors({
{ "J. Thijssen", { "Software architect" }, { "LUMC", "TU Delft" } },
{ "T. Kroes", { "Lead software architect" }, { "LUMC" } },
{ "A. Vieth", { "Plugin developer", "Maintainer" }, { "LUMC", "TU Delft" } }
});
getPluginMetadata().setOrganizations({
{ "LUMC", "Leiden University Medical Center", "https://www.lumc.nl/en/" },
{ "TU Delft", "Delft university of technology", "https://www.tudelft.nl/" }
});
getPluginMetadata().setLicenseText("This plugin is distributed under the [LGPL v3.0](https://www.gnu.org/licenses/lgpl-3.0.en.html) license.");
}

ExampleLoaderPlugin* ExampleLoaderPluginFactory::produce()
{
return new ExampleLoaderPlugin(this);
Expand Down
3 changes: 1 addition & 2 deletions ExampleLoader/src/ExampleLoaderPlugin.h
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,7 @@ class ExampleLoaderPluginFactory : public LoaderPluginFactory
FILE "ExampleLoaderPlugin.json")

public:
ExampleLoaderPluginFactory(void) {}
~ExampleLoaderPluginFactory(void) override {}
ExampleLoaderPluginFactory();

ExampleLoaderPlugin* produce() override;

Expand Down
21 changes: 21 additions & 0 deletions ExampleTransformation/src/ExampleTransformationPlugin.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -121,6 +121,27 @@ QString ExampleTransformationPlugin::getTypeName(const Type& type)
return types[type];
}

// =============================================================================
// Plugin Factory
// =============================================================================

ExampleTransformationPluginFactory::ExampleTransformationPluginFactory()
{
getPluginMetadata().setDescription("Example transformation plugin");
getPluginMetadata().setSummary("This example shows how to implement a basic data transformation plugin in ManiVault Studio.");
getPluginMetadata().setCopyrightHolder({ "BioVault (Biomedical Visual Analytics Unit LUMC - TU Delft)" });
getPluginMetadata().setAuthors({
{ "T. Kroes", { "Lead software architect" }, { "LUMC" } },
{ "J. Thijssen", { "Software architect" }, { "LUMC", "TU Delft" } },
{ "A. Vieth", { "Plugin developer", "Maintainer" }, { "LUMC", "TU Delft" } }
});
getPluginMetadata().setOrganizations({
{ "LUMC", "Leiden University Medical Center", "https://www.lumc.nl/en/" },
{ "TU Delft", "Delft university of technology", "https://www.tudelft.nl/" }
});
getPluginMetadata().setLicenseText("This plugin is distributed under the [LGPL v3.0](https://www.gnu.org/licenses/lgpl-3.0.en.html) license.");
}

ExampleTransformationPlugin* ExampleTransformationPluginFactory::produce()
{
// Return a new instance of the example transformation plugin
Expand Down
5 changes: 1 addition & 4 deletions ExampleTransformation/src/ExampleTransformationPlugin.h
Original file line number Diff line number Diff line change
Expand Up @@ -95,10 +95,7 @@ class ExampleTransformationPluginFactory : public TransformationPluginFactory
public:

/** Default constructor */
ExampleTransformationPluginFactory() {}

/** Destructor */
~ExampleTransformationPluginFactory() override {}
ExampleTransformationPluginFactory();

/** Creates an instance of the example transform plugin */
ExampleTransformationPlugin* produce() override;
Expand Down
22 changes: 17 additions & 5 deletions ExampleView/src/ExampleViewPlugin.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -24,11 +24,6 @@ ExampleViewPlugin::ExampleViewPlugin(const PluginFactory* factory) :
// Align text in the center
_currentDatasetNameLabel->setAlignment(Qt::AlignCenter);

getLearningCenterAction().setPluginTitle("Example view");

getLearningCenterAction().setShortDescription("Example view plugin");
getLearningCenterAction().setLongDescription("This plugin shows how to implement a basic view plugin in <b>ManiVault</b>.");

getLearningCenterAction().addVideos(QStringList({ "Practitioner", "Developer" }));
}

Expand Down Expand Up @@ -188,6 +183,23 @@ void ExampleViewPlugin::onDataEvent(mv::DatasetEvent* dataEvent)
}
}

ExampleViewPluginFactory::ExampleViewPluginFactory()
{
getPluginMetadata().setDescription("Example view plugin");
getPluginMetadata().setSummary("This example shows how to implement a basic view plugin in ManiVault Studio.");
getPluginMetadata().setCopyrightHolder({ "BioVault (Biomedical Visual Analytics Unit LUMC - TU Delft)" });
getPluginMetadata().setAuthors({
{ "A. Vieth", { "Plugin developer", "Maintainer" }, { "LUMC", "TU Delft" } },
{ "T. Kroes", { "Lead software architect" }, { "LUMC" } },
{ "J. Thijssen", { "Software architect" }, { "LUMC", "TU Delft" } }
});
getPluginMetadata().setOrganizations({
{ "LUMC", "Leiden University Medical Center", "https://www.lumc.nl/en/" },
{ "TU Delft", "Delft university of technology", "https://www.tudelft.nl/" }
});
getPluginMetadata().setLicenseText("This plugin is distributed under the [LGPL v3.0](https://www.gnu.org/licenses/lgpl-3.0.en.html) license.");
}

ViewPlugin* ExampleViewPluginFactory::produce()
{
return new ExampleViewPlugin(this);
Expand Down
7 changes: 2 additions & 5 deletions ExampleView/src/ExampleViewPlugin.h
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ class ExampleViewPlugin : public ViewPlugin

protected:
DropWidget* _dropWidget; /** Widget for drag and drop behavior */
mv::Dataset<Points> _points; /** Points smart pointer */
mv::Dataset<Points> _points; /** Points smart pointer */
QString _currentDatasetName; /** Name of the current dataset */
QLabel* _currentDatasetNameLabel; /** Label that show the current dataset name */
};
Expand All @@ -80,11 +80,8 @@ class ExampleViewPluginFactory : public ViewPluginFactory
public:

/** Default constructor */
ExampleViewPluginFactory() {}
ExampleViewPluginFactory();

/** Destructor */
~ExampleViewPluginFactory() override {}

/** Creates an instance of the example view plugin */
ViewPlugin* produce() override;

Expand Down
22 changes: 17 additions & 5 deletions ExampleViewJS/src/ExampleViewJSPlugin.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -25,11 +25,6 @@ ExampleViewJSPlugin::ExampleViewJSPlugin(const PluginFactory* factory) :
_dropWidget(nullptr),
_currentDataSet(nullptr)
{
getLearningCenterAction().setPluginTitle("Example Javascript view");

getLearningCenterAction().setShortDescription("Example Javascript view plugin");
getLearningCenterAction().setLongDescription("This plugin shows how to implement a basic Javascript-based view plugin in <b>ManiVault</b>.");

getLearningCenterAction().addVideos(QStringList({ "Practitioner", "Developer" }));
}

Expand Down Expand Up @@ -234,6 +229,23 @@ void ExampleViewJSPlugin::createData()
// Plugin Factory
// =============================================================================

ExampleViewJSPluginFactory::ExampleViewJSPluginFactory()
{
getPluginMetadata().setDescription("Example Javascript view plugin");
getPluginMetadata().setSummary("This plugin shows how to implement a basic Javascript-based view plugin in ManiVault Studio.");
getPluginMetadata().setCopyrightHolder({ "BioVault (Biomedical Visual Analytics Unit LUMC - TU Delft)" });
getPluginMetadata().setAuthors({
{ "A. Vieth", { "Plugin developer", "Maintainer" }, { "LUMC", "TU Delft" } },
{ "J. Thijssen", { "Software architect" }, { "LUMC", "TU Delft" } },
{ "T. Kroes", { "Lead software architect" }, { "LUMC" } }
});
getPluginMetadata().setOrganizations({
{ "LUMC", "Leiden University Medical Center", "https://www.lumc.nl/en/" },
{ "TU Delft", "Delft university of technology", "https://www.tudelft.nl/" }
});
getPluginMetadata().setLicenseText("This plugin is distributed under the [LGPL v3.0](https://www.gnu.org/licenses/lgpl-3.0.en.html) license.");
}

QIcon ExampleViewJSPluginFactory::getIcon(const QColor& color /*= Qt::black*/) const
{
return mv::Application::getIconFont("FontAwesome").getIcon("bullseye", color);
Expand Down
7 changes: 2 additions & 5 deletions ExampleViewJS/src/ExampleViewJSPlugin.h
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ public slots:
private:
ChartWidget* _chartWidget; // WebWidget that sets up the HTML page
DropWidget* _dropWidget; // Widget for drag and drop behavior
mv::Dataset<Points> _currentDataSet; // Reference to currently shown data set
mv::Dataset<Points> _currentDataSet; // Reference to currently shown data set
};

/**
Expand All @@ -89,11 +89,8 @@ class ExampleViewJSPluginFactory : public ViewPluginFactory
public:

/** Default constructor */
ExampleViewJSPluginFactory() {}
ExampleViewJSPluginFactory();

/** Destructor */
~ExampleViewJSPluginFactory() override {}

/** Get plugin icon */
QIcon getIcon(const QColor& color = Qt::black) const override;

Expand Down
20 changes: 13 additions & 7 deletions ExampleViewOpenGL/src/ExampleViewGLPlugin.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -112,11 +112,6 @@ ExampleViewGLPlugin::ExampleViewGLPlugin(const PluginFactory* factory) :
// Create data so that we do not need to load any in this example
createData();

getLearningCenterAction().setPluginTitle("Example OpenGL view");

getLearningCenterAction().setShortDescription("Example OpenGL view plugin");
getLearningCenterAction().setLongDescription("This plugin shows how to implement a basic OpenGL-based view plugin in <b>ManiVault</b>.");

getLearningCenterAction().addVideos(QStringList({ "Practitioner", "Developer" }));
}

Expand Down Expand Up @@ -237,12 +232,23 @@ ViewPlugin* ExampleViewGLPluginFactory::produce()
}

ExampleViewGLPluginFactory::ExampleViewGLPluginFactory() :
ViewPluginFactory(),
_statusBarAction(nullptr),
_statusBarPopupGroupAction(this, "Popup Group"),
_statusBarPopupAction(this, "Popup")
{

getPluginMetadata().setDescription("Example OpenGL view");
getPluginMetadata().setSummary("This example shows how to implement a basic OpenGL-based view plugin in ManiVault Studio.");
getPluginMetadata().setCopyrightHolder({ "BioVault (Biomedical Visual Analytics Unit LUMC - TU Delft)" });
getPluginMetadata().setAuthors({
{ "J. Thijssen", { "Software architect" }, { "LUMC", "TU Delft" } },
{ "A. Vieth", { "Plugin developer", "Maintainer" }, { "LUMC", "TU Delft" } },
{ "T. Kroes", { "Lead software architect" }, { "LUMC" } }
});
getPluginMetadata().setOrganizations({
{ "LUMC", "Leiden University Medical Center", "https://www.lumc.nl/en/" },
{ "TU Delft", "Delft university of technology", "https://www.tudelft.nl/" }
});
getPluginMetadata().setLicenseText("This plugin is distributed under the [LGPL v3.0](https://www.gnu.org/licenses/lgpl-3.0.en.html) license.");
}

void ExampleViewGLPluginFactory::initialize()
Expand Down
3 changes: 0 additions & 3 deletions ExampleViewOpenGL/src/ExampleViewGLPlugin.h
Original file line number Diff line number Diff line change
Expand Up @@ -91,9 +91,6 @@ class ExampleViewGLPluginFactory : public ViewPluginFactory
/** Default constructor */
ExampleViewGLPluginFactory();

/** Destructor */
~ExampleViewGLPluginFactory() override {}

/** Perform post-construction initialization */
void initialize() override;

Expand Down
Loading
Loading