X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src2%2FcreaImageIOTreeHandlerImageAdder.cpp;h=e384e99c7f3c1b674f939b80f668f3e87aaa7c34;hb=b44e1db0d66c00e0726e88dd49c5d8fbb775f558;hp=ebfd2c594412a353fbcd025292497e1fa1168b3f;hpb=f1caae70392f96f30dd90eb073be6be10fbf1caa;p=creaImageIO.git diff --git a/src2/creaImageIOTreeHandlerImageAdder.cpp b/src2/creaImageIOTreeHandlerImageAdder.cpp index ebfd2c5..e384e99 100644 --- a/src2/creaImageIOTreeHandlerImageAdder.cpp +++ b/src2/creaImageIOTreeHandlerImageAdder.cpp @@ -1,9 +1,13 @@ #include -#include -#include -#include +#include +//#include +//#include -using namespace crea; +#include "boost/filesystem.hpp" + +namespace fs = boost::filesystem; + +//using namespace crea; namespace creaImageIO { @@ -29,7 +33,7 @@ namespace creaImageIO //===================================================================== bool TreeHandlerImageAdder::IsHandledFile( const std::string& filename) { - return (mReader.CanRead(filename,"")); + return (mReader.CanRead(filename)); } //===================================================================== @@ -47,24 +51,9 @@ namespace creaImageIO { mProgress.IncNumberHandledFiles(); AddFile(*i); - - - /* - if (progress) - { - std::string mess("Adding "); - mess += *i; - if (!progress->Update( (int)(summary.added_images*999./nbf), - std2wx(mess))) - { - // Some file was added hence we must return true ! - summary.cancelled_by_user = true; - break; - } - } - */ } mProgressSignal(mProgress); + if (mProgress.GetStop()) break; } } //===================================================================== @@ -75,6 +64,7 @@ namespace creaImageIO { mProgress.Reset(); AddDirectoryRecursor( directory, recurse ); + GimmickDebugMessage(3,mProgress< attr; mTreeHandler->GetTree().GetDescriptor().BuildAttributeMap(attr); @@ -102,16 +92,37 @@ namespace creaImageIO void TreeHandlerImageAdder::AddDirectoryRecursor(const std::string &dirpath, bool recursive) { - // std::cout << "dir : "<Pulse(std2wx(mess)); + // If is directory & recurse : do recurse + if ( fs::is_directory(itr->status()) ) + { + if (recursive) AddDirectoryRecursor( itr->string(), recursive); + } + else + { + mProgress.IncNumberScannedFiles(); + if (IsHandledFile(itr->string())) + { + mProgress.IncNumberHandledFiles(); + AddFile( itr->string() ); + } + mProgressSignal(mProgress); + if (mProgress.GetStop()) break; + } } - */ + } + + /* + std::string fileName; std::string dirName = dirpath; @@ -134,37 +145,31 @@ namespace creaImageIO wxFileName wxffn(dir.GetName(),filename); std::string ffn = wx2std(wxffn.GetFullPath()); - // std::cout << "file : "<