X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FPlugins%2FMEDReader%2FParaViewPlugin%2FpqMEDReaderPanel.cxx;h=17d7bb4617a8f56cadd9944ceb7dd0798d7f27af;hb=c3e295aa99b7f469497f96ef299e016d4fae6c4d;hp=2053a5ad5eb3f69658e35611dcf42200b66f5f34;hpb=9dbade0021c7a8e21aedcfb28be257886abed924;p=modules%2Fparavis.git diff --git a/src/Plugins/MEDReader/ParaViewPlugin/pqMEDReaderPanel.cxx b/src/Plugins/MEDReader/ParaViewPlugin/pqMEDReaderPanel.cxx index 2053a5ad..17d7bb46 100644 --- a/src/Plugins/MEDReader/ParaViewPlugin/pqMEDReaderPanel.cxx +++ b/src/Plugins/MEDReader/ParaViewPlugin/pqMEDReaderPanel.cxx @@ -135,6 +135,8 @@ void pqMEDReaderPanel::initAll() vtkPVSILInformation *info(vtkPVSILInformation::New()); reader->GatherInformation(info); vtkGraph *g(info->GetSIL()); + if(!g)//something wrong server side... + return ; vtkMutableDirectedGraph *g2(vtkMutableDirectedGraph::SafeDownCast(g)); int idNames(0); vtkAbstractArray *verticesNames(g2->GetVertexData()->GetAbstractArray("Names",idNames)); @@ -210,16 +212,17 @@ void pqMEDReaderPanel::initAll() { vtkIdType id3(it2->Next()); QString name2(QString::fromStdString((const char *)verticesNames2->GetValue(id3))); QList strs2; strs2.append(name2); - QString toolTipName2(name2); pqTreeWidgetItemObject *item2(new pqTreeWidgetItemObject(item1,strs2)); item2->setData(0,Qt::UserRole,name2); - item2->setData(0,Qt::ToolTipRole,toolTipName2); item2->setData(0,Qt::CheckStateRole,0); vtkAdjacentVertexIterator *it3(vtkAdjacentVertexIterator::New());//fields ! g2->GetAdjacentVertices(id3,it3); - while(it3->HasNext()) + vtkIdType id3Arrs(it3->Next()); + vtkAdjacentVertexIterator *it3Arrs(vtkAdjacentVertexIterator::New());//arrs in fields ! + g2->GetAdjacentVertices(id3Arrs,it3Arrs); + while(it3Arrs->HasNext()) { - vtkIdType id4(it3->Next()); + vtkIdType id4(it3Arrs->Next()); std::string name3CppFull((const char *)verticesNames2->GetValue(id4)); std::size_t pos(name3CppFull.find_first_of(ZE_SEP)); std::string name3Only(name3CppFull.substr(0,pos)); std::string spatialDiscr(name3CppFull.substr(pos+sizeof(ZE_SEP)-1)); @@ -253,7 +256,20 @@ void pqMEDReaderPanel::initAll() connect(item3,SIGNAL(checkedStateChanged(bool)),this,SLOT(aLev4HasBeenFired())); ll++; } + vtkIdType id3Gts(it3->Next()); + vtkAdjacentVertexIterator *it3Gts(vtkAdjacentVertexIterator::New());//geo types in fields ! + g2->GetAdjacentVertices(id3Gts,it3Gts); + QString toolTipName2(name2); + while(it3Gts->HasNext()) + { + vtkIdType idGt(it3Gts->Next()); + std::string gtName((const char *)verticesNames2->GetValue(idGt)); + toolTipName2=QString("%1\n- %2").arg(toolTipName2).arg(QString(gtName.c_str())); + } + item2->setData(0,Qt::ToolTipRole,toolTipName2); + it3Gts->Delete(); it3->Delete(); + it3Arrs->Delete(); if(kk==0) item2->setChecked(true); kk++; @@ -448,12 +464,9 @@ int pqMEDReaderPanel::getMaxNumberOfTS() const int ret(0); for(std::vector::const_iterator it=_all_lev4.begin();it!=_all_lev4.end();it++) { - if((*it)->property("checked").toInt()) - { - QTreeWidgetItem *obj((*it)->QTreeWidgetItem::parent()->QTreeWidgetItem::parent()->QTreeWidgetItem::parent()); - pqTreeWidgetItemObject *objC(dynamic_cast(obj)); - ret=std::max(ret,objC->property("NbOfTS").toInt()); - } + QTreeWidgetItem *obj((*it)->QTreeWidgetItem::parent()->QTreeWidgetItem::parent()->QTreeWidgetItem::parent()); + pqTreeWidgetItemObject *objC(dynamic_cast(obj)); + ret=std::max(ret,objC->property("NbOfTS").toInt()); } return ret; }