]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/dataobj.h
Fixed some compile errors (MSVC++ 6) and some very strange link errors when
[wxWidgets.git] / include / wx / dataobj.h
index fad2dc666463b7055f59b052c7df9c05fbd61386..0e9659bfc55a7763d0d058bee0caf80c0874fdaf 100644 (file)
 #define _WX_DATAOBJ_H_BASE_
 
 #if defined(__WXMSW__)
-// ----------------------------------------------------------------------------
-// wxDataFormat identifies the single format of data
-// ----------------------------------------------------------------------------
-
-class WXDLLEXPORT wxDataFormat
-{
-public:
-    // the clipboard formats under Win32 are UINTs
-    typedef unsigned int NativeFormat;
-
-    wxDataFormat(NativeFormat format = wxDF_INVALID) { m_format = format; }
-    wxDataFormat& operator=(NativeFormat format)
-        { m_format = format; return *this; }
-
-    // defautl copy ctor/assignment operators ok
-
-    // comparison (must have both versions)
-    bool operator==(wxDataFormatId format) const
-        { return m_format == (NativeFormat)format; }
-    bool operator!=(wxDataFormatId format) const
-        { return m_format != (NativeFormat)format; }
-    bool operator==(const wxDataFormat& format) const
-        { return m_format == format.m_format; }
-    bool operator!=(const wxDataFormat& format) const
-        { return m_format != format.m_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)
-    NativeFormat GetFormatId() const { return m_format; }
-    operator NativeFormat() const { return m_format; }
-
-    // this only works with standard ids
-    void SetId(wxDataFormatId format) { m_format = 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);
-
-private:
-    // returns TRUE if the format is one of those defined in wxDataFormatId
-    bool IsStandard() const { return m_format > 0 && m_format < wxDF_MAX; }
-
-    NativeFormat m_format;
-};
-
     #include "wx/msw/ole/dataobj.h"
 #elif defined(__WXMOTIF__)
     #include "wx/motif/dataobj.h"
@@ -69,6 +22,8 @@ private:
     #include "wx/qt/dnd.h"
 #elif defined(__WXMAC__)
     #include "wx/mac/dnd.h"
+#elif defined(__WXPM__)
+    #include "wx/os2/dataobj.h"
 #elif defined(__WXSTUBS__)
     #include "wx/stubs/dnd.h"
 #endif
@@ -81,7 +36,9 @@ private:
 
 class WXDLLEXPORT wxPrivateDataObject : public wxDataObject
 {
+#if defined(__WXGTK__) || defined(__WXMOTIF__)
     DECLARE_DYNAMIC_CLASS( wxPrivateDataObject )
+#endif
 
 public:
     wxPrivateDataObject();
@@ -109,7 +66,7 @@ public:
     wxString GetId() const { return m_format.GetId(); }
 
     // implement the base class pure virtuals
-    virtual wxDataFormatId GetPreferredFormat() const
+    virtual wxDataFormat GetPreferredFormat() const
         { return m_format; }
     virtual bool IsSupportedFormat(wxDataFormat format) const
         { return m_format == format; }
@@ -118,23 +75,22 @@ public:
     virtual void GetDataHere(void *dest) const
         { WriteData(dest); }
 
-protected:
     // the function which really copies the data - called by WriteData() above
     // and uses GetSize() to get the size of the data
-    //
-    // VZ: I really wonder why do we need it
     void WriteData( const void *data, void *dest ) const;
 
 private:
     // free the data
-    inline void Free();
+    void Free();
 
     // the data
     size_t     m_size;
     void      *m_data;
 
+#if !defined(__WXGTK__) && !defined(__WXMOTIF__)
     // the data format
     wxDataFormat m_format;
+#endif
 };