]> Creatis software - creaImageIO.git/commitdiff
create a TreeView and display it for addDB event
authorFrederic Cervenansky <Frederic.Cervenansky@creatis.insa-lyon.fr>
Tue, 28 Apr 2009 10:37:39 +0000 (10:37 +0000)
committerFrederic Cervenansky <Frederic.Cervenansky@creatis.insa-lyon.fr>
Tue, 28 Apr 2009 10:37:39 +0000 (10:37 +0000)
src2/creaImageIOGimmick.cpp
src2/creaImageIOGimmickView.cpp
src2/creaImageIOGimmickView.h
src2/creaImageIOWxGimmickView.cpp

index 90dc2c8fcf716f2a088eaa543fce4bcc5c12f0e6..a9080fd328223dfed6d5ac365a98c2483a065d16 100644 (file)
@@ -82,7 +82,11 @@ namespace creaImageIO
   ///////////////////////////////////////////////////////////////////////
        void Gimmick::addDB(std::string &i_name, std::string &i_location)
        {
-               mTreeHandlerMap[i_name] = new SQLiteTreeHandler(i_location);
+               if(mTreeHandlerMap.find(i_name) == mTreeHandlerMap.end())
+               {
+                       mTreeHandlerMap[i_name] = new SQLiteTreeHandler(i_location);
+                       mTreeHandlerMap[i_name]->Open(true);
+               }
        }
 
  
index 2c2507f2ed90388baeab450522f415e5992a8c7b..f7e894d089fd802314cd83573999f8884a6682a8 100644 (file)
@@ -112,6 +112,16 @@ namespace creaImageIO
        this->CreateTreeView(i->second, mGimmick->GetTimestampDatabase());
       }
   }
+
+  /// Create a tree view with a given name
+  void GimmickView::CreateSingleTreeView(std::string &i_name)
+  {
+               this->CreateTreeView(mGimmick->GetTreeHandlerMap()[i_name],
+                       mGimmick->GetTimestampDatabase());
+     
+  }
+
+
   //======================================================================
 
   //======================================================================
index 1e9968bf2e612890c424cc5a6405046100218487..347471561d4dffdf660f05fa2be4eb880aa7ea4c 100644 (file)
@@ -100,6 +100,9 @@ namespace creaImageIO
       /// Create the tree views 
       void CreateTreeViews();
 
+         /// Create a tree view with a given name
+         void CreateSingleTreeView(std::string &i_name);
+
       /// Create the tree view for TreeHandler provided
       virtual void CreateTreeView( TreeHandler*, TimestampDatabaseHandler* ) 
       { GimmickError("INTERNAL ERROR : CreateTreeView not implemented"); }
index 9c3ab8345d550731cf39eb2cd9a6c7fc13855a55..c646456ad61433d540d69eed9b7b2131001e1050 100644 (file)
@@ -639,6 +639,11 @@ namespace creaImageIO
     wxMessageBox(std2wx(mess.str()),_T("Addition result"),wxOK,this);
   }
 
+  //////////////////////////////////////////////////
+  // Add a DB to application                                     //
+  // @param event : WxEvent                                              //
+  // @return : -                                                                 //
+  //////////////////////////////////////////////////
   void WxGimmickView::OnAddDB(wxCommandEvent& event)
   {
     
@@ -658,11 +663,14 @@ namespace creaImageIO
                wxBusyCursor busy;
                wxArrayString files;
                FD->GetPaths(files);
+               std::stringstream st;
                for(int i = 0; i< files.size(); i++)
                {
-                       std::string snb = "remote_1";
-                       mGimmick->addDB(snb, crea::wx2std(files[i]));
-               //      UpdateTreeViewLevel("remote_1",1);
+                       st<< "remote_" << i+1;
+                       //create TreeHandler
+                       mGimmick->addDB(st.str(), crea::wx2std(files[i]));
+                       //create TreeView
+                       CreateSingleTreeView(st.str());
                }
        }