only classic plugin parameters admitted

This commit is contained in:
alemuntoni 2020-05-20 22:09:02 +02:00
parent cf6abffe0c
commit b6a52a0de5
6 changed files with 18 additions and 47 deletions

View File

@ -52,7 +52,7 @@ QDomDocument FilterScript::xmlDoc()
for(FilterScript::iterator ii=filtparlist.begin();ii!= filtparlist.end();++ii)
{
OldFilterNameParameterValuesPair* oldpv = reinterpret_cast<OldFilterNameParameterValuesPair*>(*ii);
FilterNameParameterValuesPair* oldpv = reinterpret_cast<FilterNameParameterValuesPair*>(*ii);
QDomElement tag = doc.createElement("filter");
QPair<QString,RichParameterSet>& pair = oldpv->pair;
tag.setAttribute(QString("name"),pair.first);
@ -121,32 +121,11 @@ bool FilterScript::open(QString filename)
//FilterParameter::addQDomElement(par,np);
par.paramList.push_back(rp);
}
OldFilterNameParameterValuesPair* tmp = new OldFilterNameParameterValuesPair();
FilterNameParameterValuesPair* tmp = new FilterNameParameterValuesPair();
tmp->pair = qMakePair(name,par);
filtparlist.append(tmp);
}
else
{
QString name=nf.attribute("name");
qDebug("Reading filter with name %s", qUtf8Printable(name));
QMap<QString,QString> map;
for(QDomElement np = nf.firstChildElement("xmlparam"); !np.isNull(); np = np.nextSiblingElement("xmlparam"))
map[np.attribute("name")] = np.attribute("value");
XMLFilterNameParameterValuesPair* tmp = new XMLFilterNameParameterValuesPair();
tmp->pair = qMakePair(name,map);
filtparlist.append(tmp);
}
}
return true;
}
void FilterScript::addExecutedXMLFilter( const QString& name,const QMap<QString,QString>& parvalue )
{
XMLFilterNameParameterValuesPair* tmp = new XMLFilterNameParameterValuesPair();
tmp->pair = qMakePair(name,parvalue);
filtparlist.append(tmp);
}

View File

@ -34,26 +34,18 @@ class QDomElement;
class FilterNameParameterValuesPair
{
public:
virtual QString filterName() const = 0;
virtual ~FilterNameParameterValuesPair() {}
};
class XMLFilterNameParameterValuesPair : public FilterNameParameterValuesPair
{
public:
~XMLFilterNameParameterValuesPair() {}
QString filterName() const { return pair.first; }
QPair< QString, QMap<QString, QString> > pair;
};
class OldFilterNameParameterValuesPair : public FilterNameParameterValuesPair
{
public:
~OldFilterNameParameterValuesPair() {}
QString filterName() const { return pair.first; }
virtual QString filterName() const { return pair.first; }
QPair< QString, RichParameterSet > pair;
};
//class XMLFilterNameParameterValuesPair : public FilterNameParameterValuesPair
//{
//public:
// ~XMLFilterNameParameterValuesPair() {}
// QString filterName() const { return pair.first; }
// QPair< QString, QMap<QString, QString> > pair;
//};
/*
The filterscipt class abstract the concept of history of processing.
It is simply a list of all the performed actions
@ -73,8 +65,8 @@ public:
QList< FilterNameParameterValuesPair* > filtparlist;
typedef QList< FilterNameParameterValuesPair* >::iterator iterator;
public slots:
void addExecutedXMLFilter(const QString& name, const QMap<QString, QString>& parvalue);
//public slots:
//void addExecutedXMLFilter(const QString& name, const QMap<QString, QString>& parvalue);
};
#endif

View File

@ -198,7 +198,7 @@ void FilterScriptDialog::editOldParameters( const int row )
return;
QString actionName = ui->scriptListWidget->currentItem()->text();
OldFilterNameParameterValuesPair* old = reinterpret_cast<OldFilterNameParameterValuesPair*>(scriptPtr->filtparlist.at(row));
FilterNameParameterValuesPair* old = reinterpret_cast<FilterNameParameterValuesPair*>(scriptPtr->filtparlist.at(row));
RichParameterSet oldParameterSet = old->pair.second;
//get the main window
MainWindow *mainWindow = qobject_cast<MainWindow*>(parentWidget());

View File

@ -789,7 +789,7 @@ void MainWindow::runFilterScript()
if (meshDoc()->mm() != NULL)
meshDoc()->mm()->updateDataMask(req);
iFilter->setLog(&meshDoc()->Log);
OldFilterNameParameterValuesPair* old = reinterpret_cast<OldFilterNameParameterValuesPair*>(*ii);
FilterNameParameterValuesPair* old = reinterpret_cast<FilterNameParameterValuesPair*>(*ii);
RichParameterSet &parameterSet = old->pair.second;
for(int i = 0; i < parameterSet.paramList.size(); i++)
@ -978,7 +978,7 @@ void MainWindow::startFilter()
executeFilter(action, dummyParSet, false);
//Insert the filter to filterHistory
OldFilterNameParameterValuesPair* tmp = new OldFilterNameParameterValuesPair();
FilterNameParameterValuesPair* tmp = new FilterNameParameterValuesPair();
tmp->pair = qMakePair(action->text(), dummyParSet);
meshDoc()->filterHistory->filtparlist.append(tmp);
}

View File

@ -199,7 +199,7 @@ void MeshlabStdDialog::applyClick()
//we don't need to reapply the filter to the mesh
if ((q != nullptr) && (curMeshDoc != nullptr) && (curMeshDoc->filterHistory != nullptr))
{
OldFilterNameParameterValuesPair* oldpair = new OldFilterNameParameterValuesPair();
FilterNameParameterValuesPair* oldpair = new FilterNameParameterValuesPair();
oldpair->pair = qMakePair(q->text(), curParSet);
curMeshDoc->filterHistory->filtparlist.append(oldpair);
}

View File

@ -352,7 +352,7 @@ public:
//defined in the script file.
RichParameterSet required;
iFilter->initParameterSet(action,meshDocument,required);
OldFilterNameParameterValuesPair* pairold = reinterpret_cast<OldFilterNameParameterValuesPair*>(*ii);
FilterNameParameterValuesPair* pairold = reinterpret_cast<FilterNameParameterValuesPair*>(*ii);
RichParameterSet &parameterSet = pairold->pair.second;
//The parameters in the script file are more than the required parameters of the filter. The script file is not correct.