]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/msw/ole/dataform.h
argh, really, really fix Darwin build
[wxWidgets.git] / include / wx / msw / ole / dataform.h
index 020d4aec753c221000c597ca7c4a0f05a9c22185..d36edbfff9cdbb08c06d4940b20654558538c040 100644 (file)
 // wxDataFormat identifies the single format of data
 // ----------------------------------------------------------------------------
 
-class WXDLLEXPORT wxDataFormat
+class WXDLLIMPEXP_CORE wxDataFormat
 {
 public:
-    // the clipboard formats under Win32 are UINTs
-    typedef unsigned int NativeFormat;
+    // the clipboard formats under Win32 are WORD's
+    typedef unsigned short NativeFormat;
 
     wxDataFormat(NativeFormat format = wxDF_INVALID) { m_format = format; }
-    wxDataFormat(const wxChar *format) { SetId(format); }
+
+    // we need constructors from all string types as implicit conversions to
+    // wxString don't apply when we already rely on implicit conversion of a,
+    // for example, "char *" string to wxDataFormat, and existing code does it
+    wxDataFormat(const wxString& format) { SetId(format); }
+    wxDataFormat(const char *format) { SetId(format); }
+    wxDataFormat(const wchar_t *format) { SetId(format); }
+    wxDataFormat(const wxCStrData& format) { SetId(format); }
 
     wxDataFormat& operator=(NativeFormat format)
         { m_format = format; return *this; }
@@ -48,19 +55,19 @@ public:
     NativeFormat GetFormatId() const { return m_format; }
     operator NativeFormat() const { return m_format; }
 
-    // this only works with standard ids
-    void SetType(wxDataFormatId format) { m_format = format; }
-    wxDataFormatId GetType() const { return m_format; }
+    // this works with standard as well as custom ids
+    void SetType(NativeFormat format) { m_format = format; }
+    NativeFormat GetType() const { return m_format; }
 
     // string ids are used for custom types - this SetId() must be used for
     // application-specific formats
     wxString GetId() const;
-    void SetId(const wxChar *format);
+    void SetId(const wxString& format);
 
-private:
-    // returns TRUE if the format is one of those defined in wxDataFormatId
-    bool IsStandard() const { return m_format > 0 && m_format < wxDF_MAX; }
+    // returns true if the format is one of those defined in wxDataFormatId
+    bool IsStandard() const { return m_format > 0 && m_format < wxDF_PRIVATE; }
 
+private:
     NativeFormat m_format;
 };