#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"
#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
class WXDLLEXPORT wxPrivateDataObject : public wxDataObject
{
+#if defined(__WXGTK__) || defined(__WXMOTIF__)
DECLARE_DYNAMIC_CLASS( wxPrivateDataObject )
+#endif
public:
wxPrivateDataObject();
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; }
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
};