]> Creatis software - creaImageIO.git/blobdiff - src2/creaImageIOGimmick.cpp
wx2std
[creaImageIO.git] / src2 / creaImageIOGimmick.cpp
index da76e9d848a253f8a8c203090348ea82f6c4e092..e54d1bf1e44597fcd5b9d88daa179e4f4694598b 100644 (file)
@@ -13,6 +13,8 @@ namespace creaImageIO
     : mImageAdder(0)
   {    
     RegisterGimmickMessageTypes();
+       mSettings=0;
+       mSynchronizer=0;
   }
   //==============================================================
 
@@ -21,9 +23,15 @@ namespace creaImageIO
   //==============================================================
   Gimmick::~Gimmick()
   {
+        if(mSettings!=0)
+         {
          mSettings->writeSettingsFile();
       delete mSettings;
+         }
+         if(mSynchronizer!=0)
+         {
          delete mSynchronizer;
+         }
   }
   //==============================================================
   
@@ -354,6 +362,46 @@ namespace creaImageIO
     GetTreeHandler(d)->GetTree().Print();
   }
   //========================================================================
+
+  void Gimmick::GetSetting(const std::string& name, std::string& value)
+  {
+         value = mSettings->getValue(name);
+  }
+  //========================================================================
+
+  //========================================================================
+
+  void Gimmick::UpdateSetting(const std::string& name, const std::string& value)
+  {
+         mSettings->updateSetting(name,value);
+         mSettings->writeSettingsFile();
+  }
+  //========================================================================
+
+  void Gimmick::DeleteDrive(const std::string& drive)
+  {
+         for( TreeHandlerMapType::const_iterator it = mTreeHandlerMap.begin();
+           it!= mTreeHandlerMap.end(); ++it)
+          {
+                  mImageAdder.SetTreeHandler(it->second);
+                  mImageAdder.DeleteDriveFromMainDB(drive);
+          }
+         mImageAdder.SetTimestampHandler(mTimestampDatabase);
+         mImageAdder.SetSynchronizer(mSynchronizer);
+         mImageAdder.DeleteDriveFromOtherDB(drive);
+  }
+
+  //========================================================================
+  void Gimmick::EditField(tree::Node* node, const std::string& d, const std::string& name, const std::string& key, const std::string& val)
+  {
+         TreeHandler * handler=GetTreeHandler(d);
+         mImageAdder.SetCurrentDatabase(d);
+         mImageAdder.SetTreeHandler(handler);
+         mImageAdder.EditField(node,name,key,val);
+  }
+  //========================================================================
+
+
   /////////////////////////////////////////////////////////////////////////
   // add DB from Settings file                                                                              //
   // @param : -                                                                                                                         //