X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;ds=sidebyside;f=src2%2FcreaImageIOTreeHandlerImageAdder.cpp;h=800a8b8f08ae65223edc8a4b0ebc4e02eaa87f64;hb=eb6dbb22921be6bf7061773b25205446619966c6;hp=ebfd2c594412a353fbcd025292497e1fa1168b3f;hpb=f1caae70392f96f30dd90eb073be6be10fbf1caa;p=creaImageIO.git diff --git a/src2/creaImageIOTreeHandlerImageAdder.cpp b/src2/creaImageIOTreeHandlerImageAdder.cpp index ebfd2c5..800a8b8 100644 --- a/src2/creaImageIOTreeHandlerImageAdder.cpp +++ b/src2/creaImageIOTreeHandlerImageAdder.cpp @@ -1,9 +1,10 @@ #include -#include -#include -#include +#include +#include "boost/filesystem.hpp" -using namespace crea; +namespace fs = boost::filesystem; + +//using namespace crea; namespace creaImageIO { @@ -29,7 +30,7 @@ namespace creaImageIO //===================================================================== bool TreeHandlerImageAdder::IsHandledFile( const std::string& filename) { - return (mReader.CanRead(filename,"")); + return (mReader.CanRead(filename)); } //===================================================================== @@ -42,29 +43,15 @@ namespace creaImageIO std::vector::const_iterator i; for (i=filenames.begin();i!=filenames.end();++i) { + mProgress.IncNumberScannedFiles(); if (IsHandledFile(*i)) { 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,16 +62,13 @@ namespace creaImageIO { mProgress.Reset(); AddDirectoryRecursor( directory, recurse ); + GimmickDebugMessage(3,mProgress< attr; mTreeHandler->GetTree().GetDescriptor().BuildAttributeMap(attr); @@ -102,68 +86,37 @@ namespace creaImageIO void TreeHandlerImageAdder::AddDirectoryRecursor(const std::string &dirpath, bool recursive) { - // std::cout << "dir : "<Pulse(std2wx(mess)); - } - */ - std::string fileName; - std::string dirName = dirpath; - - wxDir dir( std2wx(dirpath) ); - - if ( !dir.IsOpened() ) - { - // deal with the error here - wxDir would already log an error message - // explaining the exact reason of the failure - return; - } - - wxString filename; + GimmickDebugMessage(4,"Scanning '"<status()) ) { - mProgress.IncNumberHandledFiles(); - // std::cout << "handled : "<string(), recursive); } - // std::cout << "signal " << std::endl; - mProgressSignal(mProgress); - // std::cout << "cont " << std::endl; - cont = ( dir.GetNext(&filename) && (!mProgress.GetStop()) ); - // std::cout << "next" << std::endl; - } - - // Recurse into subdirs - if ( recursive ) - { - // std::cout << "recurse " << std::endl; - cont = dir.GetFirst(&filename, wxEmptyString, - wxDIR_DIRS | wxDIR_HIDDEN ); - while ( cont ) + else { - wxFileName wxffn(dir.GetName(),filename); - std::string ffn = wx2std(wxffn.GetFullPath()); - // std::cout << "goto "<string())) + { + mProgress.IncNumberHandledFiles(); + AddFile( itr->string() ); + } + mProgressSignal(mProgress); + if (mProgress.GetStop()) + { + //itr = end_itr; + break; + } } } - } //=======================================================================