X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSMESHGUI%2FSMESHGUI_CopyMeshDlg.cxx;h=9af0d8a4240d1932a2cf3083fa12d5804fdc468f;hb=30271ef4eabe5a0104aff2ce0430a715659118fd;hp=b7794c02d8d3a5b62bee922f6238e6e99cb88db7;hpb=6df8817c1a9827149025cc942249d7083f504d3d;p=modules%2Fsmesh.git diff --git a/src/SMESHGUI/SMESHGUI_CopyMeshDlg.cxx b/src/SMESHGUI/SMESHGUI_CopyMeshDlg.cxx index b7794c02d..9af0d8a42 100644 --- a/src/SMESHGUI/SMESHGUI_CopyMeshDlg.cxx +++ b/src/SMESHGUI/SMESHGUI_CopyMeshDlg.cxx @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2020 CEA/DEN, EDF R&D, OPEN CASCADE // // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS @@ -351,12 +351,12 @@ QString SMESHGUI_CopyMeshDlg::getErrorMsg( SMESH::string_array_var theInvalidEnt QStringList & theEntriesToBrowse ) { if ( theInvalidEntries->length() == 0 ) - return tr("SMESH_OPERATION_FAILED"); + return tr("OPERATION_FAILED"); // theInvalidEntries - SObject's that hold geometry objects whose // counterparts are not found in the newGeometry, followed by SObject's // holding mesh sub-objects that are invalid because they depend on a not found - // preceeding sub-shape + // preceding sub-shape QString msg = tr("SUBSHAPES_NOT_FOUND_MSG") + "\n"; @@ -508,7 +508,6 @@ bool SMESHGUI_CopyMeshDlg::ClickOnApply() anApp->browseObjects( anEntryList, toShowObjects ); Init(false); - mySelectedObject = SMESH::SMESH_IDSource::_nil(); SelectionIntoArgument(); return true; @@ -685,6 +684,16 @@ void SMESHGUI_CopyMeshDlg::SelectionIntoArgument() mySelectedObject = SMESH::IObjectToInterface( IO ); if ( mySelectedObject->_is_nil() ) return; + + if ( isWithGeomMode() ) // only mesh selection allowed + { + myMesh = SMESH::SMESH_Mesh::_narrow( mySelectedObject ); + if ( myMesh->_is_nil() ) + { + myLineEditElements->setText(""); + return; + } + } } else if ( !geom->_is_nil() ) { @@ -716,12 +725,10 @@ void SMESHGUI_CopyMeshDlg::SelectionIntoArgument() else if ( !geom->_is_nil() ) { myGeomNameEdit->setText( aString ); - ok = ok && !myLineEditElements->text().isEmpty(); } - if ( ok && isWithGeomMode() && !myMesh->_is_nil() ) - ok = myMesh->HasShapeToMesh(); - + if ( ok && isWithGeomMode() ) + ok = ( !myMesh->_is_nil() && myMesh->HasShapeToMesh() && !myNewGeometry->_is_nil() ); buttonOk->setEnabled(ok); buttonApply->setEnabled(ok);