X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSMESHGUI%2FSMESHGUI_CopyMeshDlg.cxx;h=838f344d8415dc6526c1e1f8bba1d033b3465a1a;hb=baf83bed4152b4ac101ebe43f442a4f8a1acd712;hp=b7794c02d8d3a5b62bee922f6238e6e99cb88db7;hpb=6df8817c1a9827149025cc942249d7083f504d3d;p=modules%2Fsmesh.git diff --git a/src/SMESHGUI/SMESHGUI_CopyMeshDlg.cxx b/src/SMESHGUI/SMESHGUI_CopyMeshDlg.cxx index b7794c02d..838f344d8 100644 --- a/src/SMESHGUI/SMESHGUI_CopyMeshDlg.cxx +++ b/src/SMESHGUI/SMESHGUI_CopyMeshDlg.cxx @@ -351,7 +351,7 @@ 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 @@ -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);