| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119 | 
							- /////////////////////////////////////////////////////////////////////////////
 
- // Name:        wx/xtixml.h
 
- // Purpose:     xml streaming runtime metadata information (extended class info)
 
- // Author:      Stefan Csomor
 
- // Modified by:
 
- // Created:     27/07/03
 
- // Copyright:   (c) 2003 Stefan Csomor
 
- // Licence:     wxWindows licence
 
- /////////////////////////////////////////////////////////////////////////////
 
- #ifndef _WX_XTIXMLH__
 
- #define _WX_XTIXMLH__
 
- #include "wx/defs.h"
 
- #if wxUSE_EXTENDED_RTTI
 
- #include "wx/string.h"
 
- #include "wx/xtistrm.h"
 
- /*
 
- class WXDLLIMPEXP_XML wxXmlNode;
 
- class WXDLLIMPEXP_BASE wxPropertyInfo;
 
- class WXDLLIMPEXP_BASE wxObject;
 
- class WXDLLIMPEXP_BASE wxClassInfo;
 
- class WXDLLIMPEXP_BASE wxAnyList;
 
- class WXDLLIMPEXP_BASE wxHandlerInfo;
 
- class WXDLLIMPEXP_BASE wxObjectWriterCallback;
 
- */
 
- class WXDLLIMPEXP_XML wxObjectXmlWriter: public wxObjectWriter
 
- {
 
- public:
 
-     wxObjectXmlWriter( wxXmlNode * parent );
 
-     virtual ~wxObjectXmlWriter();
 
-     //
 
-     // streaming callbacks
 
-     //
 
-     // these callbacks really write out the values in the stream format
 
-     //
 
-     //
 
-     // streaming callbacks
 
-     //
 
-     // these callbacks really write out the values in the stream format
 
-     // begins writing out a new toplevel entry which has the indicated unique name
 
-     virtual void DoBeginWriteTopLevelEntry( const wxString &name );
 
-     // ends writing out a new toplevel entry which has the indicated unique name
 
-     virtual void DoEndWriteTopLevelEntry( const wxString &name );
 
-     // start of writing an object having the passed in ID
 
-     virtual void DoBeginWriteObject(const wxObject *object, 
 
-         const wxClassInfo *classInfo, int objectID, const wxStringToAnyHashMap &metadata );
 
-     // end of writing an toplevel object name param is used for unique 
 
-     // identification within the container
 
-     virtual void DoEndWriteObject(const wxObject *object, 
 
-         const wxClassInfo *classInfo, int objectID );
 
-     // writes a simple property in the stream format
 
-     virtual void DoWriteSimpleType( const wxAny &value );
 
-     // start of writing a complex property into the stream (
 
-     virtual void DoBeginWriteProperty( const wxPropertyInfo *propInfo );
 
-     // end of writing a complex property into the stream
 
-     virtual void DoEndWriteProperty( const wxPropertyInfo *propInfo );
 
-     virtual void DoBeginWriteElement();
 
-     virtual void DoEndWriteElement();
 
-     // insert an object reference to an already written object
 
-     virtual void DoWriteRepeatedObject( int objectID );
 
-     // insert a null reference
 
-     virtual void DoWriteNullObject();
 
-     // writes a delegate in the stream format
 
-     virtual void DoWriteDelegate( const wxObject *object,  
 
-         const wxClassInfo* classInfo, const wxPropertyInfo *propInfo,
 
-         const wxObject *eventSink, int sinkObjectID, 
 
-         const wxClassInfo* eventSinkClassInfo, const wxHandlerInfo* handlerIndo );
 
- private:
 
-     struct wxObjectXmlWriterInternal;
 
-     wxObjectXmlWriterInternal* m_data;
 
- };
 
- /*
 
- wxObjectXmlReader handles streaming in a class from XML
 
- */
 
- class WXDLLIMPEXP_XML wxObjectXmlReader: public wxObjectReader
 
- {
 
- public:
 
-     wxObjectXmlReader(wxXmlNode *parent) { m_parent = parent; }
 
-     virtual ~wxObjectXmlReader() {}
 
-     // Reads a component from XML.  The return value is the root object ID, which can
 
-     // then be used to ask the readercallback about that object
 
-     virtual int ReadObject( const wxString &name, wxObjectReaderCallback *readercallback );
 
- private:
 
-     int ReadComponent(wxXmlNode *parent, wxObjectReaderCallback *callbacks);
 
-     // read the content of this node (simple type) and return the corresponding value
 
-     wxAny ReadValue(wxXmlNode *Node, const wxTypeInfo *type );
 
-     wxXmlNode * m_parent;
 
- };
 
- #endif // wxUSE_EXTENDED_RTTI
 
- #endif
 
 
  |