From 4e686df72aa8d0c59509195d173fd37acbd636b1 Mon Sep 17 00:00:00 2001 From: Frederic Cervenansky Date: Tue, 28 Apr 2009 10:37:39 +0000 Subject: [PATCH] create a TreeView and display it for addDB event --- src2/creaImageIOGimmick.cpp | 6 +++++- src2/creaImageIOGimmickView.cpp | 10 ++++++++++ src2/creaImageIOGimmickView.h | 3 +++ src2/creaImageIOWxGimmickView.cpp | 14 +++++++++++--- 4 files changed, 29 insertions(+), 4 deletions(-) diff --git a/src2/creaImageIOGimmick.cpp b/src2/creaImageIOGimmick.cpp index 90dc2c8..a9080fd 100644 --- a/src2/creaImageIOGimmick.cpp +++ b/src2/creaImageIOGimmick.cpp @@ -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); + } } diff --git a/src2/creaImageIOGimmickView.cpp b/src2/creaImageIOGimmickView.cpp index 2c2507f..f7e894d 100644 --- a/src2/creaImageIOGimmickView.cpp +++ b/src2/creaImageIOGimmickView.cpp @@ -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()); + + } + + //====================================================================== //====================================================================== diff --git a/src2/creaImageIOGimmickView.h b/src2/creaImageIOGimmickView.h index 1e9968b..3474715 100644 --- a/src2/creaImageIOGimmickView.h +++ b/src2/creaImageIOGimmickView.h @@ -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"); } diff --git a/src2/creaImageIOWxGimmickView.cpp b/src2/creaImageIOWxGimmickView.cpp index 9c3ab83..c646456 100644 --- a/src2/creaImageIOWxGimmickView.cpp +++ b/src2/creaImageIOWxGimmickView.cpp @@ -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()); } } -- 2.45.0