]> SALOME platform Git repositories - modules/gui.git/commitdiff
Salome HOME
Join modifications from BR_MULTIPR_INDUS
authorjfa <jfa@opencascade.com>
Thu, 30 Aug 2007 12:00:57 +0000 (12:00 +0000)
committerjfa <jfa@opencascade.com>
Thu, 30 Aug 2007 12:00:57 +0000 (12:00 +0000)
src/STD/STD_Application.cxx
src/SUIT/SUIT_Application.cxx
src/SUIT/SUIT_Application.h
src/SUIT/SUIT_Study.cxx
src/SUIT/SUIT_Study.h
src/SalomeApp/SalomeApp_Study.cxx
src/SalomeApp/SalomeApp_Study.h

index 90690cad7c3b0e0162d3ac58cd78c3b9f5dcf2cb..41f98bcaa0eaca906cc0aa6ef2fadd61daf0fba7 100755 (executable)
@@ -577,6 +577,8 @@ void STD_Application::updateDesktopTitle()
 /*!Update commands status.*/
 void STD_Application::updateCommandsStatus()
 {
+  SUIT_Application::updateCommandsStatus();
+
   bool aHasStudy = activeStudy() != 0;
   bool aIsNeedToSave = false;
   if ( aHasStudy )
index 5033fd64ed40b27e3e22468b3455c2e67937e2e2..903d7141ab8876b4b931abd8aa1b998301d150fd 100755 (executable)
@@ -48,8 +48,8 @@ SUIT_Application::SUIT_Application()
 */
 SUIT_Application::~SUIT_Application() 
 {
+  setActiveStudy( 0 );
   delete myStudy;
-  myStudy = 0;
 
   setDesktop( 0 );
 }
@@ -206,6 +206,12 @@ void SUIT_Application::onInfoClear()
     emit infoChanged( QString::null );
 }
 
+/*!
+  Updates status of the registerd actions
+*/
+void SUIT_Application::updateCommandsStatus()
+{}
+
 /*!
   Initialize with application arguments
   \param argc - number of application arguments
@@ -268,6 +274,12 @@ void SUIT_Application::setActiveStudy( SUIT_Study* study )
   if ( myStudy == study )
     return;
 
+  if(myStudy)
+    disconnect(myStudy, SIGNAL( studyModified( SUIT_Study* ) ), this, SLOT( updateCommandsStatus() ) );
+
+  if(study)
+    connect(study, SIGNAL( studyModified( SUIT_Study* ) ), this, SLOT( updateCommandsStatus() ) );
+           
   myStudy = study;
 }
 
index 2bf9da35547eb6364d7e7b5e04e45b345b525895..9efe0f3b61fd2c3b042bcbb174f777779814f70f 100755 (executable)
@@ -117,6 +117,9 @@ signals:
   void                  activated( SUIT_Application* );
   void                  infoChanged( QString );
 
+public slots:
+  virtual void          updateCommandsStatus();
+
 private slots:
   void                  onInfoClear();
 
index 19dabb03be905e1f7af958e840b0e305adfad8e0..801d9ecb0a6ba2495fca660659ad70c016adebba 100755 (executable)
@@ -200,6 +200,15 @@ void SUIT_Study::setIsModified( const bool on )
   myIsModified = on;
 }
 
+/*!
+  Set study modified to \a on.
+ */
+void SUIT_Study::Modified()
+{
+  setIsModified( TRUE );
+  sendChangesNotification();
+}
+
 /*!
   Set root object.
  */
index fc6c35f0c26a746643baf4dd6e457021a1ec31b1..15f78a351c3e75f3676dc7b3473808147523957a 100755 (executable)
@@ -50,6 +50,7 @@ public:
 
   virtual bool      isSaved()  const;
   virtual bool      isModified() const;
+  virtual void      Modified();
 
   virtual void      createDocument();
   virtual void      closeDocument( bool = true );
index 503438d4ab7eee7c4e2c591710fd0cbb300f1e94..aeee814b63b4515a6ba051db89f3559a2dcd25bc 100644 (file)
@@ -308,6 +308,16 @@ bool SalomeApp_Study::isModified() const
   return isAnyChanged; 
 }
 
+/*!
+  Set study modified to \a on.
+ */
+void SalomeApp_Study::Modified()
+{
+  if(_PTR(Study) aStudy = studyDS())
+    aStudy->Modified();
+  LightApp_Study::Modified();
+}
+
 /*!
   \return if data model is saved
 */
index 707518a378180e41bf2860cf96b935ae33012591..516df81d844f0afa9cb0c8714cfe05b3d04e56af 100644 (file)
@@ -51,6 +51,7 @@ public:
 
   virtual bool        isSaved()  const;
   virtual bool        isModified() const;
+  virtual void        Modified();
 
   virtual void        addComponent   ( const CAM_DataModel* dm);