00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027 #ifndef _NECHUNKIO_WIDGETLIB_H_
00028 #define _NECHUNKIO_WIDGETLIB_H_
00029
00030
00037 #include "base.h"
00038 #include "object.h"
00039
00040 #include <neoengine/loadableentity.h>
00041
00042 #include <vector>
00043
00044
00045 #ifdef HAVE_NEOCHUNKIO
00046
00047
00048 namespace NeoWTK
00049 {
00050
00051
00052 #ifdef WIN32
00053 # pragma warning( disable : 4231 )
00054 # ifndef __HAVE_VECTOR_NEWTKOBJECT
00055 WtkUDTVectorEXPIMP( class Object* );
00056 # define __HAVE_VECTOR_NEWTKOBJECT
00057 # endif
00058 #endif
00059
00060
00066 class NEOWTK_API WidgetLibrary : public NeoEngine::LoadableEntity, public Object
00067 {
00068 protected:
00069
00075 virtual bool LoadNode( unsigned int uiFlags = 0 );
00076
00077
00078 public:
00079
00081 static Object *s_pkRefRoot;
00082
00083
00088 WidgetLibrary( NeoEngine::FileManager *pkFileManager = 0 );
00089
00092 virtual ~WidgetLibrary();
00093 };
00094
00095
00101 class NEOWTK_API LibRefChunk : public NeoChunkIO::ComplexChunk
00102 {
00103 public:
00104
00111 LibRefChunk( unsigned short usType, const NeoEngine::HashString &rstrType, const NeoEngine::HashString &rstrID = "" ) : NeoChunkIO::ComplexChunk( usType, rstrType, rstrID ) {}
00112
00116 virtual ~LibRefChunk() {}
00117
00124 virtual int ParseData( unsigned int uiFlags, NeoEngine::FileManager *pkFileManager );
00125
00133 static NeoChunkIO::Chunk *Allocator( unsigned short usType, const NeoEngine::HashString &rstrType, const NeoEngine::HashString &rstrID ) { return new LibRefChunk( usType, rstrType, rstrID ); }
00134 };
00135
00136
00137 };
00138
00139
00140 #endif
00141
00142
00143 #endif
00144