]> git.saurik.com Git - wxWidgets.git/blobdiff - docs/latex/wx/object.tex
Limit indentation in style listbox, and also show centring
[wxWidgets.git] / docs / latex / wx / object.tex
index a93d8e02d1919886e98070b6165b7b4ad2013a6d..e5999513cd2c874da8b16789a89df980bb315cd5 100644 (file)
@@ -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.