X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSMESHGUI%2FSMESHGUI.cxx;h=4b63550e06c14f6ee606e05b0487da2a5f23f0fd;hb=65482a36f681e66ec4f04213b83453adbc36a281;hp=21faa6d72de5aa43773c36975af51dcd45defdb3;hpb=c38c10811a065cf5b13e8807ed71864d92ca7d80;p=modules%2Fsmesh.git diff --git a/src/SMESHGUI/SMESHGUI.cxx b/src/SMESHGUI/SMESHGUI.cxx index 21faa6d72..4b63550e0 100644 --- a/src/SMESHGUI/SMESHGUI.cxx +++ b/src/SMESHGUI/SMESHGUI.cxx @@ -307,19 +307,6 @@ namespace{ aFilename = fd->selectedFile(); aFormat = aFilterMap[fd->selectedFilter()]; delete fd; - if( !aFilename.isEmpty() - && (aMesh->NbPolygons()>0 or aMesh->NbPolyhedrons()>0) - && aFormat==SMESH::MED_V2_1){ - int aRet = SUIT_MessageBox::warn2(SMESHGUI::desktop(), - QObject::tr("SMESH_WRN_WARNING"), - QObject::tr("SMESH_EXPORT_MED_V2_1").arg(anIObject->getName()), - QObject::tr("SMESH_BUT_YES"), - QObject::tr("SMESH_BUT_NO"), - 0,1,0); - if(aRet){ - return; - } - } } if ( !aFilename.isEmpty() ) { // Check whether the file already exists and delete it if yes @@ -408,7 +395,7 @@ namespace{ } case 1133:{ SMESHGUI::GetSMESHGUI()->EmitSignalDeactivateDialog(); - new SMESHGUI_TransparencyDlg( SMESHGUI::desktop(), "", false ); + new SMESHGUI_TransparencyDlg( SMESHGUI::GetSMESHGUI(), "", false ); return; }} SALOME_ListIteratorOfListIO It( selected ); @@ -468,7 +455,7 @@ namespace{ float Shrink = anActor->GetShrinkFactor(); SMESHGUI_Preferences_ColorDlg *aDlg = - new SMESHGUI_Preferences_ColorDlg(SMESHGUI::desktop(),""); + new SMESHGUI_Preferences_ColorDlg( SMESHGUI::GetSMESHGUI(), "" ); aDlg->SetColor(1, c); aDlg->SetColor(2, e); aDlg->SetColor(3, n); @@ -524,7 +511,7 @@ namespace{ SMESHGUI::GetSMESHGUI()->EmitSignalDeactivateDialog(); SMESHGUI_Preferences_ColorDlg *aDlg = - new SMESHGUI_Preferences_ColorDlg(SMESHGUI::desktop(), ""); + new SMESHGUI_Preferences_ColorDlg( SMESHGUI::GetSMESHGUI(), "" ); QColor color = mgr->colorValue( "SMESH", "SettingsFillColor", QColor(0, 170, 255) ); aDlg->SetColor(1, color); @@ -806,8 +793,7 @@ namespace{ aStudyBuilder->CommitCommand(); /* Clear any previous selection */ - SALOME_ListIO selected1; - aSel->setSelectedObjects( selected1 ); + aSel->setSelectedObjects( SALOME_ListIO() ); SMESHGUI::GetSMESHGUI()->updateObjBrowser(); } @@ -1162,12 +1148,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID ) } case 201: { - SalomeApp_SelectionMgr *aSel = SMESHGUI::selectionMgr(); - SALOME_ListIO selected; - if( aSel ) - aSel->selectedObjects( selected ); - - SMESHGUI_Preferences_ScalarBarDlg::ScalarBarProperties( desktop(), aSel ); + SMESHGUI_Preferences_ScalarBarDlg::ScalarBarProperties( this ); break; } @@ -1223,8 +1204,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID ) } } } - SALOME_ListIO selected1; - aSel->setSelectedObjects( selected1 ); + aSel->setSelectedObjects( SALOME_ListIO() ); break; } @@ -1235,7 +1215,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID ) if ( vtkwnd ) { EmitSignalDeactivateDialog(); - new SMESHGUI_NodesDlg( desktop(), "", SMESHGUI::selectionMgr() ); + new SMESHGUI_NodesDlg(this); } else { SUIT_MessageBox::warn1(desktop(), @@ -1687,7 +1667,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID ) else if ( theCommandID == 811 ) aMode = SMESHGUI_GroupOpDlg::INTERSECT; else aMode = SMESHGUI_GroupOpDlg::CUT; - ( new SMESHGUI_GroupOpDlg( desktop(), SMESHGUI::selectionMgr(), aMode ) )->show(); + ( new SMESHGUI_GroupOpDlg( this, aMode ) )->show(); break; } @@ -1698,7 +1678,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID ) EmitSignalDeactivateDialog(); - new SMESHGUI_DeleteGroupDlg( desktop(), SMESHGUI::selectionMgr() ); + new SMESHGUI_DeleteGroupDlg( this ); break; } @@ -1741,13 +1721,13 @@ bool SMESHGUI::OnGUIEvent( int theCommandID ) IOs.Clear(); IOs.Append( It.Value() ); aSel->setSelectedObjects( IOs ); - new SMESHGUI_StandardMeshInfosDlg(desktop(), "", false); + new SMESHGUI_StandardMeshInfosDlg( this, "", false); } // restore selection aSel->setSelectedObjects( selected ); } else - new SMESHGUI_StandardMeshInfosDlg(desktop(), "", false); + new SMESHGUI_StandardMeshInfosDlg( this, "", false); break; } @@ -1772,13 +1752,13 @@ bool SMESHGUI::OnGUIEvent( int theCommandID ) case 1005: { - SMESHGUI_Preferences_ScalarBarDlg::ScalarBarPreferences( desktop() ); + SMESHGUI_Preferences_ScalarBarDlg::ScalarBarPreferences( this ); break; } case 10070: { - ( new SMESHGUI_PrecisionDlg( desktop() ) )->exec(); + ( new SMESHGUI_PrecisionDlg( this ) )->exec(); break; } @@ -1795,7 +1775,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID ) case 1006: { SMESHGUI_Preferences_SelectionDlg* aDlg = - new SMESHGUI_Preferences_SelectionDlg(desktop()); + new SMESHGUI_Preferences_SelectionDlg( this ); QColor aColor = mgr->colorValue( "SMESH", "SettingsPreSelectColor", Qt::cyan ); aDlg->SetColor(1, aColor); @@ -1957,8 +1937,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID ) Handle(SALOME_InteractiveObject) IObject = It.Value(); SMESH::RemoveHypothesisOrAlgorithmOnMesh(IObject); } - SALOME_ListIO selected1; - aSel->setSelectedObjects( selected1 ); + aSel->setSelectedObjects( SALOME_ListIO() ); updateObjBrowser(); break; } @@ -2047,7 +2026,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID ) if(checkLock(aStudy)) break; if( vtkwnd ) { EmitSignalDeactivateDialog(); - new SMESHGUI_RenumberingDlg(desktop(), "", selectionMgr(), 0); + new SMESHGUI_RenumberingDlg( this, "", 0); } else { @@ -2062,7 +2041,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID ) if(checkLock(aStudy)) break; if ( vtkwnd ) { EmitSignalDeactivateDialog(); - new SMESHGUI_RenumberingDlg(desktop(), "", selectionMgr(), 1); + new SMESHGUI_RenumberingDlg( this, "", 1); } else { @@ -2169,7 +2148,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID ) aTypes.append( SMESH::FACE ); aTypes.append( SMESH::VOLUME ); } - new SMESHGUI_FilterLibraryDlg( desktop(), aTypes, SMESHGUI_FilterLibraryDlg::EDIT ); + new SMESHGUI_FilterLibraryDlg( this, SMESH::GetDesktop( this ), aTypes, SMESHGUI_FilterLibraryDlg::EDIT ); } break; @@ -2443,9 +2422,9 @@ void SMESHGUI::createPopupItem( const int id, if( !popupMgr()->contains( popupMgr()->actionId( action( id ) ) ) ) popupMgr()->insert( action( id ), parentId, 0 ); - QChar lc = popupMgr()->equality(); + QChar lc = QtxPopupMgr::Selection::defEquality(); QString rule = "(%1) and (%2) and (%3)"; - rule = rule.arg( QString( "%1>0" ).arg( popupMgr()->selCountParam() ) ); + rule = rule.arg( QString( "%1>0" ).arg( QtxPopupMgr::Selection::defSelCountParam() ) ); rule = rule.arg( QString( "%1client in {%2}" ).arg( lc ).arg( clients ) ); rule = rule.arg( QString( "%1type in {%2}" ).arg( lc ).arg( types ) ); rule += theRule; @@ -2499,19 +2478,19 @@ void SMESHGUI::initialize( CAM_Application* app ) createSMESHAction( 813, "DEL_GROUP", "ICON_DEL_GROUP" ); createSMESHAction( 900, "ADV_INFO", "ICON_ADV_INFO" ); createSMESHAction( 902, "STD_INFO", "ICON_STD_INFO" ); - createSMESHAction( 6001, "LENGTH", "ICON_LENGTH" ); - createSMESHAction( 6002, "FREE_EDGE", "ICON_FREE_EDGE" ); - createSMESHAction( 6003, "FREE_BORDER", "ICON_FREE_EDGE_2D" ); - createSMESHAction( 6004, "CONNECTION", "ICON_CONNECTION" ); - createSMESHAction( 6011, "AREA", "ICON_AREA" ); - createSMESHAction( 6012, "TAPER", "ICON_TAPER" ); - createSMESHAction( 6013, "ASPECT", "ICON_ASPECT" ); - createSMESHAction( 6014, "MIN_ANG", "ICON_ANGLE" ); - createSMESHAction( 6015, "WRAP", "ICON_WRAP" ); - createSMESHAction( 6016, "SKEW", "ICON_SKEW" ); - createSMESHAction( 6017, "ASPECT_3D", "ICON_ASPECT_3D" ); - createSMESHAction( 6018, "LENGTH_2D", "ICON_LENGTH_2D" ); - createSMESHAction( 6019, "CONNECTION_2D", "ICON_CONNECTION_2D" ); + createSMESHAction( 6001, "LENGTH", "ICON_LENGTH" , 0, true ); + createSMESHAction( 6002, "FREE_EDGE", "ICON_FREE_EDGE" , 0, true ); + createSMESHAction( 6003, "FREE_BORDER", "ICON_FREE_EDGE_2D" , 0, true ); + createSMESHAction( 6004, "CONNECTION", "ICON_CONNECTION" , 0, true ); + createSMESHAction( 6011, "AREA", "ICON_AREA" , 0, true ); + createSMESHAction( 6012, "TAPER", "ICON_TAPER" , 0, true ); + createSMESHAction( 6013, "ASPECT", "ICON_ASPECT" , 0, true ); + createSMESHAction( 6014, "MIN_ANG", "ICON_ANGLE" , 0, true ); + createSMESHAction( 6015, "WRAP", "ICON_WRAP" , 0, true ); + createSMESHAction( 6016, "SKEW", "ICON_SKEW", 0, true ); + createSMESHAction( 6017, "ASPECT_3D", "ICON_ASPECT_3D", 0, true ); + createSMESHAction( 6018, "LENGTH_2D", "ICON_LENGTH_2D", 0, true ); + createSMESHAction( 6019, "CONNECTION_2D", "ICON_CONNECTION_2D", 0, true ); createSMESHAction( 400, "NODE", "ICON_DLG_NODE" ); createSMESHAction( 401, "EDGE", "ICON_DLG_EDGE" ); createSMESHAction( 4021, "TRIANGLE", "ICON_DLG_TRIANGLE" ); @@ -2550,18 +2529,19 @@ void SMESHGUI::initialize( CAM_Application* app ) createSMESHAction( 10071, "DISP_ENT", "", 0, true ); createSMESHAction( 200, "RESET" ); createSMESHAction( 201, "SCALAR_BAR_PROP" ); - createSMESHAction( 211, "WIRE", "ICON_WIRE" ); - createSMESHAction( 212, "SHADE", "ICON_SHADE" ); - createSMESHAction( 213, "SHRINK", "ICON_SHRINK" ); + createSMESHAction( 211, "WIRE", "ICON_WIRE", 0, true ); + createSMESHAction( 212, "SHADE", "ICON_SHADE", 0, true ); + createSMESHAction( 213, "SHRINK", "ICON_SHRINK", 0, true ); createSMESHAction( 214, "UPDATE", "ICON_UPDATE" ); - createSMESHAction( 215, "NODES", "ICON_POINTS" ); - createSMESHAction( 217, "EDGES", "ICON_DLG_EDGE" ); - createSMESHAction( 218, "FACES", "ICON_DLG_TRIANGLE" ); - createSMESHAction( 219, "VOLUMES", "ICON_DLG_TETRAS" ); + createSMESHAction( 215, "NODES", "ICON_POINTS", 0, true ); + createSMESHAction( 217, "EDGES", "ICON_DLG_EDGE", 0, true ); + createSMESHAction( 218, "FACES", "ICON_DLG_TRIANGLE", 0, true ); + createSMESHAction( 219, "VOLUMES", "ICON_DLG_TETRAS", 0, true ); createSMESHAction( 220, "ALL" ); + createSMESHAction( 1100, "EDIT_HYPO" ); createSMESHAction( 1101, "RENAME" ); - createSMESHAction( 9010, "NUM_NODES" ); - createSMESHAction( 9011, "NUM_ELEMENTS" ); + createSMESHAction( 9010, "NUM_NODES", "", 0, true ); + createSMESHAction( 9011, "NUM_ELEMENTS", "", 0, true ); createSMESHAction( 1131, "DISPMODE" ); createSMESHAction( 1132, "COLORS" ); createSMESHAction( 1133, "TRANSP" ); @@ -2847,9 +2827,9 @@ void SMESHGUI::initialize( CAM_Application* app ) hasFaces("{'Face'} in elemTypes"), hasVolumes("{'Volume'} in elemTypes"); - QString aSelCount = popupMgr()->selCountParam() + "= 1"; - QString aClient = QString( popupMgr()->equality() )+ "client in {" + View + "}"; - QString aType = QString( popupMgr()->equality() ) + "type in {" + mesh_group + "}"; + QString aSelCount = QString( "%1 = 1" ).arg( QtxPopupMgr::Selection::defSelCountParam() ); + QString aClient = QString( "%1client in {%2}" ).arg( QtxPopupMgr::Selection::defEquality() ).arg( View ); + QString aType = QString( "%1type in {%2}" ).arg( QtxPopupMgr::Selection::defEquality() ).arg( mesh_group ); QString aMeshInVTK = aClient + "&&" + aType + "&&" + aSelCount; //------------------------------------------------- @@ -2951,59 +2931,59 @@ void SMESHGUI::initialize( CAM_Application* app ) popupMgr()->insert( action( 6003 ), anId, -1 ); // FREE_BORDER popupMgr()->setRule( action( 6003 ), aMeshInVtkHasEdges, true ); - popupMgr()->setRule( action( 6003 ), "&& controlMode = 'eFreeEdges'", true ); + popupMgr()->setRule( action( 6003 ), "controlMode = 'eFreeEdges'", false ); popupMgr()->insert( action( 6001 ), anId, -1 ); // LENGTH popupMgr()->setRule( action( 6001 ), aMeshInVtkHasEdges, true ); - popupMgr()->setRule( action( 6001 ), "&& controlMode = 'eLength'", true ); + popupMgr()->setRule( action( 6001 ), "controlMode = 'eLength'", false ); popupMgr()->insert( action( 6004 ), anId, -1 ); // CONNECTION popupMgr()->setRule( action( 6004 ), aMeshInVtkHasEdges, true ); - popupMgr()->setRule( action( 6004 ), "&& controlMode = 'eMultiConnection'", true ); + popupMgr()->setRule( action( 6004 ), "controlMode = 'eMultiConnection'", false ); popupMgr()->insert( separator(), anId, -1 ); popupMgr()->insert( action( 6002 ), anId, -1 ); // FREE_EDGE popupMgr()->setRule( action( 6002 ), aMeshInVtkHasFaces, true ); - popupMgr()->setRule( action( 6002 ), "&& controlMode = 'eFreeBorders'", true ); + popupMgr()->setRule( action( 6002 ), "controlMode = 'eFreeBorders'", false ); popupMgr()->insert( action( 6018 ), anId, -1 ); // LENGTH_2D popupMgr()->setRule( action( 6018 ), aMeshInVtkHasFaces, true ); - popupMgr()->setRule( action( 6018 ), "&& controlMode = 'eLength2D'", true ); + popupMgr()->setRule( action( 6018 ), "controlMode = 'eLength2D'", false ); popupMgr()->insert( action( 6019 ), anId, -1 ); // CONNECTION_2D popupMgr()->setRule( action( 6019 ), aMeshInVtkHasFaces, true ); - popupMgr()->setRule( action( 6019 ), "&& controlMode = 'eMultiConnection2D'", true ); + popupMgr()->setRule( action( 6019 ), "controlMode = 'eMultiConnection2D'", false ); popupMgr()->insert( action( 6011 ), anId, -1 ); // AREA popupMgr()->setRule( action( 6011 ), aMeshInVtkHasFaces, true ); - popupMgr()->setRule( action( 6011 ), "&& controlMode = 'eArea'", true ); + popupMgr()->setRule( action( 6011 ), "controlMode = 'eArea'", false ); popupMgr()->insert( action( 6012 ), anId, -1 ); // TAPER popupMgr()->setRule( action( 6012 ), aMeshInVtkHasFaces, true ); - popupMgr()->setRule( action( 6012 ), "&& controlMode = 'eTaper'", true ); + popupMgr()->setRule( action( 6012 ), "controlMode = 'eTaper'", false ); popupMgr()->insert( action( 6013 ), anId, -1 ); // ASPECT popupMgr()->setRule( action( 6013 ), aMeshInVtkHasFaces, true ); - popupMgr()->setRule( action( 6013 ), "&& controlMode = 'eAspectRatio'", true ); + popupMgr()->setRule( action( 6013 ), "controlMode = 'eAspectRatio'", false ); popupMgr()->insert( action( 6014 ), anId, -1 ); // MIN_ANG popupMgr()->setRule( action( 6014 ), aMeshInVtkHasFaces, true ); - popupMgr()->setRule( action( 6014 ), "&& controlMode = 'eMinimumAngle'", true ); + popupMgr()->setRule( action( 6014 ), "controlMode = 'eMinimumAngle'", false ); popupMgr()->insert( action( 6015 ), anId, -1 ); // WRAP popupMgr()->setRule( action( 6015 ), aMeshInVtkHasFaces, true ); - popupMgr()->setRule( action( 6015 ), "&& controlMode = 'eWarping'", true ); + popupMgr()->setRule( action( 6015 ), "controlMode = 'eWarping'", false ); popupMgr()->insert( action( 6016 ), anId, -1 ); // SKEW popupMgr()->setRule( action( 6016 ), aMeshInVtkHasFaces, true ); - popupMgr()->setRule( action( 6016 ), "&& controlMode = 'eSkew'", true ); + popupMgr()->setRule( action( 6016 ), "controlMode = 'eSkew'", false ); popupMgr()->insert( separator(), anId, -1 ); popupMgr()->insert( action( 6017 ), anId, -1 ); // ASPECT_3D popupMgr()->setRule( action( 6017 ), aMeshInVtkHasVolumes, true ); - popupMgr()->setRule( action( 6017 ), "&& controlMode = 'eAspectRatio3D'", true ); + popupMgr()->setRule( action( 6017 ), "controlMode = 'eAspectRatio3D'", false ); popupMgr()->insert( separator(), anId, -1 ); @@ -3029,24 +3009,25 @@ void SMESHGUI::initialize( CAM_Application* app ) popupMgr()->insert( separator(), -1, -1 ); } -void SMESHGUI::activateModule( SUIT_Study* study ) +bool SMESHGUI::activateModule( SUIT_Study* study ) { - SalomeApp_Module::activateModule( study ); + bool res = SalomeApp_Module::activateModule( study ); setMenuShown( true ); setToolShown( true ); + return res; //SetSettings( desktop() ); } -void SMESHGUI::deactivateModule( SUIT_Study* study ) +bool SMESHGUI::deactivateModule( SUIT_Study* study ) { setMenuShown( false ); setToolShown( false ); EmitSignalCloseAllDialogs(); - SalomeApp_Module::deactivateModule( study ); + return SalomeApp_Module::deactivateModule( study ); } void SMESHGUI::OnGUIEvent() @@ -3073,7 +3054,8 @@ QString SMESHGUI::engineIOR() const void SMESHGUI::contextMenuPopup( const QString& client, QPopupMenu* menu, QString& /*title*/ ) { - SMESHGUI_Selection sel( client, selectionMgr() ); + SMESHGUI_Selection sel; + sel.init( client, selectionMgr() ); popupMgr()->updatePopup( menu, &sel ); }