]> SALOME platform Git repositories - modules/gui.git/commitdiff
Salome HOME
STD_Application::closeApplication() implemented
authorsan <san@opencascade.com>
Tue, 20 Dec 2005 09:57:52 +0000 (09:57 +0000)
committersan <san@opencascade.com>
Tue, 20 Dec 2005 09:57:52 +0000 (09:57 +0000)
src/STD/STD_Application.cxx
src/STD/STD_Application.h
src/SUIT/SUIT_Application.h

index 706ecedb5620104e0fb2fb220245d06ac66101c9..3717e8437130563dc9540ed022bd9e617e49b06d 100755 (executable)
@@ -84,6 +84,23 @@ void STD_Application::start()
   SUIT_Application::start();
 }
 
+/*!Closes the active study (if any)*/
+void STD_Application::closeApplication()
+{
+  SUIT_Study* study = activeStudy();
+
+  if ( study ){
+    study->closeDocument();
+
+    setActiveStudy( 0 );
+    delete study;
+  }
+
+  setDesktop( 0 );
+  
+  SUIT_Application::closeApplication();
+}
+
 /*!Event on closing desktop*/
 void STD_Application::onDesktopClosing( SUIT_Desktop*, QCloseEvent* e )
 {
@@ -98,16 +115,6 @@ void STD_Application::onDesktopClosing( SUIT_Desktop*, QCloseEvent* e )
     return;
   }
 
-  SUIT_Study* study = activeStudy();
-
-  if ( study )
-    study->closeDocument();
-
-  setActiveStudy( 0 );
-  delete study;
-
-  setDesktop( 0 );
-
   closeApplication();
 }
 
index ce925fa5ca429fa028f6cb1cb0bf43279755c640..58e74353b9ebe72fbc6c83b32ee8607878f41489 100755 (executable)
@@ -53,6 +53,7 @@ public:
   virtual QString       applicationName() const;
 
   virtual bool          isPossibleToClose();
+  virtual void          closeApplication();
   virtual bool          useFile( const QString& );
 
   virtual void          createEmptyStudy();
index 43f6f29ed94743df849dd3e7df8c159ef02166e3..b630177e6bb601199b33754ad838381fb7a655ac 100755 (executable)
@@ -56,10 +56,12 @@ public:
   //! Returns main widget (Desktop) of the application (if it exists)
   virtual SUIT_Desktop* desktop();
 
-  /*! Returns FALSE if applic ation can not be closed (because of non saved data for example). 
+  /*! Returns FALSE if application can not be closed (because of non saved data for example). 
       This method called by SUIT_Session whin closing of application was requested. */
   virtual bool          isPossibleToClose();
 
+  /*! Performs some finalization of life cycle of this application.
+      For instance, the application can force its documents(s) to close. */
   virtual void          closeApplication();
 
   //! Returns active Study. If Application supports wirking with several studies this method should be redefined