X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FSMESHGUI%2FSMESHGUI.cxx;h=a16812234d7f1d945935710d26415e73b295ddfb;hp=c653ff1ac9c1060471347a82556c036c50ce6c9a;hb=b54385ddd41b61114e7d1088048f2f1131c30f1d;hpb=913c682099fe621fe7c506b2b755ff826630a570 diff --git a/src/SMESHGUI/SMESHGUI.cxx b/src/SMESHGUI/SMESHGUI.cxx index c653ff1ac..a16812234 100644 --- a/src/SMESHGUI/SMESHGUI.cxx +++ b/src/SMESHGUI/SMESHGUI.cxx @@ -114,6 +114,7 @@ #include #include #include +#include #include #include #include @@ -2760,7 +2761,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID ) OCC_CATCH_SIGNALS; SMESH::UpdateView(); } - catch (std::bad_alloc) { // PAL16774 (Crash after display of many groups) + catch (std::bad_alloc&) { // PAL16774 (Crash after display of many groups) SMESH::OnVisuException(); } catch (...) { // PAL16774 (Crash after display of many groups) @@ -2864,8 +2865,8 @@ bool SMESHGUI::OnGUIEvent( int theCommandID ) case SMESHOp::OpMeshOrder: case SMESHOp::OpCreateSubMesh: if ( warnOnGeomModif() ) - break; // action forbiden as geometry modified - + break; // action forbidden as geometry modified + // fall through case SMESHOp::OpCreateMesh: case SMESHOp::OpCompute: case SMESHOp::OpComputeSubMesh: @@ -2916,7 +2917,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID ) if ( isStudyLocked() ) break; if ( warnOnGeomModif() ) - break; // action forbiden as geometry modified + break; // action forbidden as geometry modified /*Standard_Boolean aRes; SMESH::SMESH_Mesh_var aMesh = SMESH::IObjectToInterface(IObject); @@ -2948,7 +2949,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID ) if ( isStudyLocked() ) break; if ( warnOnGeomModif() ) - break; // action forbiden as geometry modified + break; // action forbidden as geometry modified EmitSignalDeactivateDialog(); SMESHGUI_MultiEditDlg* aDlg = NULL; @@ -2968,7 +2969,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID ) { if(isStudyLocked()) break; if ( warnOnGeomModif() ) - break; // action forbiden as geometry modified + break; // action forbidden as geometry modified if( vtkwnd ) { EmitSignalDeactivateDialog(); ( new SMESHGUI_SmoothingDlg( this ) )->show(); @@ -2982,7 +2983,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID ) { if (isStudyLocked()) break; if ( warnOnGeomModif() ) - break; // action forbiden as geometry modified + break; // action forbidden as geometry modified if (vtkwnd) { EmitSignalDeactivateDialog(); ( new SMESHGUI_ExtrusionDlg ( this ) )->show(); @@ -2995,7 +2996,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID ) { if (isStudyLocked()) break; if ( warnOnGeomModif() ) - break; // action forbiden as geometry modified + break; // action forbidden as geometry modified if (vtkwnd) { EmitSignalDeactivateDialog(); ( new SMESHGUI_ExtrusionAlongPathDlg( this ) )->show(); @@ -3008,7 +3009,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID ) { if(isStudyLocked()) break; if ( warnOnGeomModif() ) - break; // action forbiden as geometry modified + break; // action forbidden as geometry modified if( vtkwnd ) { EmitSignalDeactivateDialog(); ( new SMESHGUI_RevolutionDlg( this ) )->show(); @@ -3023,7 +3024,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID ) if ( isStudyLocked() ) break; if ( warnOnGeomModif() ) - break; // action forbiden as geometry modified + break; // action forbidden as geometry modified if ( vtkwnd ) { EmitSignalDeactivateDialog(); @@ -3035,14 +3036,6 @@ bool SMESHGUI::OnGUIEvent( int theCommandID ) break; } // Adaptation - begin - case SMESHOp::OpUniformRefinement: - case SMESHOp::OpHONewCase: - case SMESHOp::OpHOCaseFollow: - case SMESHOp::OpHONewIter: - case SMESHOp::OpHOIterCompute: - case SMESHOp::OpHOIterComputePublish: - case SMESHOp::OpHOEdit: - case SMESHOp::OpHODelete: case SMESHOp::OpMGAdapt: { SMESH::SMESH_Mesh_var aMesh = SMESH::SMESH_Mesh::_nil(); @@ -3056,7 +3049,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID ) case SMESHOp::OpCreateGeometryGroup: { if ( warnOnGeomModif() ) - break; // action forbiden as geometry modified + break; // action forbidden as geometry modified startOperation( theCommandID ); break; } @@ -3070,7 +3063,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID ) if(isStudyLocked()) break; if ( warnOnGeomModif() ) - break; // action forbiden as geometry modified + break; // action forbidden as geometry modified EmitSignalDeactivateDialog(); SMESH::SMESH_Mesh_var aMesh = SMESH::SMESH_Mesh::_nil(); @@ -3099,7 +3092,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID ) if(isStudyLocked()) break; if ( warnOnGeomModif() ) - break; // action forbiden as geometry modified + break; // action forbidden as geometry modified EmitSignalDeactivateDialog(); LightApp_SelectionMgr *aSel = SMESHGUI::selectionMgr(); @@ -3178,7 +3171,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID ) if(isStudyLocked()) break; if ( warnOnGeomModif() ) - break; // action forbiden as geometry modified + break; // action forbidden as geometry modified EmitSignalDeactivateDialog(); LightApp_SelectionMgr *aSel = SMESHGUI::selectionMgr(); @@ -3277,7 +3270,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID ) if ( isStudyLocked() ) break; if ( warnOnGeomModif() ) - break; // action forbiden as geometry modified + break; // action forbidden as geometry modified EmitSignalDeactivateDialog(); @@ -3299,7 +3292,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID ) if ( isStudyLocked() ) break; if ( warnOnGeomModif() ) - break; // action forbiden as geometry modified + break; // action forbidden as geometry modified EmitSignalDeactivateDialog(); SMESHGUI_GroupOpDlg* aDlg = new SMESHGUI_DimGroupDlg( this ); @@ -3313,7 +3306,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID ) if ( isStudyLocked() ) break; if ( warnOnGeomModif() ) - break; // action forbiden as geometry modified + break; // action forbidden as geometry modified EmitSignalDeactivateDialog(); SMESHGUI_FaceGroupsSeparatedByEdgesDlg* aDlg = new SMESHGUI_FaceGroupsSeparatedByEdgesDlg( this ); @@ -3374,7 +3367,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID ) { if(isStudyLocked()) break; if ( warnOnGeomModif() ) - break; // action forbiden as geometry modified + break; // action forbidden as geometry modified LightApp_SelectionMgr *aSel = SMESHGUI::selectionMgr(); SALOME_ListIO selected; @@ -3421,7 +3414,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID ) { if(isStudyLocked()) break; if ( warnOnGeomModif() ) - break; // action forbiden as geometry modified + break; // action forbidden as geometry modified SUIT_OverrideCursor wc; LightApp_SelectionMgr *aSel = SMESHGUI::selectionMgr(); @@ -3454,7 +3447,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID ) { if(isStudyLocked()) break; if ( warnOnGeomModif() ) - break; // action forbiden as geometry modified + break; // action forbidden as geometry modified if ( vtkwnd ) { EmitSignalDeactivateDialog(); SMDSAbs_EntityType type = SMDSEntity_Edge; @@ -3482,7 +3475,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID ) { if(isStudyLocked()) break; if ( warnOnGeomModif() ) - break; // action forbiden as geometry modified + break; // action forbidden as geometry modified if ( vtkwnd ) { EmitSignalDeactivateDialog(); ( new SMESHGUI_CreatePolyhedralVolumeDlg( this ) )->show(); @@ -3507,7 +3500,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID ) { if(isStudyLocked()) break; if ( warnOnGeomModif() ) - break; // action forbiden as geometry modified + break; // action forbidden as geometry modified if ( vtkwnd ) { EmitSignalDeactivateDialog(); SMDSAbs_EntityType type = SMDSEntity_Last; @@ -3540,7 +3533,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID ) { if(isStudyLocked()) break; if ( warnOnGeomModif() ) - break; // action forbiden as geometry modified + break; // action forbidden as geometry modified if ( vtkwnd ) { EmitSignalDeactivateDialog(); ( new SMESHGUI_RemoveNodesDlg( this ) )->show(); @@ -3555,7 +3548,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID ) { if(isStudyLocked()) break; if ( warnOnGeomModif() ) - break; // action forbiden as geometry modified + break; // action forbidden as geometry modified if( vtkwnd ) { EmitSignalDeactivateDialog(); ( new SMESHGUI_RemoveElementsDlg( this ) )->show(); @@ -3571,7 +3564,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID ) if(isStudyLocked()) break; if ( warnOnGeomModif() ) - break; // action forbiden as geometry modified + break; // action forbidden as geometry modified SALOME_ListIO selected; if( LightApp_SelectionMgr *aSel = SMESHGUI::selectionMgr() ) @@ -3612,7 +3605,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID ) { if(isStudyLocked()) break; if ( warnOnGeomModif() ) - break; // action forbiden as geometry modified + break; // action forbidden as geometry modified SALOME_ListIO selected; if( LightApp_SelectionMgr *aSel = SMESHGUI::selectionMgr() ) aSel->selectedObjects( selected ); @@ -3653,7 +3646,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID ) { if(isStudyLocked()) break; if ( warnOnGeomModif() ) - break; // action forbiden as geometry modified + break; // action forbidden as geometry modified if( vtkwnd ) { EmitSignalDeactivateDialog(); ( new SMESHGUI_RenumberingDlg( this, 0 ) )->show(); @@ -3669,7 +3662,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID ) { if(isStudyLocked()) break; if ( warnOnGeomModif() ) - break; // action forbiden as geometry modified + break; // action forbidden as geometry modified if ( vtkwnd ) { EmitSignalDeactivateDialog(); ( new SMESHGUI_RenumberingDlg( this, 1 ) )->show(); @@ -3685,7 +3678,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID ) { if(isStudyLocked()) break; if ( warnOnGeomModif() ) - break; // action forbiden as geometry modified + break; // action forbidden as geometry modified if ( vtkwnd ) { EmitSignalDeactivateDialog(); ( new SMESHGUI_TranslationDlg( this ) )->show(); @@ -3700,7 +3693,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID ) { if(isStudyLocked()) break; if ( warnOnGeomModif() ) - break; // action forbiden as geometry modified + break; // action forbidden as geometry modified if( vtkwnd ) { EmitSignalDeactivateDialog(); ( new SMESHGUI_RotationDlg( this ) )->show(); @@ -3715,7 +3708,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID ) { if(isStudyLocked()) break; if ( warnOnGeomModif() ) - break; // action forbiden as geometry modified + break; // action forbidden as geometry modified if(vtkwnd) { EmitSignalDeactivateDialog(); ( new SMESHGUI_SymmetryDlg( this ) )->show(); @@ -3730,7 +3723,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID ) { if(isStudyLocked()) break; if ( warnOnGeomModif() ) - break; // action forbiden as geometry modified + break; // action forbidden as geometry modified if ( vtkwnd ) { EmitSignalDeactivateDialog(); ( new SMESHGUI_ScaleDlg( this ) )->show(); @@ -3746,7 +3739,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID ) { if(isStudyLocked()) break; if ( warnOnGeomModif() ) - break; // action forbiden as geometry modified + break; // action forbidden as geometry modified if ( vtkwnd ) { EmitSignalDeactivateDialog(); ( new SMESHGUI_OffsetDlg( this ) )->show(); @@ -3762,7 +3755,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID ) { if(isStudyLocked()) break; if ( warnOnGeomModif() ) - break; // action forbiden as geometry modified + break; // action forbidden as geometry modified if(vtkwnd) { EmitSignalDeactivateDialog(); ( new SMESHGUI_SewingDlg( this ) )->show(); @@ -3777,7 +3770,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID ) { if(isStudyLocked()) break; if ( warnOnGeomModif() ) - break; // action forbiden as geometry modified + break; // action forbidden as geometry modified if(vtkwnd) { EmitSignalDeactivateDialog(); ( new SMESHGUI_MergeDlg( this, 0 ) )->show(); @@ -3792,7 +3785,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID ) { if (isStudyLocked()) break; if ( warnOnGeomModif() ) - break; // action forbiden as geometry modified + break; // action forbidden as geometry modified if (vtkwnd) { EmitSignalDeactivateDialog(); ( new SMESHGUI_MergeDlg( this, 1 ) )->show(); @@ -3805,7 +3798,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID ) case SMESHOp::OpMoveNode: // MAKE MESH PASS THROUGH POINT if ( warnOnGeomModif() ) - break; // action forbiden as geometry modified + break; // action forbidden as geometry modified startOperation( SMESHOp::OpMoveNode ); break; @@ -3813,7 +3806,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID ) { if(isStudyLocked()) break; if ( warnOnGeomModif() ) - break; // action forbiden as geometry modified + break; // action forbidden as geometry modified if ( vtkwnd ) { EmitSignalDeactivateDialog(); ( new SMESHGUI_DuplicateNodesDlg( this ) )->show(); @@ -3827,7 +3820,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID ) case SMESHOp::OpElem0DOnElemNodes: // 0D_ON_ALL_NODES if ( warnOnGeomModif() ) - break; // action forbiden as geometry modified + break; // action forbidden as geometry modified startOperation( SMESHOp::OpElem0DOnElemNodes ); break; @@ -3977,7 +3970,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID ) * */ //============================================================================= -bool SMESHGUI::OnMousePress( QMouseEvent * pe, SUIT_ViewWindow * wnd ) +bool SMESHGUI::OnMousePress( QMouseEvent * /*pe*/, SUIT_ViewWindow * /*wnd*/ ) { return false; } @@ -3987,7 +3980,7 @@ bool SMESHGUI::OnMousePress( QMouseEvent * pe, SUIT_ViewWindow * wnd ) * */ //============================================================================= -bool SMESHGUI::OnMouseMove( QMouseEvent * pe, SUIT_ViewWindow * wnd ) +bool SMESHGUI::OnMouseMove( QMouseEvent * /*pe*/, SUIT_ViewWindow * /*wnd*/ ) { return true; } @@ -3997,7 +3990,7 @@ bool SMESHGUI::OnMouseMove( QMouseEvent * pe, SUIT_ViewWindow * wnd ) * */ //============================================================================= -bool SMESHGUI::OnKeyPress( QKeyEvent * pe, SUIT_ViewWindow * wnd ) +bool SMESHGUI::OnKeyPress( QKeyEvent * /*pe*/, SUIT_ViewWindow * /*wnd*/ ) { return true; } @@ -4287,14 +4280,6 @@ void SMESHGUI::initialize( CAM_Application* app ) createSMESHAction( SMESHOp::OpDisableAutoColor, "DISABLE_AUTO_COLOR" ); // Adaptation - begin - createSMESHAction( SMESHOp::OpUniformRefinement, "REF_ALL", "ICON_REF_ALL" ); - createSMESHAction( SMESHOp::OpHONewCase, "HOMARD_CREATE_CASE", "ICON_HOMARD_CREATE_CASE" ); - createSMESHAction( SMESHOp::OpHOCaseFollow, "HOMARD_FOLLOW_ITERATION", "ICON_HOMARD_FOLLOW_ITERATION" ); - createSMESHAction( SMESHOp::OpHONewIter, "HOMARD_NEW_ITERATION", "ICON_HOMARD_NEW_ITERATION" ); - createSMESHAction( SMESHOp::OpHOIterCompute, "HOMARD_COMPUTE", "ICON_HOMARD_COMPUTE" ); - createSMESHAction( SMESHOp::OpHOIterComputePublish, "HOMARD_COMPUTE_PUBLISH", "ICON_HOMARD_COMPUTE_PUBLISH" ); - createSMESHAction( SMESHOp::OpHOEdit, "EDIT", "ICON_DLG_EDIT_MESH" ); - createSMESHAction( SMESHOp::OpHODelete, "DELETE", "ICON_DELETE" ); createSMESHAction( SMESHOp::OpMGAdapt, "MG_ADAPT", "ICON_MG_ADAPT" ); // Adaptation - end @@ -4357,7 +4342,6 @@ void SMESHGUI::initialize( CAM_Application* app ) removeId = createMenu( tr( "MEN_REMOVE" ), modifyId, 403 ), //renumId = createMenu( tr( "MEN_RENUM" ), modifyId, 404 ), transfId = createMenu( tr( "MEN_TRANSF" ), modifyId, 405 ), - refHomardId = createMenu( tr( "MEN_REF_HOMARD" ), adaptId, -1, 10 ), basicPropId = createMenu( tr( "MEN_BASIC_PROPERTIES" ), measureId, -1, 10 ); //createMenu( SMESHOp::OpImportDAT, importId, -1 ); @@ -4514,16 +4498,6 @@ void SMESHGUI::initialize( CAM_Application* app ) createMenu( SMESHOp::OpPatternMapping, modifyId, -1 ); // Adaptation - begin - createMenu( SMESHOp::OpUniformRefinement, adaptId, -1 ); - createMenu( SMESHOp::OpHONewCase, refHomardId, -1 ); - createMenu( SMESHOp::OpHOCaseFollow, refHomardId, -1 ); - createMenu( separator(), refHomardId, -1 ); - createMenu( SMESHOp::OpHONewIter, refHomardId, -1 ); - createMenu( SMESHOp::OpHOIterCompute, refHomardId, -1 ); - createMenu( SMESHOp::OpHOIterComputePublish, refHomardId, -1 ); - createMenu( separator(), refHomardId, -1 ); - createMenu( SMESHOp::OpHOEdit, refHomardId, -1 ); - createMenu( SMESHOp::OpHODelete, refHomardId, -1 ); createMenu( SMESHOp::OpMGAdapt, adaptId, -1 ); // Adaptation - end @@ -4672,12 +4646,6 @@ void SMESHGUI::initialize( CAM_Application* app ) // Adaptation - begin int adaptTb = createTool( tr( "TB_ADAPTATION" ),QString( "SMESHAdaptationToolbar" ) ) ; - createTool( SMESHOp::OpUniformRefinement, adaptTb ); - createTool( SMESHOp::OpHONewCase, adaptTb ); - createTool( SMESHOp::OpHOCaseFollow, adaptTb ); - createTool( SMESHOp::OpHONewIter, adaptTb ); - createTool( SMESHOp::OpHOIterCompute, adaptTb ); - createTool( SMESHOp::OpHOIterComputePublish, adaptTb ); createTool( SMESHOp::OpMGAdapt, adaptTb ); // Adaptation - end @@ -4740,7 +4708,7 @@ void SMESHGUI::initialize( CAM_Application* app ) popupMgr()->insert( separator(), -1, 0 ); createPopupItem( SMESHOp::OpCompute, OB, mesh, "&& selcount=1 && hasAlgo && isComputable" ); - createPopupItem( SMESHOp::OpRecompute, OB, mesh, "&& selcount=1 && hasAlgo && " + isNotEmpty ); + createPopupItem( SMESHOp::OpRecompute, OB, mesh, "&& selcount=1 && hasAlgo && (" + isNotEmpty + " || hasErrors )"); createPopupItem( SMESHOp::OpShowErrors, OB, mesh, "&& selcount=1 && hasErrors" ); createPopupItem( SMESHOp::OpComputeSubMesh, OB, subMesh, "&& selcount=1 && hasAlgo && isComputable" ); createPopupItem( SMESHOp::OpPreCompute, OB, mesh, "&& selcount=1 && hasAlgo && isPreComputable" ); @@ -4748,7 +4716,7 @@ void SMESHGUI::initialize( CAM_Application* app ) popupMgr()->insert( separator(), -1, 0 ); createPopupItem( SMESHOp::OpFileInformation, OB, mesh, "&& selcount=1 && isImported" ); createPopupItem( SMESHOp::OpMeshInformation, OB, mesh_part ); - createPopupItem( SMESHOp::OpFindElementByPoint,OB, mesh_group, "&& selcount=1" ); + createPopupItem( SMESHOp::OpFindElementByPoint,OB, mesh_group, "&& selcount=1 && " + hasElems ); createPopupItem( SMESHOp::OpOverallMeshQuality,OB, mesh_part ); popupMgr()->insert( separator(), -1, 0 ); createPopupItem( SMESHOp::OpCreateGroup, OB, mesh, "&& selcount=1" ); @@ -4758,21 +4726,11 @@ void SMESHGUI::initialize( CAM_Application* app ) createPopupItem( SMESHOp::OpEditHypothesis, OB, hypo, "&& isEditableHyp"); createPopupItem( SMESHOp::OpUnassign, OB, hyp_alg ); popupMgr()->insert( separator(), -1, 0 ); - createPopupItem( SMESHOp::OpConvertMeshToQuadratic, OB, mesh_submesh ); + createPopupItem( SMESHOp::OpConvertMeshToQuadratic, OB, mesh_submesh, "&& " + hasElems ); createPopupItem( SMESHOp::OpCreateBoundaryElements, OB, mesh_group, "&& selcount=1 && dim>=2"); - //popupMgr()->insert( separator(), -1, 0 ); - - //popupMgr()->insert( separator(), -1, 0 ); + popupMgr()->insert( separator(), -1, 0 ); // Adaptation - begin - createPopupItem( SMESHOp::OpUniformRefinement, OB, mesh ); - createPopupItem( SMESHOp::OpHONewCase, OB, mesh ); - createPopupItem( SMESHOp::OpHOCaseFollow, OB, mesh ); - createPopupItem( SMESHOp::OpHONewIter, OB, mesh ); - createPopupItem( SMESHOp::OpHOIterCompute, OB, mesh ); - createPopupItem( SMESHOp::OpHOIterComputePublish, OB, mesh ); - createPopupItem( SMESHOp::OpHOEdit, OB, mesh ); - createPopupItem( SMESHOp::OpHODelete, OB, mesh ); createPopupItem( SMESHOp::OpMGAdapt, OB, mesh ); // Adaptation - end @@ -4816,7 +4774,7 @@ void SMESHGUI::initialize( CAM_Application* app ) popupMgr()->insert( separator(), -1, 0 ); createPopupItem( SMESHOp::OpMeshInformation, View, mesh_part ); createPopupItem( SMESHOp::OpOverallMeshQuality, View, mesh_part ); - createPopupItem( SMESHOp::OpFindElementByPoint, View, mesh ); + createPopupItem( SMESHOp::OpFindElementByPoint, View, mesh, "&& " + hasElems); popupMgr()->insert( separator(), -1, 0 ); createPopupItem( SMESHOp::OpUpdate, OB + " " + View, mesh_part ); @@ -5171,6 +5129,12 @@ bool SMESHGUI::reusableOperation( const int id ) return ( id == SMESHOp::OpCompute || id == SMESHOp::OpPreCompute || id == SMESHOp::OpEvaluate || id == SMESHOp::OpRecompute ) ? false : SalomeApp_Module::reusableOperation( id ); } +namespace +{ + QString wrap(const QString& text, const QString& tag) + { return QString("<%1>%2").arg(tag).arg(text).arg(tag);} +} + bool SMESHGUI::activateModule( SUIT_Study* study ) { bool res = SalomeApp_Module::activateModule( study ); @@ -5178,6 +5142,49 @@ bool SMESHGUI::activateModule( SUIT_Study* study ) setMenuShown( true ); setToolShown( true ); + // Fill in Help Panel + SalomeApp_Application* app = dynamic_cast( application() ); + app->infoPanel()->setTitle(tr("INFO_WELCOME_TO_SMESH")); + + int gb = app->infoPanel()->addGroup(tr("INFO_GRP_CREATE_MESH")); + QString lab; + QStringList items; + lab = tr("INFO_DEFINE_ALGOS") + "
"; + lab = lab + tr("INFO_DEFINE_HYPOS") + "
"; + lab = lab + tr("INFO_COMPUTE") + "
"; + lab = lab + tr("INFO_REFINE") + ":"; + items << wrap(tr("INFO_REFINE_LOCAL_SIZE"), "li") + << wrap(tr("INFO_REFINE_SUBMESH"), "li"); + lab = lab + wrap(items.join(""), "ul"); + items.clear(); + + app->infoPanel()->addLabel(lab, gb); + + gb = app->infoPanel()->addGroup(tr("INFO_GRP_IMPORT_MESH")); + items << wrap("UNV", "li") + << wrap("MED", "li") + << wrap("STL", "li") + << wrap("CGNS", "li") + << wrap("SAUV", "li") + << wrap("GMF", "li"); + lab = tr("INFO_AVAILABLE_FORMATS") + ":" + wrap(items.join(""), "ul"); + items.clear(); + + app->infoPanel()->addLabel(lab, gb); + + gb = app->infoPanel()->addGroup(tr("INFO_GRP_CHECK_MESH")); + lab = tr("INFO_DISPLAY") + "
"; + items << wrap(tr("INFO_QUALITY_AREA"), "li") + << wrap(tr("INFO_QUALITY_VOLUME"), "li") + << wrap(tr("INFO_QUALITY_ASPECT_RATION"), "li") + << wrap("...", "li"); + lab = lab + tr("INFO_QUALITY_INFO") + ":" + wrap(items.join(""), "ul"); + items.clear(); + lab = lab + tr("INFO_CLIPPING"); + + app->infoPanel()->addLabel(lab, gb); + // << Help Panel + // import Python module that manages SMESH plugins (need to be here because SalomePyQt API uses active module) PyGILState_STATE gstate = PyGILState_Ensure(); PyObject* pluginsmanager = PyImport_ImportModuleNoBlock((char*)"salome_pluginsmanager"); @@ -5296,6 +5303,7 @@ void SMESHGUI::windows( QMap& aMap ) const { aMap.insert( SalomeApp_Application::WT_ObjectBrowser, Qt::LeftDockWidgetArea ); aMap.insert( SalomeApp_Application::WT_NoteBook, Qt::LeftDockWidgetArea ); + aMap.insert( SalomeApp_Application::WT_InfoPanel, Qt::RightDockWidgetArea); #ifndef DISABLE_PYCONSOLE aMap.insert( SalomeApp_Application::WT_PyConsole, Qt::BottomDockWidgetArea ); #endif @@ -5336,7 +5344,7 @@ void SMESHGUI::addActorAsObserver( SMESH_Actor* theActor ) void SMESHGUI::ProcessEvents( vtkObject* theObject, unsigned long theEvent, void* theClientData, - void* theCallData ) + void* /*theCallData*/ ) { if( SMESHGUI* aSMESHGUI = reinterpret_cast( theClientData ) ) { if( theObject && (int) theEvent == SMESH::DeleteActorEvent ) { @@ -5762,34 +5770,23 @@ void SMESHGUI::createPreferences() // Adaptation tab ------------------------------------------------------------------------ int adaptTab = addPreference( tr( "ADAPT_PREF_TAB_GENERAL" ) ); int bloc, pref ; - // Refinement with HOMARD - bloc = addPreference( tr( "ADAPT_PREF_PUBLICATION" ), adaptTab ); - setPreferenceProperty( bloc, "columns", 1 ); - pref = addPreference( tr( "ADAPT_PREF_PUBLICATION_MAILLAGE_IN" ), bloc, LightApp_Preferences::Bool, "HOMARD", "publish_mesh_in" ); - pref = addPreference( tr( "ADAPT_PREF_PUBLICATION_MAILLAGE_OUT" ), bloc, LightApp_Preferences::Bool, "HOMARD", "publish_mesh_out" ); - - bloc = addPreference( tr( "ADAPT_PREF_YACS_MAX" ), adaptTab ); + // MG-Adapt + bloc = addPreference( tr( "ADAPT_PREF_MG_ADAPT" ), adaptTab ); setPreferenceProperty( bloc, "columns", 1 ); - pref = addPreference( tr( "ADAPT_PREF_YACS_MAX_ITER" ), bloc, LightApp_Preferences::IntSpin, "HOMARD", "yacs_max_iter" ); - setPreferenceProperty( pref, "min", 0 ); - setPreferenceProperty( pref, "max", 100000000 ); - setPreferenceProperty( pref, "step", 1 ); - pref = addPreference( tr( "ADAPT_PREF_YACS_MAX_NODE" ), bloc, LightApp_Preferences::IntSpin, "HOMARD", "yacs_max_node" ); - setPreferenceProperty( pref, "min", 0 ); - setPreferenceProperty( pref, "max", 100000000 ); - setPreferenceProperty( pref, "step", 1000 ); - pref = addPreference( tr( "ADAPT_PREF_YACS_MAX_ELEM" ), bloc, LightApp_Preferences::IntSpin, "HOMARD", "yacs_max_elem" ); - setPreferenceProperty( pref, "min", 0 ); - setPreferenceProperty( pref, "max", 100000000 ); - setPreferenceProperty( pref, "step", 1000 ); - bloc = addPreference( tr( "ADAPT_PREF_YACS_CONVERGENCE" ), adaptTab ); - setPreferenceProperty( bloc, "columns", 1 ); - pref = addPreference( tr( "ADAPT_PREF_YACS_TYPE_TEST" ), bloc, LightApp_Preferences::Selector, "HOMARD", "yacs_type_test" ); - QStringList aListOfTypeTest; - aListOfTypeTest << "None"; - aListOfTypeTest << "VTest > VRef"; - aListOfTypeTest << "VTest < VRef"; - setPreferenceProperty( pref, "strings", aListOfTypeTest ); + pref = addPreference( tr( "ADAPT_PREF_MG_ADAPT_FILE_MAILLAGE_OUT" ), bloc, LightApp_Preferences::Bool, "HOMARD", "mg_adapt_file_mesh_out" ); + pref = addPreference( tr( "ADAPT_PREF_MG_ADAPT_PUBLICATION_MAILLAGE_OUT" ), bloc, LightApp_Preferences::Bool, "HOMARD", "mg_adapt_publish_mesh_out" ); + pref = addPreference( tr( "ADAPT_PREF_MG_ADAPT_SIZE_MAP" ), bloc, LightApp_Preferences::Selector, "HOMARD", "mg_adapt_size_map" ); + QStringList aListOfSizeMap; + aListOfSizeMap << tr( "ADAPT_PREF_MG_ADAPT_SIZE_MAP_LOCAL" ); + aListOfSizeMap << tr( "ADAPT_PREF_MG_ADAPT_SIZE_MAP_BACKGROUND" ); + aListOfSizeMap << tr( "ADAPT_PREF_NONE" );; + setPreferenceProperty( pref, "strings", aListOfSizeMap ); + pref = addPreference( tr( "ADAPT_PREF_MG_ADAPT_TIME_STEP" ), bloc, LightApp_Preferences::Selector, "HOMARD", "mg_adapt_time_step" ); + QStringList aListOfTimeStep; + aListOfTimeStep << tr( "ADAPT_PREF_NONE" ); + aListOfTimeStep << tr( "ADAPT_PREF_MG_ADAPT_TIME_STEP_LAST" ); + aListOfTimeStep << tr( "ADAPT_PREF_MG_ADAPT_TIME_STEP_C" );; + setPreferenceProperty( pref, "strings", aListOfTimeStep ); // Adaptation - end } @@ -5981,6 +5978,9 @@ LightApp_Operation* SMESHGUI::createOperation( const int id ) const case SMESHOp::OpComputeSubMesh: op = new SMESHGUI_ComputeOp(); break; + case SMESHOp::OpShowErrors: + op = new SMESHGUI_ShowErrorsOp(); + break; case SMESHOp::OpPreCompute: op = new SMESHGUI_PrecomputeOp(); break; @@ -6003,14 +6003,6 @@ LightApp_Operation* SMESHGUI::createOperation( const int id ) const op = new SMESHGUI_Add0DElemsOnAllNodesOp(); break; // Adaptation - begin - case SMESHOp::OpUniformRefinement: - case SMESHOp::OpHONewCase: - case SMESHOp::OpHOCaseFollow: - case SMESHOp::OpHONewIter: - case SMESHOp::OpHOIterCompute: - case SMESHOp::OpHOIterComputePublish: - case SMESHOp::OpHOEdit: - case SMESHOp::OpHODelete: case SMESHOp::OpMGAdapt: break; // Adaptation - end