From: caballero Date: Fri, 3 Apr 2009 16:18:38 +0000 (+0000) Subject: Fixed a bug that didn't let it load on opening. Still exists a bug on adding. X-Git-Tag: EED.02Oct2009~119 X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=commitdiff_plain;h=7c6f60361461c27cb809f3e5d0473f211801b813;hp=8d73d5f58d80abb928a7f60037837c2933b16bbd;p=creaImageIO.git Fixed a bug that didn't let it load on opening. Still exists a bug on adding. --- diff --git a/src2/creaImageIOSQLiteTreeHandler.cpp b/src2/creaImageIOSQLiteTreeHandler.cpp index 4363e7c..b91308f 100644 --- a/src2/creaImageIOSQLiteTreeHandler.cpp +++ b/src2/creaImageIOSQLiteTreeHandler.cpp @@ -36,6 +36,7 @@ namespace creaImageIO : mFileName(filename) { mDB = new CppSQLite3DB; + mIsAdding=false; GimmickMessage(1,"SQLite version : " <SQLiteVersion())<< std::endl); } @@ -129,8 +130,10 @@ namespace creaImageIO //===================================================================== int SQLiteTreeHandler::AddBranch( const AttributeMapType& attr ) { + mIsAdding=true; tree::Node* parent = DBGetParent(attr); DBGraftToParent(parent,attr); + mIsAdding=false; return (parent->GetLevel()+1); } @@ -657,7 +660,7 @@ namespace creaImageIO int nbloaded = 0; // If children loaded we do not have to do it but we need to recurse // in order to load the children's children if necessary, and so on... - if (node->GetChildrenLoaded()) + if (node->GetChildrenLoaded()||mIsAdding) { // Iterate the children @@ -668,11 +671,15 @@ namespace creaImageIO { nbloaded += DBLoadChildren(*i,numberoflevels-1); }*/ + return nbloaded; } - + else + { /// If children not loaded : do it and recurse + std::cout<<"Children are not loaded for node:"<GetLabel()<GetLevel(); @@ -687,9 +694,9 @@ namespace creaImageIO CppSQLite3Query q; QUERYDB(query,q); + int p=0; while (!q.eof()) { - // std::cout<<"Name in q: "<SetChildrenLoaded(true); + // msw[2].Pause(); return nbloaded; + } } //===================================================================== @@ -756,7 +765,7 @@ namespace creaImageIO { // Create Node tree::Node* child = new tree::Node(parent,attr); - + std::cout<<"Number of children "<GetNumberOfChildren()<GetLevel()>0 ) child->SetAttribute("PARENT_ID",parent->GetAttribute("ID")); diff --git a/src2/creaImageIOSQLiteTreeHandler.h b/src2/creaImageIOSQLiteTreeHandler.h index 611872c..cb100c0 100644 --- a/src2/creaImageIOSQLiteTreeHandler.h +++ b/src2/creaImageIOSQLiteTreeHandler.h @@ -212,6 +212,7 @@ namespace creaImageIO bool mWritable; void SetWritable(bool w) { mWritable; } bool GetWritable() const { return mWritable; } + bool mIsAdding; /* struct TypeId diff --git a/src2/creaImageIOTreeHandlerImageAdder.h b/src2/creaImageIOTreeHandlerImageAdder.h index fc22d18..6fdaf99 100644 --- a/src2/creaImageIOTreeHandlerImageAdder.h +++ b/src2/creaImageIOTreeHandlerImageAdder.h @@ -104,7 +104,7 @@ namespace creaImageIO private: /// Adds a single file to the TreeHandler - /// **WITHOUT** testing werther it is handled or not + /// **WITHOUT** testing wether it is handled or not /// hence you have to call IsHandledFile before using AddFile! void AddFile( const std::string& filename ); diff --git a/src2/creaImageIOTreeNode.cpp b/src2/creaImageIOTreeNode.cpp index 954a714..77ba50f 100644 --- a/src2/creaImageIOTreeNode.cpp +++ b/src2/creaImageIOTreeNode.cpp @@ -9,7 +9,7 @@ namespace creaImageIO { //============================================================= - /// Ctor with parent + /// Ctor with parent Why does it enter once while charging? Node::Node(Node* parent) : mParent(parent), mData(0), @@ -20,8 +20,8 @@ namespace creaImageIO GimmickDebugMessage(6,"Default Node constructor (level "<GetChildrenList().push_back(this); - //InitializeAttributeMap(); + InitializeAttributeMap(); + parent->GetChildrenList().push_back(this); } else { diff --git a/src2/creaImageIOWxTreeView.cpp b/src2/creaImageIOWxTreeView.cpp index 47123b8..c121c96 100644 --- a/src2/creaImageIOWxTreeView.cpp +++ b/src2/creaImageIOWxTreeView.cpp @@ -615,9 +615,6 @@ namespace creaImageIO } //Resets original data - - std::vector::iterator selection; - std::vector change; long it = -1; for ( ;; ) { @@ -629,7 +626,7 @@ namespace creaImageIO //Gets current item data, extracts the node and resets it long item = GetCtrl(level)->GetItemData(it); GetCtrl(level)->SetItemData(it,((long*)item)[0]); - tree::Node* n= ((ItemData*)((long*)item)[0])->node; + //tree::Node* n= ((ItemData*)((long*)item)[0])->node; }