X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSMESHGUI%2FSMESHGUI_MeshOp.cxx;h=cdb3bc91921a0b281f767a7c241ceffbf53a4ce9;hb=9d134b21b1ed187851322a6b5feef3bee83b6583;hp=bed7c25fda6dc159638fb18e57d4e00ba54d7c87;hpb=2742029b9094540c12b9e30bbdb958087e0cb850;p=modules%2Fsmesh.git diff --git a/src/SMESHGUI/SMESHGUI_MeshOp.cxx b/src/SMESHGUI/SMESHGUI_MeshOp.cxx index bed7c25fd..cdb3bc919 100644 --- a/src/SMESHGUI/SMESHGUI_MeshOp.cxx +++ b/src/SMESHGUI/SMESHGUI_MeshOp.cxx @@ -26,15 +26,15 @@ #include "SMESHGUI_MeshOp.h" #include "SMESHGUI.h" +#include "SMESHGUI_GEOMGenUtils.h" +#include "SMESHGUI_Hypotheses.h" +#include "SMESHGUI_HypothesesUtils.h" #include "SMESHGUI_MeshDlg.h" +#include "SMESHGUI_Operations.h" #include "SMESHGUI_ShapeByMeshDlg.h" -#include "SMESHGUI_HypothesesUtils.h" -#include "SMESHGUI_Hypotheses.h" #include "SMESHGUI_Utils.h" -#include "SMESHGUI_GEOMGenUtils.h" - -#include -#include +#include "SMESH_NumberFilter.hxx" +#include "SMESH_TypeFilter.hxx" // SALOME GEOM includes #include @@ -247,8 +247,9 @@ void SMESHGUI_MeshOp::startOperation() myDlg->activateObject( myIsMesh ? SMESHGUI_MeshDlg::Geom : SMESHGUI_MeshDlg::Mesh ); } else + { myDlg->activateObject( SMESHGUI_MeshDlg::Obj ); - + } myDlg->setCurrentTab( SMESH::DIM_3D ); QStringList TypeMeshList; @@ -387,8 +388,11 @@ bool SMESHGUI_MeshOp::isSubshapeOk() const compSub, compSub->GetShapeType() ); geomGen->RemoveObject( compSub ); - if ( shared->length() > 0 ) + compSub->UnRegister(); + if ( shared->length() > 0 ) { geomGen->RemoveObject( shared[0] ); + shared[0]->UnRegister(); + } return ( shared->length() > 0 ); } } @@ -401,8 +405,8 @@ bool SMESHGUI_MeshOp::isSubshapeOk() const //================================================================================ /*! - * \brief Return name of the algorithm that does not support submeshes and makes - * submesh creation useless + * \brief Return name of the algorithm that does not support sub-meshes and makes + * sub-mesh creation useless * \retval char* - string is to be deleted!!! */ //================================================================================ @@ -2404,7 +2408,7 @@ bool SMESHGUI_MeshOp::checkSubMeshConcurrency(SMESH::SMESH_Mesh_ptr mesh, myDlg->setEnabled( false ); // disactivate selection selectionMgr()->clearFilters(); selectObject( meshSO ); - SMESHGUI::GetSMESHGUI()->OnGUIEvent( 713 ); // MESH_ORDER + SMESHGUI::GetSMESHGUI()->OnGUIEvent( SMESHOp::OpMeshOrder ); // MESH_ORDER qApp->processEvents(); myDlg->setEnabled( true ); @@ -2611,11 +2615,11 @@ void SMESHGUI_MeshOp::setFilteredAlgoData( const int theTabIndex, const int theI bool toCheckIsApplicableToAll = !myIsMesh; GEOM::GEOM_Object_var aGeomVar; - QString anEntry = myDlg->selectedObject( SMESHGUI_MeshDlg::Geom ); + QString anEntry = + myDlg->selectedObject( myToCreate ? SMESHGUI_MeshDlg::Geom : SMESHGUI_MeshDlg::Obj ); if ( _PTR(SObject) so = studyDS()->FindObjectID( anEntry.toLatin1().data() )) { - CORBA::Object_var obj = _CAST( SObject,so )->GetObject(); - aGeomVar = GEOM::GEOM_Object::_narrow( obj ); + aGeomVar = SMESH::GetGeom( so ); if ( !aGeomVar->_is_nil() && toCheckIsApplicableToAll ) toCheckIsApplicableToAll = ( aGeomVar->GetType() == GEOM_GROUP ); }