00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014 #ifndef __DEMOPAJA_FILELISTC_H__
00015 #define __DEMOPAJA_FILELISTC_H__
00016
00017 namespace Import {
00018 class FileListC;
00019 };
00020
00021 #include "PajaTypes.h"
00022 #include "DataBlockI.h"
00023 #include "EditableI.h"
00024 #include "UndoC.h"
00025 #include <vector>
00026 #include "ImportableI.h"
00027 #include "FileHandleC.h"
00028 #include "FileIO.h"
00029 #include "ImportInterfaceC.h"
00030 #include "DeviceContextC.h"
00031 #include "TimeContextC.h"
00032 #include "ClassIdC.h"
00033
00034 namespace Import {
00035
00037
00044 class FileListC : public Edit::EditableI
00045 {
00046 public:
00048 static FileListC* create_new();
00050 virtual Edit::DataBlockI* create();
00052 virtual Edit::DataBlockI* create( Edit::EditableI* pOriginal );
00054 virtual void copy( Edit::EditableI* pEditable );
00056 virtual void restore( Edit::EditableI* pEditable );
00057
00059 virtual FileHandleC* add_file( ImportableI* pImportable, FileHandleC* pFolder );
00060 virtual FileHandleC* add_folder( const char* szName, FileHandleC* pFolder );
00062 virtual PajaTypes::uint32 get_file_count();
00063
00065
00071 virtual void reload_file( PajaTypes::uint32 ui32Index, ImportInterfaceC* pIface );
00073
00079 virtual void replace_file( PajaTypes::uint32 ui32Index, const char* szName, ImportInterfaceC* pIface );
00081 virtual FileHandleC* get_file( PajaTypes::uint32 ui32Index );
00083 virtual FileHandleC* get_file( const char* szName, const PluginClass::SuperClassIdC& rSuperFilter, const PluginClass::ClassIdC& rClassFilter );
00085 virtual FileHandleC* get_equal_file( ImportableI* pImportable );
00087 virtual void del_file( PajaTypes::uint32 ui32Index );
00089 virtual void del_file( FileHandleC* pHandle );
00091 virtual bool prompt_properties( PajaTypes::uint32 ui32Index, PajaSystem::DeviceContextC* pContext, PajaSystem::TimeContextC* pTimeContext, ImportInterfaceC* pIface );
00092
00093
00094 virtual PajaTypes::uint32 save( FileIO::SaveC* pSave );
00095
00096 virtual PajaTypes::uint32 load( FileIO::LoadC* pLoad );
00097
00098 protected:
00100 FileListC();
00102 FileListC( Edit::EditableI* pOriginal );
00104 virtual ~FileListC();
00105
00107 void clear_list();
00108
00109 private:
00110 std::vector<FileHandleC*> m_rFiles;
00111
00112 };
00113
00114 };
00115
00116 #endif // __DEMOPAJA_FILELISTC_H__