]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/wx/variant.h
fixing text matrix (dataview custom renderer showed problems) and reordering SaveGState
[wxWidgets.git] / interface / wx / variant.h
index 98f4f0dd74367f58c379e4108160f3a66a397339..42575ddc7780e1a217f8db472a73197b260f2c79 100644 (file)
@@ -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.
@@ -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:
     /**
@@ -514,12 +550,12 @@ 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
@@ -536,7 +572,8 @@ public:
     /**
         Reads the data from @a stream.
     */
-    bool Read(ostream& stream);
+    virtual bool Read(istream& stream);
+
     /**
         Reads the data from @a string.
     */
@@ -558,7 +595,7 @@ public:
 // Global functions/macros
 // ============================================================================
 
-/** @ingroup group_funcmacro_rtti */
+/** @addtogroup group_funcmacro_rtti */
 //@{
 
 /**