]> Creatis software - creaImageIO.git/commitdiff
*** empty log message ***
authorguigues <guigues>
Tue, 24 Feb 2009 21:36:09 +0000 (21:36 +0000)
committerguigues <guigues>
Tue, 24 Feb 2009 21:36:09 +0000 (21:36 +0000)
appli/gimmick/main.cxx
src2/creaImageIOTreeHandlerImageAdder.cpp
src2/creaImageIOTreeHandlerImageAdder.h
src2/creaImageIOVtkImageReader.cpp

index a39b1e2d2f13c998eee0592ac9e95f6f8b1dab5e..397a4f9f6670a7c84d06b4f9b8b71ff8d5b79305 100644 (file)
@@ -5,7 +5,7 @@
 int main(int argc, char* argv[])
 {
   gengetopt_args_info args;
-  if (cmdline_parser (argc, argv, &args) != 0) exit(1) ;
+  if (cmdline_parser (argc, argv, &args) != 0) return 0 ;
      
   creaImageIO::Gimmick g;
   if (args.verbose_given) g.SetMessageLevel(args.verbose_arg);
@@ -19,7 +19,7 @@ int main(int argc, char* argv[])
   if (!something_to_do)
     {
       std::cout << "Nothing to do !" << std::endl;
-      exit(0);
+      return 0;
     }
 
   std::string handler("Local database");
index 057f16eb51e994563a107e3d0f7bfd374c17ba37..e384e99c7f3c1b674f939b80f668f3e87aaa7c34 100644 (file)
@@ -1,9 +1,13 @@
 #include <creaImageIOTreeHandlerImageAdder.h>
-#include <creaWx.h>
-#include <wx/dir.h>
-#include <wx/filename.h>
+#include <creaImageIOSystem.h>
+//#include <wx/dir.h>
+//#include <wx/filename.h>
 
-using namespace crea;
+#include "boost/filesystem.hpp"
+
+namespace fs = boost::filesystem;
+
+//using namespace crea;
 
 namespace creaImageIO
 {
@@ -60,6 +64,7 @@ namespace creaImageIO
   {
     mProgress.Reset();
     AddDirectoryRecursor( directory, recurse );
+    GimmickDebugMessage(3,mProgress<<std::endl);
   }
   //=====================================================================
 
@@ -69,7 +74,7 @@ namespace creaImageIO
   //=====================================================================
   void TreeHandlerImageAdder::AddFile( const std::string& filename )
   {
-    
+    GimmickDebugMessage(4,"Adding '"<<filename<<"'"<<std::endl);
     std::map< std::string, std::string>  attr;
     mTreeHandler->GetTree().GetDescriptor().BuildAttributeMap(attr);
 
@@ -87,8 +92,37 @@ namespace creaImageIO
   void TreeHandlerImageAdder::AddDirectoryRecursor(const std::string &dirpath, 
                                                   bool recursive)
   {
+    GimmickDebugMessage(4,"Scanning '"<<dirpath<<"'"<<std::endl);
     mProgress.IncNumberScannedDirs();
 
+    if ( !fs::exists( dirpath ) ) return;
+    
+    fs::directory_iterator end_itr; // default construction yields past-the-end
+    for ( fs::directory_iterator itr( dirpath );
+         itr != end_itr;
+         ++itr )
+      {
+       // 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;
 
@@ -133,8 +167,9 @@ namespace creaImageIO
            cont = dir.GetNext(&filename);
          }
       }
-    
-  }
+  
+  */
+  
   //=======================================================================
 
 
index 48158530e295d3ae626cc0b1ffc25d7fc43a65c2..72ae35055258394b0304b6ed26a2635fa8aa2ba3 100644 (file)
@@ -123,8 +123,22 @@ namespace creaImageIO
   //=======================================================================
 
 
+
+
 } // EO namespace creaImageIO
 
+#include <iostream>
+inline std::ostream& operator << ( std::ostream& o, 
+                           const creaImageIO::TreeHandlerImageAdder::Progress& p)
+{
+  o << p.GetNumberScannedFiles() << " files - "
+    << p.GetNumberScannedDirs() << " dirs - "
+    << p.GetNumberHandledFiles() << " handled -"
+    << p.GetNumberAddedFiles() << " added";
+  return o;
+}
+
 // EOF
 #endif  
 
index 90a83ebd7084af39d923bbf839bb3030fcf66e7b..66f7059314a3096edb1c53ea91e77bf6afeb27ce 100644 (file)
@@ -20,7 +20,8 @@ namespace creaImageIO
       {
        SetName ( name );
       }
-
+    GimmickDebugMessage(5,"Constructing vtkImageReader : "<<GetName()
+                       <<std::endl);
       
   }
   //=====================================================================
@@ -28,6 +29,8 @@ namespace creaImageIO
   //=====================================================================
   VtkImageReader::~VtkImageReader()
   {
+    GimmickDebugMessage(5,"Destructing vtkImageReader : "<<GetName()
+                       <<std::endl);
     mReader->Delete();
   }
   //=====================================================================