X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FSMESHGUI%2FSMESHGUI.cxx;h=4de86fc5de86e697971eb893e0c3f3bbd097e5d5;hp=c7419274cd06084848ef6f9869edce716104d4b0;hb=b5f5fdd866f60c3e0d5d05ea0e05a5a61b7abef8;hpb=475cc166d55b49decb4ffb9b1fc8cd5b8097059e diff --git a/src/SMESHGUI/SMESHGUI.cxx b/src/SMESHGUI/SMESHGUI.cxx index c7419274c..4de86fc5d 100644 --- a/src/SMESHGUI/SMESHGUI.cxx +++ b/src/SMESHGUI/SMESHGUI.cxx @@ -2584,8 +2584,8 @@ bool SMESHGUI::OnGUIEvent( int theCommandID ) { SMESH::EDisplaing anAction; switch (theCommandID) { - case SMESHOp::OpHide: anAction = SMESH::eErase; break; - case SMESHOp::OpShow: anAction = SMESH::eDisplay; break; + case SMESHOp::OpHide: anAction = SMESH::eErase; break; + case SMESHOp::OpShow: anAction = SMESH::eDisplay; break; case SMESHOp::OpShowOnly: anAction = SMESH::eDisplayOnly; break; } @@ -2594,7 +2594,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID ) if (aSel) aSel->selectedObjects( sel_objects ); - if( theCommandID==SMESHOp::OpShowOnly ) + if ( theCommandID==SMESHOp::OpShowOnly ) { MESSAGE("anAction = SMESH::eDisplayOnly"); startOperation( myEraseAll ); @@ -2608,20 +2608,17 @@ bool SMESHGUI::OnGUIEvent( int theCommandID ) #endif if (vtkwnd) { SALOME_ListIteratorOfListIO It( to_process ); - for ( ; It.More(); It.Next()) { - MESSAGE("---"); + for ( ; It.More(); It.Next()) + { Handle(SALOME_InteractiveObject) IOS = It.Value(); - if (IOS->hasEntry()) { - MESSAGE("---"); - if (!SMESH::UpdateView(anAction, IOS->getEntry())) { + if ( IOS->hasEntry() ) + { + if ( !SMESH::UpdateView( anAction, IOS->getEntry() )) { SMESHGUI::GetSMESHGUI()->EmitSignalVisibilityChanged(); break; // PAL16774 (Crash after display of many groups) } if (anAction == SMESH::eDisplayOnly) - { - MESSAGE("anAction = SMESH::eDisplayOnly"); anAction = SMESH::eDisplay; - } } } } @@ -4057,11 +4054,11 @@ void SMESHGUI::initialize( CAM_Application* app ) createMenu( SMESHOp::OpFreeNode, nodeId, -1 ); createMenu( SMESHOp::OpEqualNode, nodeId, -1 ); - createMenu( SMESHOp::OpFreeEdge, edgeId, -1 ); createMenu( SMESHOp::OpFreeBorder, edgeId, -1 ); createMenu( SMESHOp::OpLength, edgeId, -1 ); createMenu( SMESHOp::OpConnection, edgeId, -1 ); createMenu( SMESHOp::OpEqualEdge, edgeId, -1 ); + createMenu( SMESHOp::OpFreeEdge, faceId, -1 ); createMenu( SMESHOp::OpFreeFace, faceId, -1 ); createMenu( SMESHOp::OpBareBorderFace, faceId, -1 ); createMenu( SMESHOp::OpOverConstrainedFace, faceId, -1 ); @@ -4203,12 +4200,12 @@ void SMESHGUI::initialize( CAM_Application* app ) createTool( SMESHOp::OpFreeNode, ctrl0dTb ); createTool( SMESHOp::OpEqualNode, ctrl0dTb ); - createTool( SMESHOp::OpFreeEdge, ctrl1dTb ); createTool( SMESHOp::OpFreeBorder, ctrl1dTb ); createTool( SMESHOp::OpLength, ctrl1dTb ); createTool( SMESHOp::OpConnection, ctrl1dTb ); createTool( SMESHOp::OpEqualEdge, ctrl1dTb ); + createTool( SMESHOp::OpFreeEdge, ctrl2dTb ); createTool( SMESHOp::OpFreeFace, ctrl2dTb ); createTool( SMESHOp::OpBareBorderFace, ctrl2dTb ); createTool( SMESHOp::OpOverConstrainedFace, ctrl2dTb ); @@ -4336,35 +4333,35 @@ void SMESHGUI::initialize( CAM_Application* app ) hasFacesOrVolumes("(({'Face'} in elemTypes) || ({'Volume'} in elemTypes)) "); createPopupItem( SMESHOp::OpFileInformation, OB, mesh, "&& selcount=1 && isImported" ); - createPopupItem( SMESHOp::OpCreateSubMesh, OB, mesh, "&& isComputable"); - createPopupItem( SMESHOp::OpEditMeshOrSubMesh, OB, mesh, "&& isComputable"); - createPopupItem( SMESHOp::OpEditMeshOrSubMesh, OB, subMesh, "&& isComputable" ); + createPopupItem( SMESHOp::OpCreateSubMesh, OB, mesh, "&& hasGeomReference"); + createPopupItem( SMESHOp::OpEditMeshOrSubMesh, OB, mesh ); + createPopupItem( SMESHOp::OpEditMeshOrSubMesh, OB, subMesh, "&& hasGeomReference" ); createPopupItem( SMESHOp::OpEditGroup, OB, group ); createPopupItem( SMESHOp::OpEditGeomGroupAsGroup, OB, group, "&& groupType != 'Group'" ); popupMgr()->insert( separator(), -1, 0 ); createPopupItem( SMESHOp::OpCompute, OB, mesh, "&& isComputable" ); - createPopupItem( SMESHOp::OpPreCompute, OB, mesh, "&& isComputable && isPreComputable" ); + createPopupItem( SMESHOp::OpPreCompute, OB, mesh, "&& isPreComputable" ); createPopupItem( SMESHOp::OpEvaluate, OB, mesh, "&& isComputable" ); - createPopupItem( SMESHOp::OpMeshOrder, OB, mesh, "&& isComputable" ); + createPopupItem( SMESHOp::OpMeshOrder, OB, mesh, "&& isComputable && hasGeomReference" ); createPopupItem( SMESHOp::OpUpdate, OB, mesh_part ); createPopupItem( SMESHOp::OpMeshInformation, OB, mesh_part ); createPopupItem( SMESHOp::OpFindElementByPoint, OB, mesh_group ); createPopupItem( SMESHOp::OpOverallMeshQuality, OB, mesh_part ); popupMgr()->insert( separator(), -1, 0 ); createPopupItem( SMESHOp::OpCreateGroup, OB, mesh ); - createPopupItem( SMESHOp::OpCreateGeometryGroup, OB, mesh ); + createPopupItem( SMESHOp::OpCreateGeometryGroup, OB, mesh, "&& hasGeomReference" ); createPopupItem( SMESHOp::OpConstructGroup, OB, subMesh ); popupMgr()->insert( separator(), -1, 0 ); createPopupItem( SMESHOp::OpEditHypothesis, OB, hypo); createPopupItem( SMESHOp::OpUnassign, OB, hyp_alg ); // REMOVE HYPOTHESIS / ALGORITHMS popupMgr()->insert( separator(), -1, 0 ); - createPopupItem( SMESHOp::OpClearMesh, OB, mesh ); - popupMgr()->insert( separator(), -1, 0 ); createPopupItem( SMESHOp::OpConvertMeshToQuadratic, OB, mesh + " " + subMesh ); // convert to quadratic createPopupItem( SMESHOp::OpCreateBoundaryElements, OB, mesh + " " + group, // create 2D mesh from 3D "&& dim>=2"); popupMgr()->insert( separator(), -1, 0 ); + createPopupItem( SMESHOp::OpClearMesh, OB, mesh ); + popupMgr()->insert( separator(), -1, 0 ); QString only_one_non_empty = QString( " && %1=1 && numberOfNodes>0" ).arg( dc ); QString multiple_non_empty = QString( " && %1>0 && numberOfNodes>0" ).arg( dc );