--- /dev/null
+\section{\class{wxClientData}}\label{wxclientdata}
+
+All classes deriving from \helpref{wxEvtHandler}{wxevthandler}
+(such as all controls and \helpref{wxApp}{wxapp})
+can hold arbitrary data which is here referred to as "client data".
+This is useful e.g. for scripting languages which need to handle
+shadow objects for most of wxWindows' classes and which store
+a handle to such a shadow class as client data in that class.
+This data can either be of type void - in which case the data
+{\it container} does not take care of freeing the data again
+or it is of type wxClientData or its derivates. In that case the
+container (e.g. a control) will free the memory itself later.
+Note that you {\it must not} assign both void data and data
+derived from the wxClientData class to a container.
+
+Some controls can hold various items and these controls can
+additionally hold client data for each item. This is the case for
+\helpref{wxChoice}{wxchoice}, \helpref{wxComboBox}{wxcombobox}
+and \helpref{wxListBox}{wxlistbox}. \helpref{wxTreeCtrl}{wxtreectrl}
+has a specialized class \helpref{wxTreeItemData}{wxtreeitemdata}
+for each item in the tree.
+
+If you want to add client data to your own classes, you may
+use the mix-in class \helpref{wxClientDataContainer}{wxclientdatacontainer}.
+
+\wxheading{Include files}
+
+<wx/clntdata.h>
+
+\wxheading{See also}
+
+\helpref{wxEvtHandler}{wxevthandler}, \helpref{wxTreeItemData}{wxtreeitemdata},
+\helpref{wxStringClientData}{wxstringclientdata}, \helpref{wxClientDataContainer}{wxclientdatacontainer}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+
+\membersection{wxClientData::wxClientData}\label{wxclientdatawxclientdata}
+
+\func{}{wxClientData}{\void}
+
+Constructor.
+
+\membersection{wxClientData::\destruct{wxClientData}}\label{wxclientdatadtor}
+
+\func{}{\destruct{wxClientData}}{\void}
+
+Virtual destructor.
+
+\section{\class{wxClientDataContainer}}\label{wxclientdatacontainer}
+
+This class is a mixin that provides storage and management of "client
+data." This data can either be of type void - in which case the data
+{\it container} does not take care of freeing the data again
+or it is of type wxClientData or its derivates. In that case the
+container will free the memory itself later.
+Note that you {\it must not} assign both void data and data
+derived from the wxClientData class to a container.
+
+NOTE: This functionality is currently duplicated in wxEvtHandler in
+order to avoid having more than one vtable in that class heirachy.
+
+\wxheading{See also}
+
+\helpref{wxEvtHandler}{wxevthandler}, \helpref{wxClientData}{wxclientdata}
+
+\wxheading{Derived from}
+
+No base class
+
+\wxheading{Include files}
+
+<clntdata.h>
+
+\wxheading{Data structures}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+
+\membersection{wxClientDataContainer::wxClientDataContainer}\label{wxclientdatacontainerwxclientdatacontainer}
+
+\func{}{wxClientDataContainer}{\void}
+
+
+\membersection{wxClientDataContainer::\destruct{wxClientDataContainer}}\label{wxclientdatacontainerdtor}
+
+\func{}{\destruct{wxClientDataContainer}}{\void}
+
+
+\membersection{wxClientDataContainer::GetClientData}\label{wxclientdatacontainergetclientdata}
+
+\constfunc{void*}{GetClientData}{\void}
+
+Get the untyped client data.
+
+\membersection{wxClientDataContainer::GetClientObject}\label{wxclientdatacontainergetclientobject}
+
+\constfunc{wxClientData*}{GetClientObject}{\void}
+
+Get a pointer to the client data object.
+
+\membersection{wxClientDataContainer::SetClientData}\label{wxclientdatacontainersetclientdata}
+
+\func{void}{SetClientData}{\param{void* }{data}}
+
+Set the untyped client data.
+
+\membersection{wxClientDataContainer::SetClientObject}\label{wxclientdatacontainersetclientobject}
+
+\func{void}{SetClientObject}{\param{wxClientData* }{data}}
+
+Set the client data object. Any previous object will be deleted.
+
\helpref{wxEvtHandler::SetClientData}{wxevthandlersetclientdata}
+\membersection{wxEvtHandler::GetClientObject}\label{wxevthandlergetclientobject}
+
+\constfunc{wxClientData*}{GetClientObject}{\void}
+
+Get a pointer to the user-supplied client data object.
+
+\wxheading{See also}
+
+\helpref{wxEvtHandler::SetClientObject}{wxevthandlersetclientobject},
+\helpref{wxClientData}{wxclientdata}
+
\membersection{wxEvtHandler::GetEvtHandlerEnabled}\label{wxevthandlergetevthandlerenabled}
\func{bool}{GetEvtHandlerEnabled}{\void}
Normally, any extra data the programmer wishes to associate with
the object should be made available by deriving a new class
-with new data members.
+with new data members. You must not call this method and
+\helpref{SetClientObject}{wxevthandlersetclientobject} on the
+same class - only one of them.
\wxheading{See also}
\helpref{wxEvtHandler::GetClientData}{wxevthandlergetclientdata}
+\membersection{wxEvtHandler::SetClientObject}\label{wxevthandlersetclientobject}
+
+\func{void}{SetClientObject}{\param{wxClientData* }{data}}
+
+Set the client data object. Any previous object will be deleted.
+
+\wxheading{See also}
+
+\helpref{wxEvtHandler::GetClientObject}{wxevthandlergetclientobject},
+\helpref{wxClientData}{wxclientdata}
+
\membersection{wxEvtHandler::SetEvtHandlerEnabled}\label{wxevthandlersetevthandlerenabled}
\func{void}{SetEvtHandlerEnabled}{\param{bool }{enabled}}
--- /dev/null
+\section{\class{wxStringClientData}}\label{wxstringclientdata}
+
+Predefined client data class for holding a string.
+
+\wxheading{Derived from}
+
+\helpref{wxClientData}{wxclientdata}
+
+\wxheading{Include files}
+
+<clntdata.h>
+
+\wxheading{Data structures}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+
+\membersection{wxStringClientData::wxStringClientData}\label{wxstringclientdatawxstringclientdata}
+
+\func{}{wxStringClientData}{\void}
+
+Empty constructor.
+
+\func{}{wxStringClientData}{\param{const wxString\& }{data}}
+
+Create client data with string.
+
+\membersection{wxStringClientData::GetData}\label{wxstringclientdatagetdata}
+
+\constfunc{const wxString\&}{GetData}{\void}
+
+Get string client data.
+
+\membersection{wxStringClientData::SetData}\label{wxstringclientdatasetdata}
+
+\func{void}{SetData}{\param{const wxString\& }{data}}
+
+Set string client data.
+