X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e1ee679c2e3f48bc4f2607e35033ed5505ed6665..616c0d1f3ac084bb92f0a75dc48812e8647f1b22:/include/wx/msw/ole/dataform.h diff --git a/include/wx/msw/ole/dataform.h b/include/wx/msw/ole/dataform.h index 020d4aec75..90901bdd65 100644 --- a/include/wx/msw/ole/dataform.h +++ b/include/wx/msw/ole/dataform.h @@ -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: @@ -16,14 +16,21 @@ // 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; };