X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/12f5e1e78fe906050ff2fee9529476db332633f0..2028c33ab5a39a12bd410ac953731a56ad6377ba:/interface/wx/variant.h diff --git a/interface/wx/variant.h b/interface/wx/variant.h index 6b0c5d5006..42575ddc77 100644 --- a/interface/wx/variant.h +++ b/interface/wx/variant.h @@ -97,75 +97,85 @@ public: Default constructor. */ wxVariant(); - + /** Constructs a variant directly with a wxVariantData object. wxVariant will take ownership of the wxVariantData and will not increase its reference count. */ - wxVariant(wxVariantData* data, const wxString& name = ""); - + wxVariant(wxVariantData* data, const wxString& name = wxEmptyString); + /** Constructs a variant from another variant by increasing the reference count. */ wxVariant(const wxVariant& variant); - + /** Constructs a variant from a wide string literal. */ - wxVariant(const wxChar* value, const wxString& name = ""); - + wxVariant(const wxChar* value, const wxString& name = wxEmptyString); + /** Constructs a variant from a string. */ - wxVariant(const wxString& value, const wxString& name = ""); - + wxVariant(const wxString& value, const wxString& name = wxEmptyString); + /** Constructs a variant from a wide char. */ - wxVariant(wxChar value, const wxString& name = ""); - + wxVariant(wxChar value, const wxString& name = wxEmptyString); + /** Constructs a variant from a long. */ - wxVariant(long value, const wxString& name = ""); - + wxVariant(long value, const wxString& name = wxEmptyString); + /** Constructs a variant from a bool. */ - wxVariant(bool value, const wxString& name = ""); - + wxVariant(bool value, const wxString& name = wxEmptyString); + /** Constructs a variant from a double. */ - wxVariant(double value, const wxString& name = ""); - + wxVariant(double value, const wxString& name = wxEmptyString); + + /** + Constructs a variant from a wxLongLong. + */ + wxVariant(wxLongLong value, const wxString& name = wxEmptyString); + + /** + Constructs a variant from a wxULongLong. + */ + wxVariant(wxULongLong value, const wxString& name = wxEmptyString); + /** Constructs a variant from a list of variants */ - wxVariant(const wxVariantList& value, const wxString& name = ""); - + wxVariant(const wxVariantList& value, const wxString& name = wxEmptyString); + /** Constructs a variant from a void pointer. */ - wxVariant(void* value, const wxString& name = ""); - + wxVariant(void* value, const wxString& name = wxEmptyString); + /** Constructs a variant from a pointer to an wxObject derived class. */ - wxVariant(wxObject* value, const wxString& name = ""); - + wxVariant(wxObject* value, const wxString& name = wxEmptyString); + /** Constructs a variant from a wxDateTime. */ - wxVariant(wxDateTime& val, const wxString& name = ""); - + wxVariant(const wxDateTime& val, const wxString& name = wxEmptyString); + /** Constructs a variant from a wxArrayString. */ - wxVariant(wxArrayString& val, const wxString& name = ""); + wxVariant(const wxArrayString& val, const wxString& name = wxEmptyString); /** Destructor. @@ -175,7 +185,7 @@ public: called. See @ref overview_refcount_destruct "reference-counted object destruction" for more info. */ - ~wxVariant(); + virtual ~wxVariant(); /** @@ -250,6 +260,8 @@ public: bool Convert(double* value) const; bool Convert(wxString* value) const; bool Convert(wxChar* value) const; + bool Convert(wxLongLong* value) const; + bool Convert(wxULongLong* value) const; bool Convert(wxDateTime* value) const; //@} @@ -266,7 +278,7 @@ public: /** Returns the character value. */ - wxChar GetChar() const; + wxUniChar GetChar() const; /** Returns a pointer to the internal variant data. To take ownership of @@ -290,10 +302,15 @@ public: */ long GetLong() const; + /** + Returns the signed 64-bit integer value. + */ + wxLongLong GetLongLong() const; + /** Returns a constant reference to the variant name. */ - const wxString GetName() const; + const wxString& GetName() const; /** Gets the string value. @@ -310,7 +327,9 @@ public: - "double" - "list" - "long" + - "longlong" - "string" + - "ulonglong" - "arrstring" - "void*" @@ -319,8 +338,16 @@ public: */ wxString GetType() const; + /** + Returns the unsigned 64-bit integer value. + */ + wxULongLong GetULongLong() const; + /** Gets the void pointer value. + + Notice that this method can be used for null objects (i.e. those for + which IsNull() returns @true) and will return @NULL for them. */ void* GetVoidPtr() const; @@ -384,9 +411,11 @@ public: bool operator !=(const wxString& value) const; bool operator !=(const wxChar* value) const; bool operator !=(wxChar value) const; - bool operator !=(const long value) const; - bool operator !=(const bool value) const; - bool operator !=(const double value) const; + bool operator !=(long value) const; + bool operator !=(bool value) const; + bool operator !=(double value) const; + bool operator !=(wxLongLong value) const; + bool operator !=(wxULongLong value) const; bool operator !=(void* value) const; bool operator !=(wxObject* value) const; bool operator !=(const wxVariantList& value) const; @@ -404,9 +433,11 @@ public: void operator =(const wxString& value); void operator =(const wxChar* value); void operator =(wxChar value); - void operator =(const long value); - void operator =(const bool value); - void operator =(const double value); + void operator =(long value); + void operator =(bool value); + void operator =(double value); + bool operator =(wxLongLong value) const; + bool operator =(wxULongLong value) const; void operator =(void* value); void operator =(wxObject* value); void operator =(const wxVariantList& value); @@ -422,9 +453,11 @@ public: bool operator ==(const wxString& value) const; bool operator ==(const wxChar* value) const; bool operator ==(wxChar value) const; - bool operator ==(const long value) const; - bool operator ==(const bool value) const; - bool operator ==(const double value) const; + bool operator ==(long value) const; + bool operator ==(bool value) const; + bool operator ==(double value) const; + bool operator ==(wxLongLong value) const; + bool operator ==(wxULongLong value) const; bool operator ==(void* value) const; bool operator ==(wxObject* value) const; bool operator ==(const wxVariantList& value) const; @@ -434,10 +467,13 @@ public: //@{ /** - Operator for implicit conversion to a long, using GetLong(). + Operators for implicit conversion, using appropriate getter member + function. */ double operator double() const; long operator long() const; + wxLongLong operator wxLongLong() const; + wxULongLong operator wxULongLong() const; //@} /** @@ -487,7 +523,7 @@ public: @see wxVariant, wxGetVariantCast() */ -class wxVariantData +class wxVariantData : public wxObjectRefData { public: /** @@ -500,7 +536,7 @@ public: this function in order for wxVariant::Unshare() to work for your data. This function is implemented for all built-in data types. */ - wxVariantData* Clone() const; + virtual wxVariantData* Clone() const; /** Decreases reference count. If the count reaches zero, the object is @@ -514,18 +550,18 @@ public: /** Returns @true if this object is equal to @a data. */ - bool Eq(wxVariantData& data) const; + virtual bool Eq(wxVariantData& data) const = 0; /** Returns the string type of the data. */ - wxString GetType() const; + virtual wxString GetType() const = 0; /** If the data is a wxObject returns a pointer to the objects wxClassInfo structure, if the data isn't a wxObject the method returns @NULL. */ - wxClassInfo* GetValueClassInfo() const; + virtual wxClassInfo* GetValueClassInfo(); /** Increases reference count. Note that initially wxVariantData has @@ -536,20 +572,21 @@ public: /** Reads the data from @a stream. */ - bool Read(ostream& stream); + virtual bool Read(istream& stream); + /** Reads the data from @a string. */ - bool Read(wxString& string); + virtual bool Read(wxString& string); /** Writes the data to @a stream. */ - bool Write(ostream& stream) const; + virtual bool Write(ostream& stream) const; /** Writes the data to @a string. */ - bool Write(wxString& string) const; + virtual bool Write(wxString& string) const; }; @@ -558,7 +595,7 @@ public: // Global functions/macros // ============================================================================ -/** @ingroup group_funcmacro_rtti */ +/** @addtogroup group_funcmacro_rtti */ //@{ /**