X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/cd4915e2c915d6c7611b38fa5182e2d84d1ca669..380a5dd80316202b472967e898feba1386ea5345:/docs/latex/wx/object.tex diff --git a/docs/latex/wx/object.tex b/docs/latex/wx/object.tex index a93d8e02d1..e5999513cd 100644 --- a/docs/latex/wx/object.tex +++ b/docs/latex/wx/object.tex @@ -1,6 +1,6 @@ \section{\class{wxObject}}\label{wxobject} -This is the root class of all wxWindows classes. +This is the root class of all wxWidgets classes. It declares a virtual destructor which ensures that destructors get called for all derived class objects where necessary. @@ -12,8 +12,8 @@ The class contains optional debugging versions of {\bf new} and {\bf delete}, which can help trace memory allocation and deallocation problems. -wxObject can be used to implement reference counted objects, such as -wxPen, wxBitmap and others. +wxObject can be used to implement \helpref{reference counted}{trefcount} objects, +such as wxPen, wxBitmap and others (see \helpref{this list}{refcountlist}). \wxheading{See also} @@ -22,13 +22,15 @@ wxPen, wxBitmap and others. \latexignore{\rtfignore{\wxheading{Members}}} -\membersection{wxObject::wxObject}\label{wxobjectconstr} +\membersection{wxObject::wxObject}\label{wxobjectctor} \func{}{wxObject}{\void} -Default constructor. +\func{}{wxObject}{\param{const wxObject\&}{ other}} -\membersection{wxObject::\destruct{wxObject}} +Default and copy constructors. + +\membersection{wxObject::\destruct{wxObject}}\label{wxobjectdtor} \func{}{wxObject}{\void} @@ -48,32 +50,29 @@ Pointer to an object which is the object's reference-counted data. \helpref{wxObject::GetRefData}{wxobjectgetrefdata},\rtfsp \helpref{wxObjectRefData}{wxobjectrefdata} -\membersection{wxObject::CopyObject}\label{wxobjectcopyobject} - -\func{virtual void}{CopyObject}{\param{wxObject\&}{ object\_dest}} - -Create a copy of this object in object\_dest. Must perform a full copy of self -so that object\_dest will be valid after this object is deleted - \membersection{wxObject::Dump}\label{wxobjectdump} \func{void}{Dump}{\param{ostream\&}{ stream}} -A virtual function that should be redefined by derived classes to allow dumping of +A virtual function that may be redefined by derived classes to allow dumping of memory states. +This function is only defined in debug build and doesn't exist at all if +{\tt \_\_WXDEBUG\_\_} is not defined. + \wxheading{Parameters} \docparam{stream}{Stream on which to output dump information.} \wxheading{Remarks} -Currently wxWindows does not define Dump for derived classes, but +Currently wxWidgets does not define Dump for derived classes, but programmers may wish to use it for their own applications. Be sure to -call the Dump member of the class's base class to allow all information to be dumped. +call the Dump member of the class's base class to allow all information to be +dumped. -The implementation of this function just writes the class name of the object -in debug build (\_\_WXDEBUG\_\_ defined), otherwise it does nothing. +The implementation of this function in wxObject just writes the class name of +the object. \membersection{wxObject::GetClassInfo}\label{wxobjectgetclassinfo} @@ -108,7 +107,7 @@ by using the CLASSINFO macro.} \wxheading{Return value} -TRUE if the class represented by {\it info} is the same class as +true if the class represented by {\it info} is the same class as this one or is derived from it. \wxheading{Example} @@ -117,6 +116,16 @@ this one or is derived from it. bool tmp = obj->IsKindOf(CLASSINFO(wxFrame)); \end{verbatim} +\membersection{wxObject::IsSameAs}\label{wxobjectissameas} + +\func{bool}{IsSameAs}{\param{const wxObject\& }{ obj}} + +Returns \true if this object has the same data pointer as \arg{obj}. Notice +that \true is returned if the data pointers are \NULL in both objects. + +This function only does a \emph{shallow} comparison, i.e. it doesn't compare +the objects pointed to by the data pointers of these objects. + \membersection{wxObject::Ref}\label{wxobjectref} \func{void}{Ref}{\param{const wxObject\& }{clone}} @@ -166,6 +175,17 @@ The {\bf m\_refData} member is set to NULL. \helpref{wxObject::SetRefData}{wxobjectsetrefdata}, \helpref{wxObject::GetRefData}{wxobjectgetrefdata},\rtfsp \helpref{wxObjectRefData}{wxobjectrefdata} +\membersection{wxObject::UnShare}\label{wxobjectunshare} + +\func{void}{UnShare}{\void} + +Ensure that this object's data is not shared with any other object. + +if we have no +data, it is created using CreateRefData() below, if we have shared data +it is copied using CloneRefData(), otherwise nothing is done. + + \membersection{wxObject::operator new}\label{wxobjectnew} \func{void *}{new}{\param{size\_t }{size}, \param{const wxString\& }{filename = NULL}, \param{int}{ lineNum = 0}} @@ -198,23 +218,24 @@ you will need to cast to your own derived class. \latexignore{\rtfignore{\wxheading{Members}}} -\membersection{wxObjectRefData::m\_count} -\member{int}{m\_count} - -Reference count. When this goes to zero during a \helpref{wxObject::UnRef}{wxobjectunref}, an object -can delete the {\bf wxObjectRefData} object. - -\membersection{wxObjectRefData::wxObjectRefData}\label{wxobjectrefdataconstr} +\membersection{wxObjectRefData::wxObjectRefData}\label{wxobjectrefdatactor} \func{}{wxObjectRefData}{\void} Default constructor. Initialises the {\bf m\_count} member to 1. -\membersection{wxObjectRefData::\destruct{wxObjectRefData}} +\membersection{wxObjectRefData::\destruct{wxObjectRefData}}\label{wxobjectrefdatadtor} \func{}{wxObjectRefData}{\void} Destructor. +\membersection{wxObjectRefData::GetRefCount}\label{wxobjectrefdatagetrefcount} + +\constfunc{int}{GetRefCount}{\void} + +Returns the reference count associated with this shared data. +When this goes to zero during a \helpref{wxObject::UnRef}{wxobjectunref}, an object +can delete this {\bf wxObjectRefData} object.