]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/mac/carbon/dataform.h
use wxWindowIDRef to transparently implement auto-generated ids ref-counting (slightl...
[wxWidgets.git] / include / wx / mac / carbon / dataform.h
index 6e8846c6da6b5b15ec8666a8430b61fc8009b706..96a108c335c1ea6a208531ff6263fbaec9ed37b5 100644 (file)
@@ -19,23 +19,26 @@ public:
 
     wxDataFormat();
     wxDataFormat(wxDataFormatId vType);
+    wxDataFormat(const wxDataFormat& rFormat);
     wxDataFormat(const wxString& rId);
     wxDataFormat(const wxChar* pId);
     wxDataFormat(NativeFormat vFormat);
+    ~wxDataFormat();
 
     wxDataFormat& operator=(NativeFormat vFormat)
         { SetId(vFormat); return *this; }
 
     // comparison (must have both versions)
-    bool operator==(NativeFormat format) const
-        { return m_format == (NativeFormat)format; }
-    bool operator!=(NativeFormat format) const
-        { return m_format != (NativeFormat)format; }
+    bool operator==(const wxDataFormat& format) const ;
+    bool operator!=(const wxDataFormat& format) const
+        { return ! ( *this == format ); }
     bool operator==(wxDataFormatId format) const
         { return m_type == (wxDataFormatId)format; }
     bool operator!=(wxDataFormatId format) const
         { return m_type != (wxDataFormatId)format; }
 
+    wxDataFormat& operator=(const wxDataFormat& format);
+
     // explicit and implicit conversions to NativeFormat which is one of
     // standard data types (implicit conversion is useful for preserving the
     // compatibility with old code)
@@ -47,15 +50,20 @@ public:
     // string ids are used for custom types - this SetId() must be used for
     // application-specific formats
     wxString GetId() const;
-    void SetId(const wxChar* pId);
+    void SetId(const wxString& pId);
 
     // implementation
     wxDataFormatId GetType() const { return m_type; }
     void SetType( wxDataFormatId type );
 
+    // returns true if the format is one of those defined in wxDataFormatId
+    bool IsStandard() const { return m_type > 0 && m_type < wxDF_PRIVATE; }
+
 private:
     wxDataFormatId   m_type;
     NativeFormat     m_format;
+    // indicates the type in case of wxDF_PRIVATE :
+    wxString         m_id ;
 };
 
 #endif // _WX_MAC_DATAFORM_H