]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/msw/ole/dataform.h
Use proper format in wxGTK clipboard selection handler.
[wxWidgets.git] / include / wx / msw / ole / dataform.h
index 020d4aec753c221000c597ca7c4a0f05a9c22185..90901bdd650e5c127371017dd7056284f2462273 100644 (file)
@@ -1,5 +1,5 @@
 ///////////////////////////////////////////////////////////////////////////////
-// Name:        msw/ole/dataform.h
+// Name:        wx/msw/ole/dataform.h
 // Purpose:     declaration of the wxDataFormat class
 // Author:      Vadim Zeitlin
 // Modified by:
 // 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;
 };