Salome HOME
clear data when new study from button new
[modules/hydro.git] / src / HYDROGUI / HYDROGUI_DataModel.cxx
index e9e8bc4559106cc0c8b8e95ad22b624ff4796297..8f3178629fb188c5ff9719fa74500636f5272b0f 100644 (file)
 #include <HYDROData_ShapesGroup.h>
 #endif
 
+//#define _DEVDEBUG_
+#include "HYDRO_trace.hxx"
+
 static HYDROData_SequenceOfObjects myCopyingObjects;
 
 const int ENTRY_COLUMN = 2;
 
 
 HYDROGUI_DataModel::HYDROGUI_DataModel( CAM_Module* theModule )
-: LightApp_DataModel( theModule )
+: LightApp_DataModel( theModule ), myIsAboutToClose(false)
 {
+  DEBTRACE("HYDROGUI_DataModel");
   update( module()->application()->activeStudy()->id() );
 }
 
 HYDROGUI_DataModel::~HYDROGUI_DataModel()
 {
+  DEBTRACE("~HYDROGUI_DataModel");
 }
 
 bool HYDROGUI_DataModel::create( CAM_Study* theStudy )
 {
+  DEBTRACE("create");
     bool status = LightApp_DataModel::create( theStudy );
     if ( status )
         updateDocument();
@@ -102,6 +108,7 @@ bool HYDROGUI_DataModel::open( const QString& theURL,
                                CAM_Study* theStudy,
                                QStringList theFileList )
 {
+  DEBTRACE("open");
   LightApp_DataModel::open( theURL, theStudy, theFileList );
   const int aStudyId = theStudy->id();
 
@@ -154,6 +161,7 @@ bool HYDROGUI_DataModel::open( const QString& theURL,
 
 bool HYDROGUI_DataModel::save( QStringList& theFileList )
 {
+  DEBTRACE("save");
   if( !module()->application()->activeStudy() )
     return false;
   
@@ -203,23 +211,33 @@ bool HYDROGUI_DataModel::saveAs( const QString& theURL,
                                  CAM_Study*,
                                  QStringList& theFileList )
 {
+  DEBTRACE("saveAs");
   myStudyURL = theURL;
   return save( theFileList );
 }
 
 bool HYDROGUI_DataModel::close()
 {
+  DEBTRACE("close");
+  myIsAboutToClose = true;
   HYDROGUI_Module* aModule = dynamic_cast<HYDROGUI_Module*>( module() );
   if ( aModule )
       aModule->clearCache();
   return true;
 }
 
+bool HYDROGUI_DataModel::isAboutToClose()
+{
+  DEBTRACE("isAboutToClose " << myIsAboutToClose);
+  return myIsAboutToClose;
+}
+
 bool HYDROGUI_DataModel::dumpPython( const QString& theURL,
                                      CAM_Study*     theStudy,
                                      bool           isMultiFile,
                                      QStringList&   theListOfFiles )
 {
+  DEBTRACE("dumpPython");
   LightApp_DataModel::dumpPython( theURL, theStudy, isMultiFile, theListOfFiles );
 
   int aStudyId = theStudy->id();
@@ -254,6 +272,7 @@ bool HYDROGUI_DataModel::isSaved() const
 
 void HYDROGUI_DataModel::update( const int theStudyId )
 {
+  DEBTRACE("update");
   LightApp_Application* anApp = dynamic_cast<LightApp_Application*>( module()->application() );
   if( !anApp )
     return;
@@ -629,6 +648,7 @@ CAM_DataObject* HYDROGUI_DataModel::createRootModuleObject( SUIT_DataObject* the
 
 void HYDROGUI_DataModel::updateModel()
 {
+  DEBTRACE("updateModel");
   HYDROGUI_Module* aModule = dynamic_cast<HYDROGUI_Module*>( module() );
   if( aModule )
     update( aModule->getStudyId() );
@@ -1351,6 +1371,7 @@ bool HYDROGUI_DataModel::rename( Handle(HYDROData_Entity) theEntity, const QStri
 
 void HYDROGUI_DataModel::updateDocument()
 {
+  DEBTRACE("updateDocument");
     // Sets the default strickler coefficient from preferences to document.
     Handle(HYDROData_Document) aDoc = getDocument();
     SUIT_ResourceMgr* resMgr = module()->application()->resourceMgr();