X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;ds=sidebyside;f=src2%2FcreaImageIOGimmick.h;h=b61874b0831c4e39044f82d892bd1b36157e4fe5;hb=2f0e50f69eb904d629cf8db62eb9a4094db93097;hp=4911b9913281802f0d9e654d235b456f13a73337;hpb=fcfe92562365cb738cf919d095d2f8d3608ec389;p=creaImageIO.git diff --git a/src2/creaImageIOGimmick.h b/src2/creaImageIOGimmick.h index 4911b99..b61874b 100644 --- a/src2/creaImageIOGimmick.h +++ b/src2/creaImageIOGimmick.h @@ -2,6 +2,7 @@ #define __creaImageIOGimmick_h_INCLUDED__ #include +#include namespace creaImageIO { @@ -17,6 +18,12 @@ namespace creaImageIO /** * \defgroup GUI Top level graphical user interfaces */ + /** + * \defgroup IO Image I/O classes + */ + /** + * \defgroup Tree Attributed tree management + */ /** * \ingroup Controller @@ -32,6 +39,24 @@ namespace creaImageIO /// Dtor ~Gimmick(); + /// + typedef TreeHandlerImageAdder::Progress AddProgress; + typedef TreeHandlerImageAdder::ProgressCallbackType AddProgressCallbackType; + + /// Adds the function f to the list of functions to call + /// when addition operations progres. + /// f is of type AddProgressCallbackType which is: + /// void (*AddProgressCallbackType)(AddProgress&) + /// To pass a member function 'f' of an instance 'c' of a class 'C' + /// as callback you have to 'bind' it, i.e. call: + /// ConnectAddProgressObserver ( boost::bind( &C::f , c, _1 ) ); + void ConnectAddProgressObserver( AddProgressCallbackType callback ) + { mImageAdder.ConnectProgressObserver(callback); } + + + /// + const AddProgress& GetAddProgress() const { return mImageAdder.GetProgress(); } + /// Initialize (read/creates databases, etc.) void Initialize(); @@ -53,8 +78,10 @@ namespace creaImageIO { return mTreeHandlerMap; } - /// Add a file to the given TreeHandler - void AddFile(const std::string& handler, const std::string& filename); + /// Add the files to the given TreeHandler + void AddFiles(const std::string& handler, + const std::vector& filenames); + /// Add a dir to the given TreeHandler void AddDir(const std::string& handler, const std::string& path, bool recurse); @@ -79,6 +106,8 @@ namespace creaImageIO void CreateUserSettingsDirectory(); const std::string& GetLocalDatabasePath(); + + //============================================= private: SQLiteTreeHandler* mLocalDatabase; TreeHandlerMapType mTreeHandlerMap; @@ -87,7 +116,8 @@ namespace creaImageIO std::string mHomeDirectory; std::string mUserSettingsDirectory; std::string mLocalDatabasePath; - + + TreeHandlerImageAdder mImageAdder; }; // EO class Gimmick //=======================================================================