X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSMESHGUI%2FSMESHGUI_FindElemByPointDlg.cxx;h=3936eea86d8c23acaecca085a4b54acba4041e39;hb=986cacacdb49caea7239a784db3a64278d7e65bb;hp=42d51513b3215582ea560a0925653f0b97307d1b;hpb=d502285de5fe37ccf721ee1841f833f516e7cee5;p=modules%2Fsmesh.git diff --git a/src/SMESHGUI/SMESHGUI_FindElemByPointDlg.cxx b/src/SMESHGUI/SMESHGUI_FindElemByPointDlg.cxx index 42d51513b..3936eea86 100644 --- a/src/SMESHGUI/SMESHGUI_FindElemByPointDlg.cxx +++ b/src/SMESHGUI/SMESHGUI_FindElemByPointDlg.cxx @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2011 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2012 CEA/DEN, EDF R&D, OPEN CASCADE // // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public @@ -19,8 +19,9 @@ // File : SMESHGUI_FindElemByPointDlg.cxx // Author : Edward AGAPOV, Open CASCADE S.A.S. -// SMESH includes // + +// SMESH includes #include "SMESHGUI_FindElemByPointDlg.h" #include "SMESHGUI.h" @@ -124,6 +125,10 @@ void SMESHGUI_FindElemByPointDlg::setTypes(SMESH::array_of_ElementType_var & typ myElemTypeCombo->addItem( tr( "MEN_ELEM0D" )); myElemTypeCombo->setId( nbTypes++, int( SMESH::ELEM0D )); break; + case SMESH::BALL: + myElemTypeCombo->addItem( tr( "MEN_BALL" )); + myElemTypeCombo->setId( nbTypes++, int( SMESH::BALL )); + break; default:; } } @@ -237,8 +242,8 @@ SMESHGUI_FindElemByPointOp::SMESHGUI_FindElemByPointOp() myHelpFileName = "find_element_by_point_page.html"; QList filters; - filters.append( new SMESH_TypeFilter( MESH ) ); - filters.append( new SMESH_TypeFilter( GROUP ) ); + filters.append( new SMESH_TypeFilter( SMESH::MESH ) ); + filters.append( new SMESH_TypeFilter( SMESH::GROUP ) ); myFilter = new SMESH_LogicalFilter( filters, SMESH_LogicalFilter::LO_OR ); myPreview = new SMESH::MeshPreviewStruct(); @@ -453,9 +458,6 @@ void SMESHGUI_FindElemByPointOp::onSelectionDone() if ( !myMeshIO.IsNull() && myMeshIO->hasEntry() ) oldMeshEntry = myMeshIO->getEntry(); - myDlg->myMeshName->setText(""); - myMeshIO.Nullify(); - try { SALOME_ListIO aList; selectionMgr()->selectedObjects(aList, SVTK_Viewer::Type()); @@ -464,12 +466,16 @@ void SMESHGUI_FindElemByPointOp::onSelectionDone() Handle(SALOME_InteractiveObject) anIO = aList.First(); _PTR(SObject) pObj = studyDS()->FindObjectID(anIO->getEntry()); CORBA::Object_var anObj = SMESH::IObjectToObject( anIO ); - myMeshOrPart = SMESH::SMESH_IDSource::_narrow(anObj); - if ( pObj && !myMeshOrPart->_is_nil() ) + newMeshEntry = anIO->getEntry(); + SMESH::SMESH_IDSource_var aMeshOrPart = SMESH::SMESH_IDSource::_narrow(anObj); + if ( pObj && !aMeshOrPart->_is_nil() && oldMeshEntry != newMeshEntry ) { + myMeshOrPart = aMeshOrPart; + myMeshIO.Nullify(); myMeshIO = anIO; - myDlg->myMeshName->setText( pObj->GetName().c_str() ); - newMeshEntry = anIO->getEntry(); + std::string name = pObj->GetName(); + myDlg->myMeshName->setText(""); + myDlg->myMeshName->setText( QString( name.c_str() ).trimmed() ); SMESH::array_of_ElementType_var types = myMeshOrPart->GetTypes(); myDlg->setTypes( types ); }