X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/619f45aa8a5f7c3baadebb30c31d22399fe609a9..51f5e2822cdcb8b433b1d117f186dfd8bb06e240:/include/wx/clntdata.h diff --git a/include/wx/clntdata.h b/include/wx/clntdata.h index dd208f111a..33fae4c104 100644 --- a/include/wx/clntdata.h +++ b/include/wx/clntdata.h @@ -12,34 +12,38 @@ #ifndef _WX_CLNTDATAH__ #define _WX_CLNTDATAH__ -#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) - #pragma interface "clntdata.h" -#endif - #include "wx/defs.h" #include "wx/string.h" #include "wx/hashmap.h" typedef int (*wxShadowObjectMethod)(void*, void*); -WX_DECLARE_STRING_HASH_MAP( wxShadowObjectMethod, wxShadowObjectMethods ); -WX_DECLARE_STRING_HASH_MAP( void*, wxShadowObjectFields ); +WX_DECLARE_STRING_HASH_MAP_WITH_DECL( + wxShadowObjectMethod, + wxShadowObjectMethods, + class WXDLLIMPEXP_BASE +); +WX_DECLARE_STRING_HASH_MAP_WITH_DECL( + void *, + wxShadowObjectFields, + class WXDLLIMPEXP_BASE +); class WXDLLIMPEXP_BASE wxShadowObject { public: wxShadowObject() { } - + void AddMethod( const wxString &name, wxShadowObjectMethod method ) - { + { wxShadowObjectMethods::iterator it = m_methods.find( name ); if (it == m_methods.end()) m_methods[ name ] = method; else it->second = method; } - + bool InvokeMethod( const wxString &name, void* window, void* param, int* returnValue ) - { + { wxShadowObjectMethods::iterator it = m_methods.find( name ); if (it == m_methods.end()) return false; @@ -49,7 +53,7 @@ public: *returnValue = ret; return true; } - + void AddField( const wxString &name, void* initialValue = NULL ) { wxShadowObjectFields::iterator it = m_fields.find( name ); @@ -58,7 +62,7 @@ public: else it->second = initialValue; } - + void SetField( const wxString &name, void* value ) { wxShadowObjectFields::iterator it = m_fields.find( name ); @@ -66,7 +70,7 @@ public: return; it->second = value; } - + void* GetField( const wxString &name, void *defaultValue = NULL ) { wxShadowObjectFields::iterator it = m_fields.find( name ); @@ -74,12 +78,13 @@ public: return defaultValue; return it->second; } - + private: wxShadowObjectMethods m_methods; wxShadowObjectFields m_fields; }; + // ---------------------------------------------------------------------------- // what kind of client data do we have? @@ -154,10 +159,7 @@ protected: }; -// not Motif-specific, but currently used only under Motif -#ifdef __WXMOTIF__ - -#include +#include "wx/vector.h" struct WXDLLIMPEXP_BASE wxClientDataDictionaryPair { @@ -167,7 +169,11 @@ struct WXDLLIMPEXP_BASE wxClientDataDictionaryPair wxClientData* data; }; -WX_DECLARE_VECTOR(wxClientDataDictionaryPair,wxClientDataDictionaryPairVector); +_WX_DECLARE_VECTOR( + wxClientDataDictionaryPair, + wxClientDataDictionaryPairVector, + WXDLLIMPEXP_BASE +); // this class is used internally to maintain the association between items // of (some subclasses of) wxControlWithItems and their client data @@ -263,8 +269,5 @@ private: wxClientDataDictionaryPairVector m_vec; }; -#endif // __WXMOTIF__ - -// ---------------------------------------------------------------------------- -#endif +#endif // _WX_CLNTDATAH__