Salome HOME
Issue 0020860: EDF 1404 SMESH: Save operation unavailable after a group creation...
authorouv <ouv@opencascade.com>
Tue, 11 May 2010 08:59:28 +0000 (08:59 +0000)
committerouv <ouv@opencascade.com>
Tue, 11 May 2010 08:59:28 +0000 (08:59 +0000)
34 files changed:
src/SMESHGUI/SMESHGUI.cxx
src/SMESHGUI/SMESHGUI.h
src/SMESHGUI/SMESHGUI_AddMeshElementDlg.cxx
src/SMESHGUI/SMESHGUI_AddQuadraticElementDlg.cxx
src/SMESHGUI/SMESHGUI_BuildCompoundDlg.cxx
src/SMESHGUI/SMESHGUI_ConvToQuadOp.cxx
src/SMESHGUI/SMESHGUI_CreatePolyhedralVolumeDlg.cxx
src/SMESHGUI/SMESHGUI_DeleteGroupDlg.cxx
src/SMESHGUI/SMESHGUI_EditMeshDlg.cxx
src/SMESHGUI/SMESHGUI_ExtrusionAlongPathDlg.cxx
src/SMESHGUI/SMESHGUI_ExtrusionDlg.cxx
src/SMESHGUI/SMESHGUI_GroupDlg.cxx
src/SMESHGUI/SMESHGUI_GroupOnShapeDlg.cxx
src/SMESHGUI/SMESHGUI_GroupOpDlg.cxx
src/SMESHGUI/SMESHGUI_HypothesesUtils.cxx
src/SMESHGUI/SMESHGUI_Make2DFrom3DOp.cxx
src/SMESHGUI/SMESHGUI_MakeNodeAtPointDlg.cxx
src/SMESHGUI/SMESHGUI_MeshOp.cxx
src/SMESHGUI/SMESHGUI_MeshOrderOp.cxx
src/SMESHGUI/SMESHGUI_MeshPatternDlg.cxx
src/SMESHGUI/SMESHGUI_MoveNodesDlg.cxx
src/SMESHGUI/SMESHGUI_MultiEditDlg.cxx
src/SMESHGUI/SMESHGUI_NodesDlg.cxx
src/SMESHGUI/SMESHGUI_RemoveElementsDlg.cxx
src/SMESHGUI/SMESHGUI_RemoveNodesDlg.cxx
src/SMESHGUI/SMESHGUI_RenumberingDlg.cxx
src/SMESHGUI/SMESHGUI_RevolutionDlg.cxx
src/SMESHGUI/SMESHGUI_RotationDlg.cxx
src/SMESHGUI/SMESHGUI_ScaleDlg.cxx
src/SMESHGUI/SMESHGUI_SewingDlg.cxx
src/SMESHGUI/SMESHGUI_SingleEditDlg.cxx
src/SMESHGUI/SMESHGUI_SmoothingDlg.cxx
src/SMESHGUI/SMESHGUI_SymmetryDlg.cxx
src/SMESHGUI/SMESHGUI_TranslationDlg.cxx

index fb0d7591750c7b921849c64ee4d555c5b2cb93ff..13f22f8dddaec3529c0fcc48f44125882cce2346 100644 (file)
@@ -1483,6 +1483,22 @@ SalomeApp_Study* SMESHGUI::activeStudy()
     return NULL;
 }
 
+//=============================================================================
+/*!
+ *
+ */
+//=============================================================================
+void SMESHGUI::Modified( bool theIsUpdateActions )
+{
+  if( SalomeApp_Application* app = dynamic_cast<SalomeApp_Application*>( SUIT_Session::session()->activeApplication() ) ) {
+    if( SalomeApp_Study* appStudy = dynamic_cast<SalomeApp_Study*>( app->activeStudy() ) ) {
+      appStudy->Modified();
+      if( theIsUpdateActions )
+        app->updateActions();
+    }
+  }
+}
+
 //=============================================================================
 /*!
  *
@@ -4869,5 +4885,7 @@ int SMESHGUI::addVtkFontPref( const QString& label, const int pId, const QString
 */
 void SMESHGUI::onHypothesisEdit( int result )
 {
+  if( result == 1 )
+    SMESHGUI::Modified();
   updateObjBrowser( true );
 }
index 503740c61039b9c4ff6b3639745d9654869c6466..0099a20bde8d21b9e66304cf128dbe1e0abb291c 100644 (file)
@@ -79,6 +79,8 @@ public :
 
   static bool                     automaticUpdate();
 
+  static void                     Modified( bool = true );
+
   virtual LightApp_Displayer*     displayer();
   virtual QString                 engineIOR() const;
   virtual void                    initialize( CAM_Application* );
index 03ade25cb3965e7544d279adcf0a18e99f8d166b..3108f8d65a8a6b2c41bbc9b339a05a1889c6d92e 100644 (file)
@@ -570,6 +570,8 @@ void SMESHGUI_AddMeshElementDlg::ClickOnApply()
     myEditCurrentArgument->setText("");
 
     myBusy = false;
+
+    SMESHGUI::Modified();
   }
 }
 
index 601006b705de9b2b3cb4bde2ed6202eb8a8276a1..0e3d0c7a22fdd2b94de1fefa7d5363b2bd33aaef 100644 (file)
@@ -806,6 +806,8 @@ void SMESHGUI_AddQuadraticElementDlg::ClickOnApply()
   SetEditCorners();
 
   updateButtons();
+
+  SMESHGUI::Modified();
 }
 
 //=================================================================================
index fe9e5317ed1b5ae3cc34626eb3c5a9a85d5be710..bc6c1daf55051bd90eb7ce9f0319812ee78c14ce 100644 (file)
@@ -331,6 +331,8 @@ bool SMESHGUI_BuildCompoundDlg::ClickOnApply()
         SMESH::DisplayActor(SMESH::GetActiveWindow(), anActor);
     }// end IPAL21468
 
+    SMESHGUI::Modified();
+
     return true;
   }
   return false;
index f5ed5ea1516bee7e4c074550aa55c41a6c69b816..5b87777532f87d022bd0f00f4e26a01b4e13346a 100644 (file)
@@ -27,6 +27,7 @@
 //
 #include "SMESHGUI_ConvToQuadOp.h"
 
+#include "SMESHGUI.h"
 #include "SMESHGUI_ConvToQuadDlg.h"
 #include "SMESHGUI_Utils.h"
 
@@ -234,6 +235,7 @@ bool SMESHGUI_ConvToQuadOp::onApply()
   }
   if( aResult )
   {
+    SMESHGUI::Modified();
     update( UF_ObjBrowser | UF_Model | UF_Viewer );
     selectionDone();
   }
index 1501f082519498b1091735a818df8e9c9e193126..864537e8464256f6e7d42c6cd2b090704de0932c 100644 (file)
@@ -574,6 +574,8 @@ void SMESHGUI_CreatePolyhedralVolumeDlg::ClickOnApply()
       }
       //ConstructorsClicked( GetConstructorId() );
       busy = false;
+
+      SMESHGUI::Modified();
     }
 }
 
index 95906a3f98e873c609b644a19590fc4057133079..63ce53b12ebfda7d3f8ae1048c13576852b9a704 100644 (file)
@@ -219,6 +219,7 @@ bool SMESHGUI_DeleteGroupDlg::onApply()
   myListGrp.clear();
   mySelectionMgr->clearSelected();
   SMESH::UpdateView();
+  SMESHGUI::Modified();
   mySMESHGUI->updateObjBrowser(true);
 
   myBlockSelection = false;
index 5405ec451a8753c244d31351b5d90df1b1217c3e..64559a58a041bc096a230d15f174ee9a2aa8a679 100644 (file)
@@ -672,6 +672,7 @@ bool SMESHGUI_EditMeshDlg::ClickOnApply()
   }
   
   SMESH::UpdateView();
+  SMESHGUI::Modified();
   
   return true;
 }
index b2ca950174100f27903717933c8cef7c538b37d3..54ce99d4e880a491b48c234ca472757c0ca375ed 100644 (file)
@@ -671,6 +671,8 @@ bool SMESHGUI_ExtrusionAlongPathDlg::ClickOnApply()
   if ( myMeshActor )
     SMESH::Update( myMeshActor->getIO(), myMeshActor->GetVisibility() );
     
+  SMESHGUI::Modified();
+
   if ( MakeGroupsCheck->isEnabled() && MakeGroupsCheck->isChecked() )
     mySMESHGUI->updateObjBrowser(true); // new groups may appear
   //SMESH::UpdateView();
index 89ebc7f55f0ab4371a59f45880fe9ca57da20e9a..db7f41c4908e64360c8ca9cd98e2cc59bb0c96e4 100644 (file)
@@ -572,6 +572,8 @@ bool SMESHGUI_ExtrusionDlg::ClickOnApply()
     mySelectionMgr->clearSelected();
     mySelectedObject = SMESH::SMESH_IDSource::_nil();
     SelectionIntoArgument();
+
+    SMESHGUI::Modified();
   }
   return true;
 }
index 351c4bc1f1fa9392ddc35313df81f36cf46ba311..28461ee4fb0d89afd3a644eb9098d11e41b47d63 100644 (file)
@@ -852,6 +852,7 @@ bool SMESHGUI_GroupDlg::onApply()
       }
     }
 
+    SMESHGUI::Modified();
     mySMESHGUI->updateObjBrowser(true);
     SMESH::UpdateView(); // asv: fix of BUG PAL5515
     mySelectionMgr->clearSelected();
@@ -957,6 +958,7 @@ bool SMESHGUI_GroupDlg::onApply()
       }
     }
 
+    SMESHGUI::Modified();
     mySMESHGUI->updateObjBrowser(true);
     mySelectionMgr->clearSelected();
     return true;
index f5b0037098d519bf3d476805d543bd5f046ab5f7..9fefa98daf9d9e2f107bbb92186de7d3e7f5a67d 100644 (file)
@@ -27,6 +27,7 @@
 #include "SMESHGUI_GroupOnShapeDlg.h"
 
 #include "SMESH_TypeFilter.hxx"
+#include "SMESHGUI.h"
 #include "SMESHGUI_Utils.h"
 #include "SMESHGUI_GEOMGenUtils.h"
 
@@ -347,6 +348,8 @@ bool SMESHGUI_GroupOnShapeOp::onApply()
       group = mesh->CreateGroupFromGEOM( elemType, name.toLatin1().data(), geom );
     }
   }
+  SMESHGUI::Modified();
+
   update( UF_ObjBrowser | UF_Model );
 
   init();
index 15d772347a251237b35faec1ce08e409752c1209..39941b26acd97413ca25c04324bc86ef098f823e 100644 (file)
@@ -604,6 +604,7 @@ bool SMESHGUI_UnionGroupsDlg::onApply()
 
   if ( aRes ) 
   {
+    SMESHGUI::Modified();
     getSMESHGUI()->updateObjBrowser(true);
     reset();
     return true;
@@ -706,6 +707,7 @@ bool SMESHGUI_IntersectGroupsDlg::onApply()
 
   if ( aRes ) 
   {
+    SMESHGUI::Modified();
     getSMESHGUI()->updateObjBrowser(true);
     reset();
     return true;
@@ -872,6 +874,7 @@ bool SMESHGUI_CutGroupsDlg::onApply()
 
   if ( aRes ) 
   {
+    SMESHGUI::Modified();
     getSMESHGUI()->updateObjBrowser(true);
     reset();
     return true;
@@ -1023,6 +1026,7 @@ bool SMESHGUI_DimGroupDlg::onApply()
 
   if ( aRes ) 
   {
+    SMESHGUI::Modified();
     getSMESHGUI()->updateObjBrowser(true);
     reset();
     return true;
index e8d9204f8a578548e6d0464679c4700df23a589a..005e6a87345a0d37feecec9494ea05e8a84baaca 100644 (file)
@@ -414,6 +414,7 @@ namespace SMESH
         if (aHypSObject) {
           if (!aHypName.isEmpty())
             SMESH::SetName(aHypSObject, aHypName);
+          SMESHGUI::Modified();
           SMESHGUI::GetSMESHGUI()->updateObjBrowser();
           return aHypothesis._retn();
         }
index fb404641f5b73e881516a6d219ed2bcb3c1056af..ffbc3b80dd2f42c21a91f28872ef823aa829e395 100644 (file)
@@ -233,6 +233,7 @@ void SMESHGUI_Make2DFrom3DOp::startOperation()
   myDlg->SetMeshInfo( aNewInfo );
   myDlg->show(); /*exec();*/
   commit();
+  SMESHGUI::Modified();
 }
 
 //================================================================================
index 0792b596ce7a93624c356b2ba3a7469a9b4f987b..ee35301f045d85b1092ac6a108a47b67d84687a5 100644 (file)
@@ -424,6 +424,7 @@ bool SMESHGUI_MakeNodeAtPointOp::onApply()
       aList.Append(myMeshActor->getIO());
       selectionMgr()->setSelectedObjects(aList,false);
       SMESH::UpdateView();
+      SMESHGUI::Modified();
     }
   }
   catch (const SALOME::SALOME_Exception& S_ex) {
index 1739b419c7dcab07e1efe08b281f8210985cec5f..4ceb159ee0d3ea39527e71b1c5002feb230bdcca 100644 (file)
@@ -150,7 +150,10 @@ bool SMESHGUI_MeshOp::onApply()
     else if ( !myToCreate )
       aResult = editMeshOrSubMesh( aMess );
     if ( aResult )
+    {
+      SMESHGUI::Modified();
       update( UF_ObjBrowser | UF_Model );
+    }
   }
   catch ( const SALOME::SALOME_Exception& S_ex )
   {
index 494d4eabfc8104e34bcf88234bd1c82eca98a9d6..511191c136b6424bb21c09a3400bb73d1abda75f 100644 (file)
@@ -138,6 +138,9 @@ bool SMESHGUI_MeshOrderOp::onApply()
   SUIT_OverrideCursor aWaitCursor;
   bool res = myMgr ? myMgr->SetMeshOrder() : false;
 
+  if( res )
+    SMESHGUI::Modified();
+
   delete myMgr;
   myMgr = 0;
 
index f08d017d962f7ddf012873216011feccb03a7823..2f3a7a2350c2b2fd7e8f1178a1c9c7a9fdc0bc05 100755 (executable)
@@ -510,6 +510,7 @@ bool SMESHGUI_MeshPatternDlg::onApply()
       }
       mySelectionMgr->clearSelected();
       SMESH::UpdateView();
+      SMESHGUI::Modified();
 
       mySMESHGUI->updateObjBrowser(true);
 
index f4c26bb9f985467371bd2de1a0b0704ceba4ea74..ac54383824e3f6c3965540041816397c36cd3c4a 100644 (file)
@@ -356,6 +356,7 @@ bool SMESHGUI_MoveNodesDlg::onApply()
     aList.Append(myMeshActor->getIO());
     mySelectionMgr->setSelectedObjects(aList,false);
     SMESH::UpdateView();
+    SMESHGUI::Modified();
     reset();
   }
 
index 98b047400a782cf2e4dce932b08004e5558aeba7..341ffb2845f4f96afb6248aa7a359a42541c73de 100755 (executable)
@@ -1052,6 +1052,7 @@ bool SMESHGUI_MultiEditDlg::onApply()
       mySelector->ClearIndex();
       mySelectionMgr->setSelectedObjects( sel );
       SMESH::UpdateView();
+      SMESHGUI::Modified();
     }
 
     myListBox->clear();
index d12100ca293ee4ca3fae5eb09301f784b73b7956..b0b793b1f709dbf6a36c81f626bc5b1cb42d835b 100644 (file)
@@ -526,6 +526,9 @@ bool SMESHGUI_NodesDlg::ClickOnApply()
       }
     }
   }
+
+  SMESHGUI::Modified();
+
   return true;
 }
 
index c6ff898f3bc105aa08027bc579a1313804c29c55..44f495fb3a089a15d33a7c5b285d43bc38a5e03f 100644 (file)
@@ -244,6 +244,7 @@ void SMESHGUI_RemoveElementsDlg::ClickOnApply()
       myEditCurrentArgument->clear();
       mySelector->ClearIndex();
       SMESH::UpdateView();
+      SMESHGUI::Modified();
     }
   }
 }
index fc6c78a30a846a8e898f4e5a681881b3368a900c..3fcef3f95876c8887c3a8adbc9a65d87aec47e41 100644 (file)
@@ -246,6 +246,7 @@ void SMESHGUI_RemoveNodesDlg::ClickOnApply()
       myEditCurrentArgument->clear();
       mySelector->ClearIndex();
       SMESH::UpdateView();
+      SMESHGUI::Modified();
     }
 
     SMESH::SetPointRepresentation(true);
index 5ebfe50623084aaebec5e1b164da40b157d28d90..67a1a422025a4070d494973583214bacca978d44 100644 (file)
@@ -243,6 +243,7 @@ void SMESHGUI_RenumberingDlg::ClickOnApply()
     
     //mySelectionMgr->clearSelected();
     SMESH::UpdateView();
+    SMESHGUI::Modified();
   }
 }
 
index f6edc503fbbb4ad0f4b1171878485de2d49fdd41..d4f406891589aa34ad403249ab3b785288ca8627 100644 (file)
@@ -557,6 +557,8 @@ bool SMESHGUI_RevolutionDlg::ClickOnApply()
     ConstructorsClicked(GetConstructorId());
     mySelectedObject = SMESH::SMESH_IDSource::_nil();
     SelectionIntoArgument();
+
+    SMESHGUI::Modified();
   }
 
   return true;
index f2855bb7a1c23ebd29209c85bbf747bd13096b4c..f5f03e0ef65de5017a63e6cd5ef1d812eb8f4ae0 100644 (file)
@@ -456,6 +456,8 @@ bool SMESHGUI_RotationDlg::ClickOnApply()
     Init(false);
     mySelectedObject = SMESH::SMESH_IDSource::_nil();
     SelectionIntoArgument();
+
+    SMESHGUI::Modified();
   }
 
   return true;
index 97976bf046638c157c566fbaa6b5f3a2cd492e1f..3eb8b7138757bd22bc5e208a87015bab4d5ce271 100644 (file)
@@ -526,6 +526,8 @@ bool SMESHGUI_ScaleDlg::ClickOnApply()
     ConstructorsClicked(GetConstructorId());
     mySelectedObject = SMESH::SMESH_IDSource::_nil();
     SelectionIntoArgument();
+
+    SMESHGUI::Modified();
   }
   
   return true;
index cd63b5e12c463f8a34435acc97abb6fd69a6269d..cc8fbf13686c2e45099423d6a22a794e0cf8d488 100644 (file)
@@ -533,6 +533,8 @@ bool SMESHGUI_SewingDlg::ClickOnApply()
 
       Init();
       ConstructorsClicked(GetConstructorId());
+
+      SMESHGUI::Modified();
     }
   }
 
index bb73bcbd5218fbd716ecdcc840b206654c731be1..d005010e438afbb0a81d254a49f55bbb6ea2a813 100755 (executable)
@@ -514,6 +514,7 @@ bool SMESHGUI_SingleEditDlg::onApply()
     mySelectionMgr->setSelectedObjects(aList, false);
     onSelectionDone();
     SMESH::UpdateView();
+    SMESHGUI::Modified();
   }
 
   return aResult;
index 3b83752eb5c1527da99d5cd4aa3784380eb804ad..4f24c4dd4ac6db850a16fdad70afa6874ef726a8 100644 (file)
@@ -395,6 +395,7 @@ bool SMESHGUI_SmoothingDlg::ClickOnApply()
       }
 
       SMESH::UpdateView();
+      SMESHGUI::Modified();
       Init();
 
       mySelectedObject = SMESH::SMESH_IDSource::_nil();
index 6fec286e31d9dff88d54e00d0cd4f1ac2513b8d4..a6a8a4ac7ca5f86142932ccf40a1e87433bf7156 100644 (file)
@@ -546,6 +546,8 @@ bool SMESHGUI_SymmetryDlg::ClickOnApply()
     ConstructorsClicked(GetConstructorId());
     mySelectedObject = SMESH::SMESH_IDSource::_nil();
     SelectionIntoArgument();
+
+    SMESHGUI::Modified();
   }
   return true;
 }
index 6b2e2398da7135f1d04a8fb24f08a5ebd13452be..bb6d11167296b3d6302130150c4718efeeaca6ed 100644 (file)
@@ -530,6 +530,8 @@ bool SMESHGUI_TranslationDlg::ClickOnApply()
     ConstructorsClicked(GetConstructorId());
     mySelectedObject = SMESH::SMESH_IDSource::_nil();
     SelectionIntoArgument();
+
+    SMESHGUI::Modified();
   }
   
   return true;