X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/631787c478ab89fedabe9a6b70546f90d6b2a102..78cb09ec439962b53ba75fef814b9a3871412287:/docs/latex/wx/variant.tex?ds=sidebyside diff --git a/docs/latex/wx/variant.tex b/docs/latex/wx/variant.tex index a7cbd9e249..3bf09e16f7 100644 --- a/docs/latex/wx/variant.tex +++ b/docs/latex/wx/variant.tex @@ -72,6 +72,17 @@ IMPLEMENT_VARIANT_OBJECT(wxIcon) IMPLEMENT_VARIANT_OBJECT(wxBitmap) \end{verbatim} +Note that as of wxWidgets 2.9.0, wxVariantData no longer inherits from wxObject +and wxVariant no longer uses the type-unsafe wxList class for list +operations but the type-safe wxVariantList class. Also, wxVariantData now +supports the Clone function for implementing the \helpref{wxVariant::Unshare}{wxvariantunshare} function. +Clone is implemented automatically by IMPLEMENT\_VARIANT\_OBJECT. + +Since wxVariantData no longer derives from wxObject, any code that tests the type +of the data using wxDynamicCast will require adjustment. You can use the macro +wxDynamicCastVariantData with the same arguments as wxDynamicCast, to use C++ RTTI +type information instead of wxWidgets RTTI. + \wxheading{Derived from} \helpref{wxObject}{wxobject} @@ -80,6 +91,10 @@ IMPLEMENT_VARIANT_OBJECT(wxBitmap) +\wxheading{Library} + +\helpref{wxBase}{librarieslist} + \wxheading{See also} \helpref{wxVariantData}{wxvariantdata} @@ -119,7 +134,7 @@ Construction from a boolean value. Construction from a double-precision floating point value. -\func{}{wxVariant}{\param{const wxList\&}{ value}, \param{const wxString\& }{name = ``"}} +\func{}{wxVariant}{\param{const wxVariantList\&}{ value}, \param{const wxString\& }{name = ``"}} Construction from a list of wxVariant objects. This constructor copies {\it value}, the application is still responsible for @@ -147,15 +162,15 @@ Construction from an array of strings. This constructor copies {\it value} and \func{}{wxVariant}{\param{DATE\_STRUCT*}{ val}, \param{const wxString\& }{name = ``"}} -Construction from a odbc date value. Represented internally by a \helpref{wxDateTime}{wxdatetime} value. +Construction from a ODBC date value. Represented internally by a \helpref{wxDateTime}{wxdatetime} value. \func{}{wxVariant}{\param{TIME\_STRUCT*}{ val}, \param{const wxString\& }{name = ``"}} -Construction from a odbc time value. Represented internally by a \helpref{wxDateTime}{wxdatetime} value. +Construction from a ODBC time value. Represented internally by a \helpref{wxDateTime}{wxdatetime} value. \func{}{wxVariant}{\param{TIMESTAMP\_STRUCT*}{ val}, \param{const wxString\& }{name = ``"}} -Construction from a odbc timestamp value. Represented internally by a \helpref{wxDateTime}{wxdatetime} value. +Construction from a ODBC timestamp value. Represented internally by a \helpref{wxDateTime}{wxdatetime} value. \membersection{wxVariant::\destruct{wxVariant}}\label{wxvariantdtor} @@ -256,6 +271,13 @@ Returns the date value. Returns the floating point value. +\membersection{wxVariant::GetList}\label{wxvariantgetlist} + +\constfunc{wxVariantList &}{GetList}{\void} + +Returns a reference to the wxVariantList class used by +wxVariant if this wxVariant is currently a list of variants. + \membersection{wxVariant::GetLong}\label{wxvariantgetlong} \constfunc{long}{GetLong}{\void} @@ -278,7 +300,7 @@ Gets the string value. \constfunc{wxString}{GetType}{\void} -Returns the value type as a string. The built-in types are: bool, char, date, double, list, long, string, stringlist, time, void*. +Returns the value type as a string. The built-in types are: bool, char, datetime, double, list, long, string, arrstring, void*. If the variant is null, the value type returned is the string ``null" (not the empty string). @@ -349,6 +371,15 @@ is of type list, but the number of elements in the list is zero. Sets the internal variant data, deleting the existing data if there is any. +\membersection{wxVariant::Unshare}\label{wxvariantunshare} + +\func{bool}{Unshare}{\void} + +Makes sure that any data associated with this variant is not shared with other +variants. For this to work, \helpref{wxVariantData::Clone}{wxvariantdataclone} must +be implemented for the data types you are working with. Clone is implemented +for all the default data types. + \membersection{wxVariant::operator $=$}\label{wxvariantassignment} \func{void}{operator $=$}{\param{const wxVariant\& }{value}} @@ -371,7 +402,7 @@ Sets the internal variant data, deleting the existing data if there is any. \func{void}{operator $=$}{\param{wxObject* }{value}} -\func{void}{operator $=$}{\param{const wxList\& }{value}} +\func{void}{operator $=$}{\param{const wxVariantList\& }{value}} \func{void}{operator $=$}{\param{const wxDateTime\& }{value}} @@ -405,7 +436,7 @@ Assignment operators, using \helpref{reference counting}{trefcount} when possibl \constfunc{bool}{operator $==$}{\param{wxObject* }{value}} -\constfunc{bool}{operator $==$}{\param{const wxList\& }{value}} +\constfunc{bool}{operator $==$}{\param{const wxVariantList\& }{value}} \constfunc{bool}{operator $==$}{\param{const wxArrayString\& }{value}} @@ -433,7 +464,7 @@ Equality test operators. \constfunc{bool}{operator $!=$}{\param{wxObject* }{value}} -\constfunc{bool}{operator $!=$}{\param{const wxList\& }{value}} +\constfunc{bool}{operator $!=$}{\param{const wxVariantList\& }{value}} \constfunc{bool}{operator $!=$}{\param{const wxArrayString\& }{value}} @@ -505,13 +536,17 @@ Also note that the destructor is protected, so you can never explicitly delete a instance. Instead, \helpref{DecRef}{wxvariantdatadecref} will delete the object automatically when the reference count reaches zero. +\wxheading{Include files} + + + \wxheading{Derived from} -\helpref{wxObject}{wxobject} +No base class -\wxheading{Include files} +\wxheading{Library} - +\helpref{wxBase}{librarieslist} \wxheading{See also} @@ -525,6 +560,14 @@ when the reference count reaches zero. Default constructor. +\membersection{wxVariantData::Clone}\label{wxvariantdataclone} + +\constfunc{wxVariantData*}{Clone}{\void} + +This function can be overridden to clone the data. +Implement Clone if you wish \helpref{wxVariant::Unshare}{wxvariantunshare} to work +for your data. This function is implemented for all built-in data types. + \membersection{wxVariantData::DecRef}\label{wxvariantdatadecref} \func{void}{DecRef}{\void} @@ -536,7 +579,6 @@ Note that destructor of wxVariantData is protected, so delete cannot be used as normal. Instead, \helpref{DecRef}{wxvariantdatadecref} should be called. - \membersection{wxVariantData::Eq}\label{wxvariantdataeq} \constfunc{bool}{Eq}{\param{wxVariantData\&}{ data}}