From: Frederic Cervenansky Date: Tue, 27 Oct 2009 14:30:10 +0000 (+0000) Subject: Correct Remove actions. X-Git-Tag: CREATOOLS.2-0-3~106 X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=commitdiff_plain;h=bdd74f95d714a988d85aed66808faf44ef5b4963;p=creaImageIO.git Correct Remove actions. --- diff --git a/src2/creaImageIODicomImageReader.cpp b/src2/creaImageIODicomImageReader.cpp index 66c1b00..0dde6ca 100644 --- a/src2/creaImageIODicomImageReader.cpp +++ b/src2/creaImageIODicomImageReader.cpp @@ -76,18 +76,22 @@ namespace creaImageIO //======================================================================== std::string irclean(const std::string& str) { - if (str == "GDCM::Unfound") - { - return ""; - } - if (str[str.size()-1]==' ') - { - return str.substr(0,str.size()-1); - } - if (str[str.size()-1]==0) - { - return str.substr(0,str.size()-1); - } + if(str.size() > 0) + { + if (str == "GDCM::Unfound") + { + return ""; + } + if (str[str.size()-1]==' ') + { + return str.substr(0,str.size()-1); + } + if (str[str.size()-1]==0) + { + return str.substr(0,str.size()-1); + } + } + return str; } //======================================================================== diff --git a/src2/creaImageIOSQLiteTreeHandler.cpp b/src2/creaImageIOSQLiteTreeHandler.cpp index 7f63e39..f3d5cbb 100644 --- a/src2/creaImageIOSQLiteTreeHandler.cpp +++ b/src2/creaImageIOSQLiteTreeHandler.cpp @@ -801,7 +801,9 @@ namespace creaImageIO std::string query = "DELETE FROM "; - query += GetTree().GetLevelDescriptor(node->GetLevel()).GetName(); + + query += GetTree().GetLevelDescriptor(node->GetLevel()).GetName(); + query += " WHERE ID='"+ node->GetAttribute("ID") + "';"; UPDATEDB(query); diff --git a/src2/creaImageIOTreeNode.cpp b/src2/creaImageIOTreeNode.cpp index e14bc84..c78973b 100644 --- a/src2/creaImageIOTreeNode.cpp +++ b/src2/creaImageIOTreeNode.cpp @@ -17,6 +17,7 @@ namespace creaImageIO : mParent(parent),//mData(0), mChildrenLoaded(false) { + mData.reset(); if (parent) { GimmickDebugMessage(6,"Default Node constructor (level "<GetLevel()+1; } + /// Returns the parent of the node Node* GetParent() const { return mParent; } @@ -117,7 +118,7 @@ namespace creaImageIO { if (mData!=0) return dynamic_cast(mData); return 0; } /// Sets the node data. Deletes existing data if any. - void SetData(boost::shared_ptr d) { mData = d; }//{ if (mData) delete mData; mData = d; } + void SetData(boost::shared_ptr d) {mData.reset(); mData = d; }//{ if (mData) delete mData; mData = d; } /// Sorts the children of the node void SortChildren(const LexicographicalComparator&); diff --git a/src2/creaImageIOWxGimmickView.cpp b/src2/creaImageIOWxGimmickView.cpp index ddf4361..d961fca 100644 --- a/src2/creaImageIOWxGimmickView.cpp +++ b/src2/creaImageIOWxGimmickView.cpp @@ -30,9 +30,11 @@ using namespace crea; #if defined(BUILD_BRUKER) #include "bruker2dicom.h" #endif + #ifdef _DEBUG #define new DEBUG_NEW #endif + namespace creaImageIO { @@ -694,7 +696,7 @@ namespace creaImageIO void WxGimmickView::AddIgnoreFile(tree::Node* toRemove) { mGimmick->RemoveFile(crea::wx2std(mNotebook->GetPageText(mNotebook->GetSelection())),toRemove); - GetTreeViewMap()[crea::wx2std(mNotebook->GetPageText(mNotebook->GetSelection()))]->UpdateLevel(1); + // GetTreeViewMap()[crea::wx2std(mNotebook->GetPageText(mNotebook->GetSelection()))]->UpdateLevel(1); } //================================================= diff --git a/src2/creaImageIOWxTreeView.cpp b/src2/creaImageIOWxTreeView.cpp index 8e350cc..b583a7c 100644 --- a/src2/creaImageIOWxTreeView.cpp +++ b/src2/creaImageIOWxTreeView.cpp @@ -380,9 +380,9 @@ namespace creaImageIO { needRefresh=true; } - tree::Node* n= (tree::Node*)(*i); + //tree::Node* n = new (tree::Node*)(*i); GetTreeHandler()->LoadChildren((*i),4); - GetGimmickView()->AddIgnoreFile(n); + GetGimmickView()->AddIgnoreFile(*i); GetTreeHandler()->Remove(*i); }