]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/wx/variant.h
now wxGTK is always compiled against GTK+ >= 2.4
[wxWidgets.git] / interface / wx / variant.h
index e276cce933274b25520aa58ed72fb872056f0776..84e67c255653bb2dcd2a33c32c0c3f8b57734423 100644 (file)
@@ -8,7 +8,6 @@
 
 /**
     @class wxVariant
-    @wxheader{variant.h}
 
     The wxVariant class represents a container for any type. A variant's value
     can be changed at run time, possibly to a different type of value.
@@ -98,75 +97,75 @@ 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 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.
@@ -176,7 +175,7 @@ public:
               called. See @ref overview_refcount_destruct
               "reference-counted object destruction" for more info.
     */
-    ~wxVariant();
+    virtual ~wxVariant();
 
 
     /**
@@ -267,7 +266,7 @@ public:
     /**
         Returns the character value.
     */
-    wxChar GetChar() const;
+    wxUniChar GetChar() const;
 
     /**
         Returns a pointer to the internal variant data. To take ownership of
@@ -294,7 +293,7 @@ public:
     /**
         Returns a constant reference to the variant name.
     */
-    const wxString GetName() const;
+    const wxString& GetName() const;
 
     /**
         Gets the string value.
@@ -322,6 +321,9 @@ public:
 
     /**
         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;
 
@@ -385,9 +387,9 @@ 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 !=(void* value) const;
     bool operator !=(wxObject* value) const;
     bool operator !=(const wxVariantList& value) const;
@@ -405,9 +407,9 @@ 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);
     void operator =(void* value);
     void operator =(wxObject* value);
     void operator =(const wxVariantList& value);
@@ -423,9 +425,9 @@ 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 ==(void* value) const;
     bool operator ==(wxObject* value) const;
     bool operator ==(const wxVariantList& value) const;
@@ -468,7 +470,6 @@ public:
 
 /**
     @class wxVariantData
-    @wxheader{variant.h}
 
     The wxVariantData class is used to implement a new type for wxVariant.
     Derive from wxVariantData, and override the pure virtual functions.
@@ -502,7 +503,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
@@ -516,18 +517,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
@@ -538,20 +539,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;
 };
 
 
@@ -560,7 +562,7 @@ public:
 // Global functions/macros
 // ============================================================================
 
-/** @ingroup group_funcmacro_rtti */
+/** @addtogroup group_funcmacro_rtti */
 //@{
 
 /**