mirror of
https://github.com/lucaspalomodevelop/meshlab.git
synced 2026-03-20 03:16:10 +00:00
MeshLabPluginFile to MeshLabPlugin, EditPluginFactory to EditPlugin
This commit is contained in:
parent
abd16451db
commit
f805172f4f
@ -24,7 +24,7 @@ set(HEADERS
|
||||
plugins/containers/iomesh_plugin_container.h
|
||||
plugins/containers/ioraster_plugin_container.h
|
||||
plugins/containers/render_plugin_container.h
|
||||
plugins/interfaces/meshlab_plugin_file.h
|
||||
plugins/interfaces/meshlab_plugin.h
|
||||
plugins/interfaces/meshlab_plugin_logger.h
|
||||
plugins/interfaces/decorate_plugin.h
|
||||
plugins/interfaces/edit_plugin.h
|
||||
|
||||
@ -43,7 +43,7 @@ HEADERS += \
|
||||
plugins/containers/iomesh_plugin_container.h \
|
||||
plugins/containers/ioraster_plugin_container.h \
|
||||
plugins/containers/render_plugin_container.h \
|
||||
plugins/interfaces/meshlab_plugin_file.h \
|
||||
plugins/interfaces/meshlab_plugin.h \
|
||||
plugins/interfaces/meshlab_plugin_logger.h \
|
||||
plugins/interfaces/decorate_plugin.h \
|
||||
plugins/interfaces/edit_plugin.h \
|
||||
|
||||
@ -32,12 +32,12 @@ void EditPluginContainer::clear()
|
||||
editPlugins.clear();
|
||||
}
|
||||
|
||||
void EditPluginContainer::pushEditPlugin(EditPluginFactory* iEditFactory)
|
||||
void EditPluginContainer::pushEditPlugin(EditPlugin* iEditFactory)
|
||||
{
|
||||
editPlugins.push_back(iEditFactory);
|
||||
}
|
||||
|
||||
void EditPluginContainer::eraseEditPlugin(EditPluginFactory* iEditFactory)
|
||||
void EditPluginContainer::eraseEditPlugin(EditPlugin* iEditFactory)
|
||||
{
|
||||
editPlugins.erase(std::find(editPlugins.begin(), editPlugins.end(), iEditFactory));
|
||||
}
|
||||
@ -47,14 +47,14 @@ EditPluginContainer::EditPluginFactoryRangeIterator EditPluginContainer::editPlu
|
||||
return EditPluginFactoryRangeIterator(this, iterateAlsoDisabledPlugins);
|
||||
}
|
||||
|
||||
ConstPluginIterator<EditPluginFactory> EditPluginContainer::EditPluginFactoryRangeIterator::begin()
|
||||
ConstPluginIterator<EditPlugin> EditPluginContainer::EditPluginFactoryRangeIterator::begin()
|
||||
{
|
||||
return ConstPluginIterator<EditPluginFactory>(pm->editPlugins, pm->editPlugins.begin(), b);
|
||||
return ConstPluginIterator<EditPlugin>(pm->editPlugins, pm->editPlugins.begin(), b);
|
||||
}
|
||||
|
||||
ConstPluginIterator<EditPluginFactory> EditPluginContainer::EditPluginFactoryRangeIterator::end()
|
||||
ConstPluginIterator<EditPlugin> EditPluginContainer::EditPluginFactoryRangeIterator::end()
|
||||
{
|
||||
return ConstPluginIterator<EditPluginFactory>(pm->editPlugins, pm->editPlugins.end(), b);
|
||||
return ConstPluginIterator<EditPlugin>(pm->editPlugins, pm->editPlugins.end(), b);
|
||||
}
|
||||
|
||||
EditPluginContainer::EditPluginFactoryRangeIterator::EditPluginFactoryRangeIterator(
|
||||
|
||||
@ -41,20 +41,20 @@ public:
|
||||
EditPluginContainer();
|
||||
|
||||
void clear();
|
||||
void pushEditPlugin(EditPluginFactory* iEditFactory);
|
||||
void eraseEditPlugin(EditPluginFactory* iEditFactory);
|
||||
void pushEditPlugin(EditPlugin* iEditFactory);
|
||||
void eraseEditPlugin(EditPlugin* iEditFactory);
|
||||
|
||||
EditPluginFactoryRangeIterator editPluginIterator(bool iterateAlsoDisabledPlugins = false) const;
|
||||
private:
|
||||
std::vector<EditPluginFactory*> editPlugins;
|
||||
std::vector<EditPlugin*> editPlugins;
|
||||
};
|
||||
|
||||
class EditPluginContainer::EditPluginFactoryRangeIterator
|
||||
{
|
||||
friend class EditPluginContainer;
|
||||
public:
|
||||
ConstPluginIterator<EditPluginFactory> begin();
|
||||
ConstPluginIterator<EditPluginFactory> end();
|
||||
ConstPluginIterator<EditPlugin> begin();
|
||||
ConstPluginIterator<EditPlugin> end();
|
||||
private:
|
||||
EditPluginFactoryRangeIterator(const EditPluginContainer* pm, bool iterateAlsoDisabledPlugins = false);
|
||||
const EditPluginContainer* pm;
|
||||
|
||||
@ -43,7 +43,7 @@ QAction* DecoratePlugin::action(QString name) const
|
||||
return 0;
|
||||
}
|
||||
|
||||
MeshLabPluginFile::ActionIDType DecoratePlugin::ID(const QAction* a) const
|
||||
MeshLabPlugin::ActionIDType DecoratePlugin::ID(const QAction* a) const
|
||||
{
|
||||
QString aa=a->text();
|
||||
foreach(ActionIDType tt, types())
|
||||
@ -57,7 +57,7 @@ MeshLabPluginFile::ActionIDType DecoratePlugin::ID(const QAction* a) const
|
||||
return -1;
|
||||
}
|
||||
|
||||
MeshLabPluginFile::ActionIDType DecoratePlugin::ID(QString name) const
|
||||
MeshLabPlugin::ActionIDType DecoratePlugin::ID(QString name) const
|
||||
{
|
||||
QString n = name;
|
||||
foreach(ActionIDType tt, types())
|
||||
|
||||
@ -25,7 +25,7 @@
|
||||
#define MESHLAB_DECORATE_PLUGIN_H
|
||||
|
||||
#include "meshlab_plugin_logger.h"
|
||||
#include "meshlab_plugin_file.h"
|
||||
#include "meshlab_plugin.h"
|
||||
|
||||
class GLArea;
|
||||
|
||||
@ -53,7 +53,7 @@ class GLArea;
|
||||
* - display of specific tagging
|
||||
**/
|
||||
|
||||
class DecoratePlugin : virtual public MeshLabPluginFile, public MeshLabPluginLogger
|
||||
class DecoratePlugin : virtual public MeshLabPlugin, public MeshLabPluginLogger
|
||||
{
|
||||
public:
|
||||
|
||||
|
||||
@ -27,7 +27,7 @@
|
||||
#include <QTabletEvent>
|
||||
|
||||
#include "meshlab_plugin_logger.h"
|
||||
#include "meshlab_plugin_file.h"
|
||||
#include "meshlab_plugin.h"
|
||||
#include "../../ml_document/mesh_document.h"
|
||||
|
||||
|
||||
@ -94,19 +94,19 @@ public:
|
||||
|
||||
|
||||
/**
|
||||
* @brief The EditPluginFactory class is used to generate an action for each
|
||||
* starting of an editing filter.
|
||||
* @brief The EditPlugin class is used to generate an action for each
|
||||
* starting of an editing tool.
|
||||
*
|
||||
* This is needed because editing filters have a internal state, so if you want
|
||||
* This is needed because editing tools have a internal state, so if you want
|
||||
* to have an editing tool for two different documents you have to instance
|
||||
* two objects. This class is used by the framework to generate an independent
|
||||
* EditPlugin for each document.
|
||||
* EditTool for each document.
|
||||
*/
|
||||
class EditPluginFactory : public MeshLabPluginFile
|
||||
class EditPlugin : public MeshLabPlugin
|
||||
{
|
||||
public:
|
||||
EditPluginFactory() {}
|
||||
virtual ~EditPluginFactory() {}
|
||||
EditPlugin() {}
|
||||
virtual ~EditPlugin() {}
|
||||
|
||||
//gets a list of actions available from this plugin
|
||||
virtual std::list<QAction *> actions() const {return actionList;};
|
||||
@ -121,8 +121,8 @@ protected:
|
||||
std::list<QAction*> actionList;
|
||||
};
|
||||
|
||||
#define EDIT_PLUGIN_FACTORY_IID "vcg.meshlab.EditPluginFactory/1.0"
|
||||
Q_DECLARE_INTERFACE(EditPluginFactory, EDIT_PLUGIN_FACTORY_IID)
|
||||
#define EDIT_PLUGIN_IID "vcg.meshlab.EditPlugin/1.0"
|
||||
Q_DECLARE_INTERFACE(EditPlugin, EDIT_PLUGIN_IID)
|
||||
|
||||
|
||||
#endif // MESHLAB_EDIT_PLUGIN_H
|
||||
|
||||
@ -47,7 +47,7 @@ bool FilterPlugin::isFilterApplicable(const QAction* act, const MeshModel& m, QS
|
||||
return MissingItems.isEmpty();
|
||||
}
|
||||
|
||||
MeshLabPluginFile::ActionIDType FilterPlugin::ID(const QAction* a) const
|
||||
MeshLabPlugin::ActionIDType FilterPlugin::ID(const QAction* a) const
|
||||
{
|
||||
QString aa=a->text();
|
||||
for(ActionIDType tt : qAsConst(typeList))
|
||||
|
||||
@ -25,7 +25,7 @@
|
||||
#define MESHLAB_FILTER_PLUGIN_H
|
||||
|
||||
#include "meshlab_plugin_logger.h"
|
||||
#include "meshlab_plugin_file.h"
|
||||
#include "meshlab_plugin.h"
|
||||
#include "../../ml_document/mesh_document.h"
|
||||
|
||||
//declaring types to be used as QVariants
|
||||
@ -40,7 +40,7 @@ Q_DECLARE_METATYPE(Eigen::VectorXd)
|
||||
/**
|
||||
* @brief The FilterPlugin class provide the interface of the filter plugins.
|
||||
*/
|
||||
class FilterPlugin : virtual public MeshLabPluginFile, virtual public MeshLabPluginLogger
|
||||
class FilterPlugin : virtual public MeshLabPlugin, virtual public MeshLabPluginLogger
|
||||
{
|
||||
public:
|
||||
/**
|
||||
|
||||
@ -27,13 +27,13 @@
|
||||
#include <wrap/callback.h>
|
||||
|
||||
#include "meshlab_plugin_logger.h"
|
||||
#include "meshlab_plugin_file.h"
|
||||
#include "meshlab_plugin.h"
|
||||
#include "../../utilities/file_format.h"
|
||||
|
||||
/**
|
||||
* @brief The IOMeshPlugin is the base class for all the single mesh loading plugins.
|
||||
*/
|
||||
class IOMeshPlugin : virtual public MeshLabPluginFile, virtual public MeshLabPluginLogger
|
||||
class IOMeshPlugin : virtual public MeshLabPlugin, virtual public MeshLabPluginLogger
|
||||
{
|
||||
public:
|
||||
IOMeshPlugin() : MeshLabPluginLogger() { }
|
||||
|
||||
@ -25,11 +25,11 @@
|
||||
#define MESHLAB_IORASTER_PLUGIN_H
|
||||
|
||||
#include "meshlab_plugin_logger.h"
|
||||
#include "meshlab_plugin_file.h"
|
||||
#include "meshlab_plugin.h"
|
||||
#include "../../utilities/file_format.h"
|
||||
#include "../../ml_document/raster_model.h"
|
||||
|
||||
class IORasterPlugin : virtual public MeshLabPluginFile, virtual public MeshLabPluginLogger
|
||||
class IORasterPlugin : virtual public MeshLabPlugin, virtual public MeshLabPluginLogger
|
||||
{
|
||||
public:
|
||||
IORasterPlugin() : MeshLabPluginLogger() {}
|
||||
|
||||
@ -21,8 +21,8 @@
|
||||
* *
|
||||
****************************************************************************/
|
||||
|
||||
#ifndef MESHLAB_PLUGIN_FILE_H
|
||||
#define MESHLAB_PLUGIN_FILE_H
|
||||
#ifndef MESHLAB_PLUGIN_H
|
||||
#define MESHLAB_PLUGIN_H
|
||||
|
||||
#include <string>
|
||||
#include <QFileInfo>
|
||||
@ -44,13 +44,13 @@
|
||||
* Moreover ID are UNSAFE (different plugin can have same id) so they should be
|
||||
* used only INTERNALLY.
|
||||
*/
|
||||
class MeshLabPluginFile
|
||||
class MeshLabPlugin
|
||||
{
|
||||
public:
|
||||
friend class PluginManager;
|
||||
|
||||
MeshLabPluginFile() : enabled(true) {};
|
||||
virtual ~MeshLabPluginFile() {}
|
||||
MeshLabPlugin() : enabled(true) {};
|
||||
virtual ~MeshLabPlugin() {}
|
||||
|
||||
/**
|
||||
* @brief the type used to identify plugin actions;
|
||||
@ -101,4 +101,4 @@ private:
|
||||
private:
|
||||
#define MESHLAB_PLUGIN_NAME_EXPORTER(x)
|
||||
|
||||
#endif // MESHLAB_PLUGIN_FILE_H
|
||||
#endif // MESHLAB_PLUGIN_H
|
||||
@ -26,19 +26,19 @@
|
||||
|
||||
#include <QAction>
|
||||
|
||||
#include "meshlab_plugin_file.h"
|
||||
#include "meshlab_plugin.h"
|
||||
#include "../../GLLogStream.h"
|
||||
#include "../../parameters/rich_parameter_list.h"
|
||||
#include "../../globals.h"
|
||||
|
||||
/**
|
||||
* @brief The PluginLogger provides some common log functionalities that are
|
||||
* used by meshlab.
|
||||
* @brief The MeshLabPluginLogger provides some common log functionalities that are
|
||||
* used by MeshLab.
|
||||
*
|
||||
* Each MeshLab abstract plugin class inherit from this class in order to make
|
||||
* Each MeshLab abstract plugin class inherits from this class in order to make
|
||||
* available log member functions to plugins.
|
||||
* The only exception is the EditPlugin class, since it is not the Edit plugin
|
||||
* that should be able to log, but the EditTool class (The EditPlugin class is a
|
||||
* that should be able to log, but the EditTool class (the EditPlugin class is a
|
||||
* "container" of EditTools).
|
||||
*/
|
||||
class MeshLabPluginLogger
|
||||
|
||||
@ -25,7 +25,7 @@
|
||||
#define MESHLAB_RENDER_PLUGIN_H
|
||||
|
||||
#include "meshlab_plugin_logger.h"
|
||||
#include "meshlab_plugin_file.h"
|
||||
#include "meshlab_plugin.h"
|
||||
#include "../../ml_shared_data_context/ml_scene_gl_shared_data_context.h"
|
||||
|
||||
/**
|
||||
@ -50,7 +50,7 @@
|
||||
|
||||
class GLArea;
|
||||
|
||||
class RenderPlugin : virtual public MeshLabPluginFile, virtual public MeshLabPluginLogger
|
||||
class RenderPlugin : virtual public MeshLabPlugin, virtual public MeshLabPluginLogger
|
||||
{
|
||||
public:
|
||||
RenderPlugin() :MeshLabPluginLogger() {}
|
||||
|
||||
@ -30,7 +30,7 @@
|
||||
#include "interfaces/ioraster_plugin.h"
|
||||
#include "interfaces/render_plugin.h"
|
||||
|
||||
MeshLabPluginType::MeshLabPluginType(const MeshLabPluginFile* fpi) : type(0)
|
||||
MeshLabPluginType::MeshLabPluginType(const MeshLabPlugin* fpi) : type(0)
|
||||
{
|
||||
//Decorate
|
||||
const DecoratePlugin *iDecorator = dynamic_cast<const DecoratePlugin *>(fpi);
|
||||
@ -38,7 +38,7 @@ MeshLabPluginType::MeshLabPluginType(const MeshLabPluginFile* fpi) : type(0)
|
||||
type |= DECORATE;
|
||||
}
|
||||
//EditFactory
|
||||
const EditPluginFactory* efp = dynamic_cast<const EditPluginFactory *>(fpi);
|
||||
const EditPlugin* efp = dynamic_cast<const EditPlugin *>(fpi);
|
||||
if (efp) { //EditFactory Plugin
|
||||
type |= EDIT;
|
||||
}
|
||||
|
||||
@ -26,12 +26,12 @@
|
||||
|
||||
class QString;
|
||||
|
||||
class MeshLabPluginFile;
|
||||
class MeshLabPlugin;
|
||||
|
||||
class MeshLabPluginType
|
||||
{
|
||||
public:
|
||||
MeshLabPluginType(const MeshLabPluginFile* fpi);
|
||||
MeshLabPluginType(const MeshLabPlugin* fpi);
|
||||
|
||||
bool isValid() const;
|
||||
bool isDecoratePlugin() const;
|
||||
|
||||
@ -80,7 +80,7 @@ void PluginManager::checkPlugin(const QString& filename)
|
||||
throw MLException(fin.fileName() + " does not seem to be a Qt Plugin.\n\n" + loader.errorString());
|
||||
}
|
||||
|
||||
MeshLabPluginFile* ifp = dynamic_cast<MeshLabPluginFile *>(plugin);
|
||||
MeshLabPlugin* ifp = dynamic_cast<MeshLabPlugin *>(plugin);
|
||||
if (!ifp){
|
||||
throw MLException(fin.fileName() + " is not a MeshLab plugin.");
|
||||
}
|
||||
@ -195,14 +195,14 @@ void PluginManager::loadPlugin(const QString& fileName)
|
||||
//load the plugin depending on the type (can be more than one type!)
|
||||
QPluginLoader* loader = new QPluginLoader(fin.absoluteFilePath());
|
||||
QObject *plugin = loader->instance();
|
||||
MeshLabPluginFile* ifp = dynamic_cast<MeshLabPluginFile *>(plugin);
|
||||
MeshLabPlugin* ifp = dynamic_cast<MeshLabPlugin *>(plugin);
|
||||
MeshLabPluginType type(ifp);
|
||||
|
||||
if (type.isDecoratePlugin()){
|
||||
decoratePlugins.pushDecoratePlugin(qobject_cast<DecoratePlugin *>(plugin));
|
||||
}
|
||||
if (type.isEditPlugin()){
|
||||
editPlugins.pushEditPlugin(qobject_cast<EditPluginFactory *>(plugin));
|
||||
editPlugins.pushEditPlugin(qobject_cast<EditPlugin *>(plugin));
|
||||
}
|
||||
if (type.isFilterPlugin()){
|
||||
filterPlugins.pushFilterPlugin(qobject_cast<FilterPlugin *>(plugin));
|
||||
@ -225,7 +225,7 @@ void PluginManager::loadPlugin(const QString& fileName)
|
||||
pluginFiles.insert(fin.absoluteFilePath());
|
||||
}
|
||||
|
||||
void PluginManager::unloadPlugin(MeshLabPluginFile* ifp)
|
||||
void PluginManager::unloadPlugin(MeshLabPlugin* ifp)
|
||||
{
|
||||
auto it = std::find(allPlugins.begin(), allPlugins.end(), ifp);
|
||||
if (it != allPlugins.end()){
|
||||
@ -235,7 +235,7 @@ void PluginManager::unloadPlugin(MeshLabPluginFile* ifp)
|
||||
decoratePlugins.eraseDecoratePlugin(dynamic_cast<DecoratePlugin *>(ifp));
|
||||
}
|
||||
if (type.isEditPlugin()){
|
||||
editPlugins.eraseEditPlugin(dynamic_cast<EditPluginFactory *>(ifp));
|
||||
editPlugins.eraseEditPlugin(dynamic_cast<EditPlugin *>(ifp));
|
||||
}
|
||||
if (type.isFilterPlugin()){
|
||||
filterPlugins.eraseFilterPlugin(dynamic_cast<FilterPlugin *>(ifp));
|
||||
@ -257,7 +257,7 @@ void PluginManager::unloadPlugin(MeshLabPluginFile* ifp)
|
||||
}
|
||||
}
|
||||
|
||||
void PluginManager::enablePlugin(MeshLabPluginFile* ifp)
|
||||
void PluginManager::enablePlugin(MeshLabPlugin* ifp)
|
||||
{
|
||||
auto it = std::find(allPlugins.begin(), allPlugins.end(), ifp);
|
||||
if (it != allPlugins.end() && !ifp->isEnabled()){
|
||||
@ -266,7 +266,7 @@ void PluginManager::enablePlugin(MeshLabPluginFile* ifp)
|
||||
}
|
||||
}
|
||||
|
||||
void PluginManager::disablePlugin(MeshLabPluginFile* ifp)
|
||||
void PluginManager::disablePlugin(MeshLabPlugin* ifp)
|
||||
{
|
||||
auto it = std::find(allPlugins.begin(), allPlugins.end(), ifp);
|
||||
if (it != allPlugins.end() && ifp->isEnabled()){
|
||||
@ -356,7 +356,7 @@ QStringList PluginManager::inputRasterFormatListDialog() const
|
||||
return inputFormatListDialog(ioRasterPluginIterator());
|
||||
}
|
||||
|
||||
MeshLabPluginFile* PluginManager::operator[](unsigned int i) const
|
||||
MeshLabPlugin* PluginManager::operator[](unsigned int i) const
|
||||
{
|
||||
return allPlugins[i];
|
||||
}
|
||||
@ -462,14 +462,14 @@ QStringList PluginManager::outputFormatListDialog(RangeIterator iterator)
|
||||
return inputRasterFormatsDialogStringList;
|
||||
}
|
||||
|
||||
ConstPluginIterator<MeshLabPluginFile> PluginManager::PluginRangeIterator::begin()
|
||||
ConstPluginIterator<MeshLabPlugin> PluginManager::PluginRangeIterator::begin()
|
||||
{
|
||||
return ConstPluginIterator<MeshLabPluginFile>(pm->allPlugins, pm->allPlugins.begin(), b);
|
||||
return ConstPluginIterator<MeshLabPlugin>(pm->allPlugins, pm->allPlugins.begin(), b);
|
||||
}
|
||||
|
||||
ConstPluginIterator<MeshLabPluginFile> PluginManager::PluginRangeIterator::end()
|
||||
ConstPluginIterator<MeshLabPlugin> PluginManager::PluginRangeIterator::end()
|
||||
{
|
||||
return ConstPluginIterator<MeshLabPluginFile>(pm->allPlugins, pm->allPlugins.end(), b);
|
||||
return ConstPluginIterator<MeshLabPlugin>(pm->allPlugins, pm->allPlugins.end(), b);
|
||||
}
|
||||
|
||||
PluginManager::PluginRangeIterator::PluginRangeIterator(const PluginManager* pm, bool iterateAlsoDisabledPlugins) :
|
||||
|
||||
@ -51,10 +51,10 @@ public:
|
||||
void loadPlugins();
|
||||
void loadPlugins(QDir pluginsDirectory);
|
||||
void loadPlugin(const QString& filename);
|
||||
void unloadPlugin(MeshLabPluginFile* ifp);
|
||||
void unloadPlugin(MeshLabPlugin* ifp);
|
||||
|
||||
void enablePlugin(MeshLabPluginFile* ifp);
|
||||
void disablePlugin(MeshLabPluginFile* ifp);
|
||||
void enablePlugin(MeshLabPlugin* ifp);
|
||||
void disablePlugin(MeshLabPlugin* ifp);
|
||||
|
||||
unsigned int size() const;
|
||||
int numberIOPlugins() const;
|
||||
@ -76,7 +76,7 @@ public:
|
||||
QStringList outputMeshFormatListDialog() const;
|
||||
QStringList inputRasterFormatListDialog() const;
|
||||
|
||||
MeshLabPluginFile* operator [](unsigned int i) const;
|
||||
MeshLabPlugin* operator [](unsigned int i) const;
|
||||
|
||||
/** Member functions for range iterators **/
|
||||
PluginRangeIterator pluginIterator(bool iterateAlsoDisabledPlugins = false) const;
|
||||
@ -89,7 +89,7 @@ public:
|
||||
|
||||
private:
|
||||
//all plugins
|
||||
std::vector<MeshLabPluginFile*> allPlugins;
|
||||
std::vector<MeshLabPlugin*> allPlugins;
|
||||
std::vector<QPluginLoader*> allPluginLoaders;
|
||||
std::set<QString> pluginFiles; //used to check if a plugin file has been already loaded
|
||||
|
||||
@ -115,8 +115,8 @@ class PluginManager::PluginRangeIterator
|
||||
{
|
||||
friend class PluginManager;
|
||||
public:
|
||||
ConstPluginIterator<MeshLabPluginFile> begin();
|
||||
ConstPluginIterator<MeshLabPluginFile> end();
|
||||
ConstPluginIterator<MeshLabPlugin> begin();
|
||||
ConstPluginIterator<MeshLabPlugin> end();
|
||||
private:
|
||||
PluginRangeIterator(const PluginManager* pm, bool iterateAlsoDisabledPlugins = false);
|
||||
const PluginManager* pm;
|
||||
|
||||
@ -69,7 +69,7 @@ void PluginInfoDialog::chechBoxStateChanged(int state)
|
||||
QCheckBox* cb = (QCheckBox*)QObject::sender();
|
||||
int nPlug = cb->property("np").toInt();
|
||||
PluginManager& pm = meshlab::pluginManagerInstance();
|
||||
MeshLabPluginFile* fpi = pm[nPlug];
|
||||
MeshLabPlugin* fpi = pm[nPlug];
|
||||
if (state == Qt::Checked){
|
||||
pm.enablePlugin(fpi);
|
||||
}
|
||||
@ -87,7 +87,7 @@ void PluginInfoDialog::uninstallPluginPushButtonClicked()
|
||||
QPushButton* pb = (QPushButton*)QObject::sender();
|
||||
int nPlug = pb->property("np").toInt();
|
||||
PluginManager& pm = meshlab::pluginManagerInstance();
|
||||
MeshLabPluginFile* fpi = pm[nPlug];
|
||||
MeshLabPlugin* fpi = pm[nPlug];
|
||||
QFileInfo fdel = fpi->pluginFileInfo();
|
||||
pm.unloadPlugin(fpi);
|
||||
bool res = QFile::remove(fdel.absoluteFilePath());
|
||||
@ -159,7 +159,7 @@ void PluginInfoDialog::populateTreeWidget()
|
||||
}
|
||||
else {
|
||||
int nPlug = 0;
|
||||
for (MeshLabPluginFile* fp : pm.pluginIterator(true)){
|
||||
for (MeshLabPlugin* fp : pm.pluginIterator(true)){
|
||||
MeshLabPluginType type(fp);
|
||||
QString pluginType = type.pluginTypeString();
|
||||
QStringList tmplist;
|
||||
@ -169,7 +169,7 @@ void PluginInfoDialog::populateTreeWidget()
|
||||
tmplist.push_back(a->text());
|
||||
}
|
||||
if (type.isEditPlugin()){
|
||||
EditPluginFactory* epi = dynamic_cast<EditPluginFactory*>(fp);
|
||||
EditPlugin* epi = dynamic_cast<EditPlugin*>(fp);
|
||||
for(QAction *a: epi->actions())
|
||||
tmplist.push_back(a->text());
|
||||
}
|
||||
@ -215,7 +215,7 @@ void PluginInfoDialog::populateTreeWidget()
|
||||
}
|
||||
}
|
||||
|
||||
void PluginInfoDialog::addItems(const MeshLabPluginFile* fpi, int nPlug, const QString& pluginType, const QStringList& features)
|
||||
void PluginInfoDialog::addItems(const MeshLabPlugin* fpi, int nPlug, const QString& pluginType, const QStringList& features)
|
||||
{
|
||||
QTreeWidgetItem *pluginItem = new QTreeWidgetItem(ui->treeWidget);
|
||||
pluginItem->setText(PLUGINS, fpi->pluginName());
|
||||
|
||||
@ -32,7 +32,7 @@ class PluginInfoDialog;
|
||||
}
|
||||
|
||||
class QTreeWidgetItem;
|
||||
class MeshLabPluginFile;
|
||||
class MeshLabPlugin;
|
||||
|
||||
class PluginInfoDialog : public QDialog
|
||||
{
|
||||
@ -52,7 +52,7 @@ private:
|
||||
enum PluginDialogColumn{PLUGINS = 0, ENABLED, TYPE, VENDOR, FILE, UNINSTALL};
|
||||
|
||||
void populateTreeWidget();
|
||||
void addItems(const MeshLabPluginFile* fpi, int nPlug, const QString& pluginType, const QStringList &features);
|
||||
void addItems(const MeshLabPlugin* fpi, int nPlug, const QString& pluginType, const QStringList &features);
|
||||
|
||||
Ui::PluginInfoDialog *ui;
|
||||
QIcon interfaceIcon;
|
||||
|
||||
@ -88,7 +88,7 @@ MainWindow::MainWindow():
|
||||
|
||||
//disable previously disabled plugins
|
||||
QStringList disabledPlugins = settings.value("DisabledPlugins").value<QStringList>();
|
||||
for (MeshLabPluginFile* fp : PM.pluginIterator(true)){
|
||||
for (MeshLabPlugin* fp : PM.pluginIterator(true)){
|
||||
if (disabledPlugins.contains(fp->pluginName()))
|
||||
PM.disablePlugin(fp);
|
||||
}
|
||||
@ -508,7 +508,7 @@ void MainWindow::createToolBars()
|
||||
|
||||
editToolBar = addToolBar(tr("Edit"));
|
||||
editToolBar->addAction(suspendEditModeAct);
|
||||
for(EditPluginFactory *iEditFactory: PM.editPluginFactoryIterator()) {
|
||||
for(EditPlugin *iEditFactory: PM.editPluginFactoryIterator()) {
|
||||
for(QAction* editAction: iEditFactory->actions()){
|
||||
if (!editAction->icon().isNull()) {
|
||||
editToolBar->addAction(editAction);
|
||||
@ -881,7 +881,7 @@ void MainWindow::fillEditMenu()
|
||||
{
|
||||
clearMenu(editMenu);
|
||||
editMenu->addAction(suspendEditModeAct);
|
||||
for(EditPluginFactory *iEditFactory: PM.editPluginFactoryIterator())
|
||||
for(EditPlugin *iEditFactory: PM.editPluginFactoryIterator())
|
||||
{
|
||||
for(QAction* editAction: iEditFactory->actions())
|
||||
{
|
||||
@ -921,7 +921,7 @@ void MainWindow::updateAllPluginsActions()
|
||||
|
||||
editToolBar->clear();
|
||||
editToolBar->addAction(suspendEditModeAct);
|
||||
for(EditPluginFactory *iEditFactory: PM.editPluginFactoryIterator()) {
|
||||
for(EditPlugin *iEditFactory: PM.editPluginFactoryIterator()) {
|
||||
for(QAction* editAction: iEditFactory->actions()){
|
||||
if (!editAction->icon().isNull()) {
|
||||
editToolBar->addAction(editAction);
|
||||
|
||||
@ -395,7 +395,7 @@ void MainWindow::updateMenus()
|
||||
// you exit from editing mode by pressing again the editing button
|
||||
// When you are in a editing mode all the other editing are disabled.
|
||||
|
||||
for (EditPluginFactory* ep : PM.editPluginFactoryIterator())
|
||||
for (EditPlugin* ep : PM.editPluginFactoryIterator())
|
||||
for (QAction* a : ep->actions()) {
|
||||
a->setChecked(false);
|
||||
a->setEnabled(GLA()->getCurrentEditAction() == nullptr);
|
||||
@ -432,7 +432,7 @@ void MainWindow::updateMenus()
|
||||
} // if active
|
||||
else
|
||||
{
|
||||
for (EditPluginFactory* ep : PM.editPluginFactoryIterator()) {
|
||||
for (EditPlugin* ep : PM.editPluginFactoryIterator()) {
|
||||
for (QAction* a : ep->actions()) {
|
||||
a->setEnabled(false);
|
||||
}
|
||||
@ -1406,7 +1406,7 @@ void MainWindow::applyEditMode()
|
||||
//if this GLArea does not have an instance of this action's MeshEdit tool then give it one
|
||||
if(!GLA()->editorExistsForAction(action))
|
||||
{
|
||||
EditPluginFactory *iEditFactory = qobject_cast<EditPluginFactory *>(action->parent());
|
||||
EditPlugin *iEditFactory = qobject_cast<EditPlugin *>(action->parent());
|
||||
EditTool *iEdit = iEditFactory->getEditTool(action);
|
||||
GLA()->addMeshEditor(action, iEdit);
|
||||
}
|
||||
@ -2750,7 +2750,7 @@ void MainWindow::aboutPlugins()
|
||||
updateAllPluginsActions();
|
||||
QSettings settings;
|
||||
QStringList disabledPlugins;
|
||||
for (MeshLabPluginFile* pf : PM.pluginIterator(true)){
|
||||
for (MeshLabPlugin* pf : PM.pluginIterator(true)){
|
||||
if (!pf->isEnabled()){
|
||||
disabledPlugins.append(pf->pluginName());
|
||||
}
|
||||
|
||||
@ -28,11 +28,11 @@
|
||||
#include <QObject>
|
||||
#include <common/plugins/interfaces/edit_plugin.h>
|
||||
|
||||
class EditAlignFactory : public QObject, public EditPluginFactory
|
||||
class EditAlignFactory : public QObject, public EditPlugin
|
||||
{
|
||||
Q_OBJECT
|
||||
MESHLAB_PLUGIN_IID_EXPORTER(EDIT_PLUGIN_FACTORY_IID)
|
||||
Q_INTERFACES(EditPluginFactory)
|
||||
MESHLAB_PLUGIN_IID_EXPORTER(EDIT_PLUGIN_IID)
|
||||
Q_INTERFACES(EditPlugin)
|
||||
|
||||
public:
|
||||
EditAlignFactory();
|
||||
|
||||
@ -28,11 +28,11 @@
|
||||
#include <QObject>
|
||||
#include <common/plugins/interfaces/edit_plugin.h>
|
||||
|
||||
class EditManipulatorsFactory : public QObject, public EditPluginFactory
|
||||
class EditManipulatorsFactory : public QObject, public EditPlugin
|
||||
{
|
||||
Q_OBJECT
|
||||
MESHLAB_PLUGIN_IID_EXPORTER(EDIT_PLUGIN_FACTORY_IID)
|
||||
Q_INTERFACES(EditPluginFactory)
|
||||
MESHLAB_PLUGIN_IID_EXPORTER(EDIT_PLUGIN_IID)
|
||||
Q_INTERFACES(EditPlugin)
|
||||
|
||||
public:
|
||||
EditManipulatorsFactory();
|
||||
|
||||
@ -28,11 +28,11 @@
|
||||
#include <QObject>
|
||||
#include <common/plugins/interfaces/edit_plugin.h>
|
||||
|
||||
class EditMeasureFactory : public QObject, public EditPluginFactory
|
||||
class EditMeasureFactory : public QObject, public EditPlugin
|
||||
{
|
||||
Q_OBJECT
|
||||
MESHLAB_PLUGIN_IID_EXPORTER(EDIT_PLUGIN_FACTORY_IID)
|
||||
Q_INTERFACES(EditPluginFactory)
|
||||
MESHLAB_PLUGIN_IID_EXPORTER(EDIT_PLUGIN_IID)
|
||||
Q_INTERFACES(EditPlugin)
|
||||
|
||||
public:
|
||||
EditMeasureFactory();
|
||||
|
||||
@ -27,11 +27,11 @@
|
||||
#include <QObject>
|
||||
#include <common/plugins/interfaces/edit_plugin.h>
|
||||
|
||||
class EditMutualCorrsFactory : public QObject, public EditPluginFactory
|
||||
class EditMutualCorrsFactory : public QObject, public EditPlugin
|
||||
{
|
||||
Q_OBJECT
|
||||
MESHLAB_PLUGIN_IID_EXPORTER(EDIT_PLUGIN_FACTORY_IID)
|
||||
Q_INTERFACES(EditPluginFactory)
|
||||
MESHLAB_PLUGIN_IID_EXPORTER(EDIT_PLUGIN_IID)
|
||||
Q_INTERFACES(EditPlugin)
|
||||
|
||||
public:
|
||||
EditMutualCorrsFactory();
|
||||
|
||||
@ -28,11 +28,11 @@
|
||||
|
||||
#include <common/plugins/interfaces/edit_plugin.h>
|
||||
|
||||
class EditPaintFactory : public QObject, public EditPluginFactory
|
||||
class EditPaintFactory : public QObject, public EditPlugin
|
||||
{
|
||||
Q_OBJECT
|
||||
MESHLAB_PLUGIN_IID_EXPORTER(EDIT_PLUGIN_FACTORY_IID)
|
||||
Q_INTERFACES(EditPluginFactory)
|
||||
MESHLAB_PLUGIN_IID_EXPORTER(EDIT_PLUGIN_IID)
|
||||
Q_INTERFACES(EditPlugin)
|
||||
|
||||
public:
|
||||
EditPaintFactory();
|
||||
|
||||
@ -28,11 +28,11 @@
|
||||
#include <QObject>
|
||||
#include <common/plugins/interfaces/edit_plugin.h>
|
||||
|
||||
class EditPickPointsFactory : public QObject, public EditPluginFactory
|
||||
class EditPickPointsFactory : public QObject, public EditPlugin
|
||||
{
|
||||
Q_OBJECT
|
||||
MESHLAB_PLUGIN_IID_EXPORTER(EDIT_PLUGIN_FACTORY_IID)
|
||||
Q_INTERFACES(EditPluginFactory)
|
||||
MESHLAB_PLUGIN_IID_EXPORTER(EDIT_PLUGIN_IID)
|
||||
Q_INTERFACES(EditPlugin)
|
||||
|
||||
public:
|
||||
EditPickPointsFactory();
|
||||
|
||||
@ -28,11 +28,11 @@
|
||||
#include <QObject>
|
||||
#include <common/plugins/interfaces/edit_plugin.h>
|
||||
|
||||
class PointEditFactory : public QObject, public EditPluginFactory
|
||||
class PointEditFactory : public QObject, public EditPlugin
|
||||
{
|
||||
Q_OBJECT
|
||||
MESHLAB_PLUGIN_IID_EXPORTER(EDIT_PLUGIN_FACTORY_IID)
|
||||
Q_INTERFACES(EditPluginFactory)
|
||||
MESHLAB_PLUGIN_IID_EXPORTER(EDIT_PLUGIN_IID)
|
||||
Q_INTERFACES(EditPlugin)
|
||||
|
||||
public:
|
||||
PointEditFactory();
|
||||
|
||||
@ -28,11 +28,11 @@
|
||||
#include <QObject>
|
||||
#include <common/plugins/interfaces/edit_plugin.h>
|
||||
|
||||
class QualityMapperFactory : public QObject, public EditPluginFactory
|
||||
class QualityMapperFactory : public QObject, public EditPlugin
|
||||
{
|
||||
Q_OBJECT
|
||||
MESHLAB_PLUGIN_IID_EXPORTER(EDIT_PLUGIN_FACTORY_IID)
|
||||
Q_INTERFACES(EditPluginFactory)
|
||||
MESHLAB_PLUGIN_IID_EXPORTER(EDIT_PLUGIN_IID)
|
||||
Q_INTERFACES(EditPlugin)
|
||||
|
||||
public:
|
||||
QualityMapperFactory();
|
||||
|
||||
@ -27,11 +27,11 @@
|
||||
#include <QObject>
|
||||
#include <common/plugins/interfaces/edit_plugin.h>
|
||||
|
||||
class EditReferencingFactory : public QObject, public EditPluginFactory
|
||||
class EditReferencingFactory : public QObject, public EditPlugin
|
||||
{
|
||||
Q_OBJECT
|
||||
MESHLAB_PLUGIN_IID_EXPORTER(EDIT_PLUGIN_FACTORY_IID)
|
||||
Q_INTERFACES(EditPluginFactory)
|
||||
MESHLAB_PLUGIN_IID_EXPORTER(EDIT_PLUGIN_IID)
|
||||
Q_INTERFACES(EditPlugin)
|
||||
|
||||
public:
|
||||
EditReferencingFactory();
|
||||
|
||||
@ -28,11 +28,11 @@
|
||||
#include <QObject>
|
||||
#include <common/plugins/interfaces/edit_plugin.h>
|
||||
|
||||
class SampleEditFactory : public QObject, public EditPluginFactory
|
||||
class SampleEditFactory : public QObject, public EditPlugin
|
||||
{
|
||||
Q_OBJECT
|
||||
MESHLAB_PLUGIN_IID_EXPORTER(EDIT_PLUGIN_FACTORY_IID)
|
||||
Q_INTERFACES(EditPluginFactory)
|
||||
MESHLAB_PLUGIN_IID_EXPORTER(EDIT_PLUGIN_IID)
|
||||
Q_INTERFACES(EditPlugin)
|
||||
|
||||
public:
|
||||
SampleEditFactory();
|
||||
|
||||
@ -27,11 +27,11 @@
|
||||
|
||||
#include <common/plugins/interfaces/edit_plugin.h>
|
||||
|
||||
class EditSelectFactory : public QObject, public EditPluginFactory
|
||||
class EditSelectFactory : public QObject, public EditPlugin
|
||||
{
|
||||
Q_OBJECT
|
||||
MESHLAB_PLUGIN_IID_EXPORTER(EDIT_PLUGIN_FACTORY_IID)
|
||||
Q_INTERFACES(EditPluginFactory)
|
||||
MESHLAB_PLUGIN_IID_EXPORTER(EDIT_PLUGIN_IID)
|
||||
Q_INTERFACES(EditPlugin)
|
||||
|
||||
public:
|
||||
EditSelectFactory();
|
||||
|
||||
@ -37,6 +37,7 @@
|
||||
|
||||
#include <clocale>
|
||||
|
||||
#include <QDir>
|
||||
#include <QGLFormat>
|
||||
#include <QFileInfo>
|
||||
#include <QElapsedTimer>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user