X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/88a9f974b8d98b194174270c575cc6cb9b2b5bd3..52750c2e106113bc8d1c46289474adfd405d5ade:/include/wx/clntdata.h?ds=sidebyside diff --git a/include/wx/clntdata.h b/include/wx/clntdata.h index e91f2391b2..a632635ad8 100644 --- a/include/wx/clntdata.h +++ b/include/wx/clntdata.h @@ -13,10 +13,11 @@ #define _WX_CLNTDATAH__ #ifdef __GNUG__ - #pragma interface "event.h" + #pragma interface "clntdata.h" #endif #include "wx/defs.h" +#include "wx/string.h" // ---------------------------------------------------------------------------- @@ -48,16 +49,22 @@ private: }; + +// This class is a mixin that provides storage and management of "client +// data." The client data stored can either be a pointer to a wxClientData +// object in which case it is managed by the container (i.e. it will delete +// the data when it's destroyed) or an untyped pointer which won't be deleted +// by the container - but not both of them +// +// NOTE: This functionality is currently duplicated in wxEvtHandler in order +// to avoid having more than one vtable in that class heirachy. + class WXDLLEXPORT wxClientDataContainer { public: wxClientDataContainer(); - ~wxClientDataContainer(); + virtual ~wxClientDataContainer(); - // each window may have associated client data: either a pointer to - // wxClientData object in which case it is managed by the window (i.e. - // it will delete the data when it's destroyed) or an untyped pointer - // which won't be deleted by the window - but not both of them void SetClientObject( wxClientData *data ) { DoSetClientObject(data); } wxClientData *GetClientObject() const { return DoGetClientObject(); } @@ -65,11 +72,11 @@ public: void *GetClientData() const { return DoGetClientData(); } protected: - // user data associated with the window: either an object which will be - // deleted by the window when it's deleted or some raw pointer which we do - // nothing with - only one type of data can be used with the given window - // (i.e. you cannot set the void data and then associate the window with - // wxClientData or vice versa) + // The user data: either an object which will be deleted by the container + // when it's deleted or some raw pointer which we do nothing with - only + // one type of data can be used with the given window (i.e. you cannot set + // the void data and then associate the container with wxClientData or vice + // versa) union { wxClientData *m_clientObject;