]> SALOME platform Git repositories - modules/gui.git/commitdiff
Salome HOME
Added support of savePoints
authorsrn <srn@opencascade.com>
Thu, 26 Jan 2006 08:55:31 +0000 (08:55 +0000)
committersrn <srn@opencascade.com>
Thu, 26 Jan 2006 08:55:31 +0000 (08:55 +0000)
src/LightApp/LightApp_Module.cxx
src/LightApp/LightApp_Module.h
src/SalomeApp/SalomeApp_Module.cxx
src/SalomeApp/SalomeApp_Module.h
src/SalomeApp/SalomeApp_Study.cxx
src/SalomeApp/SalomeApp_Study.h

index f6c316fc544908fe12556722ecd44f1bf0ebb3d9..4d09dca2f16c98eed33bb002a37f0bc49acfea5e 100644 (file)
@@ -430,9 +430,7 @@ LightApp_Displayer* LightApp_Module::displayer()
  * This method is called just before the study document is saved, so the module has a possibility
  * to store visual parameters in AttributeParameter attribue(s)
  */
-void LightApp_Module::storeVisualParameters() {
-  cout << "LightApp_Module::storeVisualParameters"   << endl;
-}
+void LightApp_Module::storeVisualParameters(int savePoint) {}
 
 /*!
  * \brief Virtual public
@@ -440,7 +438,7 @@ void LightApp_Module::storeVisualParameters() {
  * This method is called after the study document is opened, so the module has a possibility to restore
  * visual parameters
  */
-void LightApp_Module::restoreVisualParameters() {}
+void LightApp_Module::restoreVisualParameters(int savePoint) {}
 
 
 void LightApp_Module::onShowHide()
index 40785fd15f2df669b9b745ba3726f246eb493b6f..87c051a0f7ea5635d227f385ff675794a382c4db 100644 (file)
@@ -66,8 +66,8 @@ public:
 
   virtual LightApp_Displayer*         displayer();
 
-  virtual void                        storeVisualParameters();
-  virtual void                        restoreVisualParameters();
+  virtual void                        storeVisualParameters(int savePoint);
+  virtual void                        restoreVisualParameters(int savePoint);
 
 public slots:
   virtual bool                        activateModule( SUIT_Study* );
index 45e8c8c83b13e9d5144f8a86a6b52241090ec2ca..da70d2ea35b58e63ace8149c3fc05e15297b76dc 100644 (file)
@@ -104,7 +104,7 @@ void SalomeApp_Module::extractContainers( const SALOME_ListIO& source, SALOME_Li
  * This method is called just before the study document is saved, so the module has a possibility
  * to store visual parameters in AttributeParameter attribue(s)
  */
-void SalomeApp_Module::storeVisualParameters()
+void SalomeApp_Module::storeVisualParameters(int savePoint)
 {
   cout << "SalomeApp_Module::storeVisualParameters" << endl;  
 }
@@ -115,7 +115,7 @@ void SalomeApp_Module::storeVisualParameters()
  * This method is called after the study document is opened, so the module has a possibility to restore
  * visual parameters
  */
-void SalomeApp_Module::restoreVisualParameters()
+void SalomeApp_Module::restoreVisualParameters(int savePoint)
 {
   cout << "SalomeApp_Module::restoreVisualParameters" << endl;
 }
index e7bf899ffc03c7a2227eeea8b47c067bc4ea3fc5..7346e85375883a04edf1126d307c8e780c431ba4 100644 (file)
@@ -39,8 +39,8 @@ public:
 
   SalomeApp_Application*              getApp() const;
 
-  virtual void                        storeVisualParameters();
-  virtual void                        restoreVisualParameters();
+  virtual void                        storeVisualParameters(int savePoint);
+  virtual void                        restoreVisualParameters(int savePoint);
 
 protected:
   virtual CAM_DataModel*              createDataModel();
index de4604621db6f14d31edf36d9b10e13a357ad2c0..5b772ce7721482629008626a74e494d28cd9ac26 100644 (file)
@@ -181,7 +181,7 @@ bool SalomeApp_Study::openDocument( const QString& theFileName )
   emit opened( this );
   study->IsSaved(true);
 
-  restoreViewers();//############### VISUAL PARAMETERS
+  restoreViewers(1);//############### VISUAL PARAMETERS
 
   return res;
 }
@@ -231,7 +231,7 @@ bool SalomeApp_Study::loadDocument( const QString& theStudyName )
 //=======================================================================
 bool SalomeApp_Study::saveDocumentAs( const QString& theFileName )
 {
-  storeViewers();//############### VISUAL PARAMETERS
+  storeViewers(1);//############### VISUAL PARAMETERS
 
   ModelList list; dataModels( list );
 
@@ -268,7 +268,7 @@ bool SalomeApp_Study::saveDocumentAs( const QString& theFileName )
 //=======================================================================
 bool SalomeApp_Study::saveDocument()
 {
-  storeViewers(); //############### VISUAL PARAMETERS
+  storeViewers(1); //############### VISUAL PARAMETERS
 
   ModelList list; dataModels( list );
 
@@ -685,12 +685,42 @@ void SalomeApp_Study::components( QStringList& comps ) const
   }
 }
 
+//================================================================
+// Function : getNbSavePoints
+/*! Purpose : returns a number of saved points
+*/
+//================================================================
+int SalomeApp_Study::getNbSavePoints()
+{
+  return 1;
+}
+
+//================================================================
+// Function : getNameOfSavePoint
+/*! Purpose : returns a name of save point
+*/
+//================================================================
+QString SalomeApp_Study::getNameOfSavePoint(int savePoint)
+{
+  return "Default save point";
+}
+
+//================================================================
+// Function : setNameOfSavePoint
+/*! Purpose : sets a name of save point
+*/
+//================================================================
+void SalomeApp_Study::setNameOfSavePoint(int savePoint, const QString& nameOfSavePoint)
+{
+  
+}
+
 //================================================================
 // Function : storeViewers
 /*! Purpose : store the visual parameters of the viewers
 */
 //================================================================
-void SalomeApp_Study::storeViewers()
+void SalomeApp_Study::storeViewers(int savePoint)
 {
   SUIT_ViewWindow* activeWindow = application()->desktop()->activeWindow();
 
@@ -734,7 +764,7 @@ void SalomeApp_Study::storeViewers()
   ((SalomeApp_Application*)application())->modules( list );
   for(SalomeApp_Module* module = (SalomeApp_Module*)list.first(); module; module = (SalomeApp_Module*)list.next()) {
     container.addModule(module->moduleName());
-    module->storeVisualParameters(); 
+    module->storeVisualParameters(savePoint); 
   }
 }
 
@@ -743,9 +773,19 @@ void SalomeApp_Study::storeViewers()
 /*! Purpose : restore the visual parameters of the viewers
 */
 //================================================================
-void SalomeApp_Study::restoreViewers()
+void SalomeApp_Study::restoreViewers(int savePoint)
 {
   ViewerContainer container;
+
+  //Remove all already existent veiwers and their views
+  ViewManagerList lst;
+  ((SalomeApp_Application*)application())->viewManagers(lst);
+  for(QPtrListIterator<SUIT_ViewManager> it(lst); it.current(); ++it) {
+    SUIT_ViewManager* vm = it.current();
+    if(vm) ((SalomeApp_Application*)application())->removeViewManager(vm);
+  }
+
+  //Restore the viewers
   int nbViewers = container.getNbViewers();
   int activeViewID = container.getActiveViewID();
   SUIT_ViewWindow *viewWin = 0, *activeView = 0;
@@ -793,7 +833,7 @@ void SalomeApp_Study::restoreViewers()
   for(int i = 0; i<v.size(); i++) {
     ((SalomeApp_Application*)application())->activateModule(v[i].c_str());
     SalomeApp_Module* module = (SalomeApp_Module*)(((SalomeApp_Application*)application())->activeModule());
-    module->restoreVisualParameters();
+    module->restoreVisualParameters(savePoint);
   }
 
   QString activeModuleName = container.getActiveModule();
@@ -807,7 +847,7 @@ void SalomeApp_Study::restoreViewers()
  *            parameters
 */
 //================================================================
-_PTR(AttributeParameter) SalomeApp_Study::getViewerParameters()
+_PTR(AttributeParameter) SalomeApp_Study::getViewerParameters(int savePoint)
 {
   _PTR(StudyBuilder) builder = studyDS()->NewBuilder();
   _PTR(SObject) so = studyDS()->FindComponent("Interface Applicative");
@@ -841,7 +881,7 @@ ViewerContainer::ViewerContainer()
 
   SalomeApp_Study* study = dynamic_cast<SalomeApp_Study*>( SUIT_Session::session()->activeApplication()->activeStudy() );
   if( !study ) return;
-  _ap = study->getViewerParameters();
+  _ap = study->getViewerParameters(0);
 }
 
 int ViewerContainer::getNbViewers()
index aca727f1d3c56f152cda48e9cb6ee67d19668317..1f27cbfa53b964ce14825106abc9f3846f48bc54 100644 (file)
@@ -66,9 +66,12 @@ public:
   virtual void        children( const QString&, QStringList& ) const;
   virtual void        components( QStringList& ) const;
 
-  void                storeViewers();
-  void                restoreViewers();
-  _PTR(AttributeParameter) getViewerParameters();
+  int                 getNbSavePoints();
+  QString             getNameOfSavePoint(int savePoint);
+  void                setNameOfSavePoint(int savePoint, const QString& nameOfSavePoint);
+  void                storeViewers(int savePoint);
+  void                restoreViewers(int savePoint);
+  _PTR(AttributeParameter) getViewerParameters(int savePoint);
 
 protected:
   virtual void        saveModuleData ( QString theModuleName, QStringList theListOfFiles );