From a013b77320c78151bcd80408d97f1d2c8a34fc3a Mon Sep 17 00:00:00 2001 From: geay Date: Wed, 26 Mar 2014 15:01:39 +0100 Subject: [PATCH] Bug of @ in fieldname and bug on reload where first entry is not systematically rechecked. --- .../IO/MEDFileFieldRepresentationTree.cxx | 3 ++- .../ParaViewPlugin/pqMEDReaderPanel.cxx | 16 ++++++++++++---- src/Plugins/MEDReader/TODO.txt | 6 +++++- 3 files changed, 19 insertions(+), 6 deletions(-) diff --git a/src/Plugins/MEDReader/IO/MEDFileFieldRepresentationTree.cxx b/src/Plugins/MEDReader/IO/MEDFileFieldRepresentationTree.cxx index 0721775a..107d8772 100644 --- a/src/Plugins/MEDReader/IO/MEDFileFieldRepresentationTree.cxx +++ b/src/Plugins/MEDReader/IO/MEDFileFieldRepresentationTree.cxx @@ -1020,7 +1020,8 @@ int MEDFileFieldRepresentationTree::getIdHavingZeName(const char *name) const for(std::vector< MEDFileFieldRepresentationLeaves >::const_iterator it2=(*it1).begin();it2!=(*it1).end();it2++) if((*it2).containZeName(name,ret)) return ret; - throw INTERP_KERNEL::Exception("MEDFileFieldRepresentationTree::getIdHavingZeName : No such a name !"); + std::ostringstream msg; msg << "MEDFileFieldRepresentationTree::getIdHavingZeName : No such a name \"" << name << "\" !"; + throw INTERP_KERNEL::Exception(msg.str().c_str()); } bool MEDFileFieldRepresentationTree::changeStatusOfAndUpdateToHaveCoherentVTKDataSet(int id, bool status) const diff --git a/src/Plugins/MEDReader/ParaViewPlugin/pqMEDReaderPanel.cxx b/src/Plugins/MEDReader/ParaViewPlugin/pqMEDReaderPanel.cxx index 17d7bb46..8e3eebdd 100644 --- a/src/Plugins/MEDReader/ParaViewPlugin/pqMEDReaderPanel.cxx +++ b/src/Plugins/MEDReader/ParaViewPlugin/pqMEDReaderPanel.cxx @@ -51,6 +51,8 @@ #include +#include + static const char ZE_SEP[]="@@][@@"; class PixSingle @@ -224,7 +226,7 @@ void pqMEDReaderPanel::initAll() { vtkIdType id4(it3Arrs->Next()); std::string name3CppFull((const char *)verticesNames2->GetValue(id4)); - std::size_t pos(name3CppFull.find_first_of(ZE_SEP)); + std::size_t pos(name3CppFull.find(ZE_SEP)); std::string name3Only(name3CppFull.substr(0,pos)); std::string spatialDiscr(name3CppFull.substr(pos+sizeof(ZE_SEP)-1)); QString name3(QString::fromStdString(name3Only)); QList strs3; strs3.append(name3); QString toolTipName3(name3+QString(" (")+spatialDiscr.c_str()+QString(")")); @@ -250,8 +252,16 @@ void pqMEDReaderPanel::initAll() item3->setData(0,Qt::ToolTipRole,toolTipName3); item3->setData(0,Qt::DecorationRole,PixSingle::GetInstance().getPixFromStr(spatialDiscr)); } - this->propertyManager()->registerLink(item3,"checked",SIGNAL(checkedStateChanged(bool)),this->proxy(),SMProperty,ll); _leaves.insert(std::pair(item3,ll)); + std::ostringstream pdm; pdm << name0.toStdString() << "/" << name1.toStdString() << "/" << name2.toStdString() << "/" << name3CppFull; + (static_cast(SMProperty))->SetElement(2*ll,pdm.str().c_str()); + char tmp2[2]; tmp2[0]=(kk==0?'1':'0'); tmp2[1]='\0'; + std::string tmp(tmp2); + (static_cast(SMProperty))->SetElement(2*ll+1,tmp.c_str()); + //SMProperty->ResetToDefault(); + item2->setChecked(kk==0); + item3->setChecked(kk==0); + this->propertyManager()->registerLink(item3,"checked",SIGNAL(checkedStateChanged(bool)),this->proxy(),SMProperty,ll); connect(item2,SIGNAL(checkedStateChanged(bool)),item3,SLOT(setChecked(bool))); connect(item3,SIGNAL(checkedStateChanged(bool)),this,SLOT(aLev4HasBeenFired())); ll++; @@ -270,8 +280,6 @@ void pqMEDReaderPanel::initAll() it3Gts->Delete(); it3->Delete(); it3Arrs->Delete(); - if(kk==0) - item2->setChecked(true); kk++; } it2->Delete(); diff --git a/src/Plugins/MEDReader/TODO.txt b/src/Plugins/MEDReader/TODO.txt index e0f1a201..7c598555 100644 --- a/src/Plugins/MEDReader/TODO.txt +++ b/src/Plugins/MEDReader/TODO.txt @@ -61,4 +61,8 @@ when in STANDALONE mode. 0 - Add the frequency information in mode mode in the name of arrays in DataSet. -0 - Addition of MeshName property in ExtractGroup (see testMEDReader9.py) \ No newline at end of file +0 - Addition of MeshName property in ExtractGroup (see testMEDReader9.py) + +0 - Bug when fields contains @ + +1 - Bug on reload the first leaf is not systematically activated. \ No newline at end of file -- 2.39.2