From e5718ad240bc57fcfea2f491b04eb6eb40cbe6d9 Mon Sep 17 00:00:00 2001 From: granzuglia Date: Wed, 3 Jan 2018 13:13:13 +1100 Subject: [PATCH] added support for persistante parameters. WARNING!!! please, note that at this moment the code may not compile. It will compile again as soon as I will finish to merge the all the changed files --- src/meshlab/xmlgeneratorgui.cpp | 27 +++++++++++++++++++++------ src/meshlab/xmlgeneratorgui.h | 1 + 2 files changed, 22 insertions(+), 6 deletions(-) diff --git a/src/meshlab/xmlgeneratorgui.cpp b/src/meshlab/xmlgeneratorgui.cpp index dff9eeb74..2fbdaee62 100644 --- a/src/meshlab/xmlgeneratorgui.cpp +++ b/src/meshlab/xmlgeneratorgui.cpp @@ -39,11 +39,18 @@ void ParamGeneratorGUI::collectInfo( MLXMLParamSubTree& param ) param.paraminfo[MLXMLElNames::paramType] += " " + enumnames->text(); param.paraminfo[MLXMLElNames::paramName] = pname->text(); param.paraminfo[MLXMLElNames::paramDefExpr] = pdefault->text(); - QString isimp("false"); + + QString isimp("false"); if (pisimp->isChecked()) isimp = "true"; - param.paraminfo[MLXMLElNames::paramIsImportant] = isimp; - param.paraminfo[MLXMLElNames::paramHelpTag] = UsefulGUIFunctions::avoidProblemsWithHTMLTagInsideXML(phel->toPlainText()); + param.paraminfo[MLXMLElNames::paramIsImportant] = isimp; + + QString ispers("false"); + if (pispers->isChecked()) + isimp = "true"; + param.paraminfo[MLXMLElNames::paramIsPersistent] = ispers; + + param.paraminfo[MLXMLElNames::paramHelpTag] = UsefulGUIFunctions::avoidProblemsWithHTMLTagInsideXML(phel->toPlainText()); param.gui.guiinfo[MLXMLElNames::guiType] = pguitype->currentText(); param.gui.guiinfo[MLXMLElNames::guiLabel] = pguilab->text(); param.gui.guiinfo[MLXMLElNames::guiMinExpr] = pguimin->text(); @@ -80,6 +87,8 @@ void ParamGeneratorGUI::initUI() pdefault = new QLineEdit(this); pisimp = new QCheckBox("isImportant",this); pisimp->setCheckState(Qt::Checked); + pispers = new QCheckBox("isPersistent", this); + pispers->setCheckState(Qt::Unchecked); //QLabel* hlab = new QLabel("Help",this); QGroupBox* gpbox = new QGroupBox("Parameter Help",this); QGridLayout* laybox = new QGridLayout(); @@ -174,10 +183,16 @@ void ParamGeneratorGUI::importInfo( const MLXMLParamSubTree& tree ) pname->setText(tree.paraminfo[MLXMLElNames::paramName]); pdefault->setText(tree.paraminfo[MLXMLElNames::paramDefExpr]); phel->setPlainText(tree.paraminfo[MLXMLElNames::paramHelpTag]); - bool check = true; + bool isimpcheck = true; if (tree.paraminfo[MLXMLElNames::paramIsImportant].trimmed() == QString("false")) - check = false; - pisimp->setChecked(check); + isimpcheck = false; + pisimp->setChecked(isimpcheck); + + bool isperscheck = true; + if (tree.paraminfo[MLXMLElNames::paramIsPersistent].trimmed() == QString("false")) + isperscheck = false; + pispers->setChecked(isperscheck); + QString guity = tree.gui.guiinfo[MLXMLElNames::guiType]; pguitype->setCurrentIndex(pguitype->findText(guity)); pguilab->setText(tree.gui.guiinfo[MLXMLElNames::guiLabel]); diff --git a/src/meshlab/xmlgeneratorgui.h b/src/meshlab/xmlgeneratorgui.h index 56f036a94..35dfc907e 100644 --- a/src/meshlab/xmlgeneratorgui.h +++ b/src/meshlab/xmlgeneratorgui.h @@ -57,6 +57,7 @@ private: QLineEdit* pname; QLineEdit* pdefault; QCheckBox* pisimp; + QCheckBox* pispers; QPlainTextEdit* phel; //QTreeWidget* pguitree; QLineEdit* pguilab;