X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src2%2FcreaImageIOSQLiteTreeHandler.cpp;h=b91308f12b85442a5f1397b208b8494920083e8c;hb=7c6f60361461c27cb809f3e5d0473f211801b813;hp=a7185fdd3abeb4e73d943982f6c80bb4d418761a;hpb=4f05b9a3ab42185e11fdcc3d55d71a5111ef9c2a;p=creaImageIO.git diff --git a/src2/creaImageIOSQLiteTreeHandler.cpp b/src2/creaImageIOSQLiteTreeHandler.cpp index a7185fd..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); } @@ -126,20 +127,15 @@ namespace creaImageIO } //===================================================================== - //===================================================================== int SQLiteTreeHandler::AddBranch( const AttributeMapType& attr ) { + mIsAdding=true; tree::Node* parent = DBGetParent(attr); DBGraftToParent(parent,attr); - int nChildren = GetNumberOfChildren(parent); - std::stringstream out; - out << nChildren; - if(parent->GetLevel()>0&&parent->GetLevel()GetLevel()+1); + } //===================================================================== @@ -664,20 +660,26 @@ 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 - tree::Node::ChildrenListType::iterator i; + + /*tree::Node::ChildrenListType::iterator i; for (i = node->GetChildrenList().begin(); i!= node->GetChildrenList().end(); ++i) { 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(); @@ -692,6 +694,7 @@ namespace creaImageIO CppSQLite3Query q; QUERYDB(query,q); + int p=0; while (!q.eof()) { nbloaded++; @@ -719,9 +722,11 @@ namespace creaImageIO } node->SetChildrenLoaded(true); + // msw[2].Pause(); return nbloaded; + } } //===================================================================== @@ -760,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"));