X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e1ee679c2e3f48bc4f2607e35033ed5505ed6665..eddc468e258b0824a230a6a8e844a98234cb8da4:/include/wx/motif/dataform.h?ds=sidebyside diff --git a/include/wx/motif/dataform.h b/include/wx/motif/dataform.h index cab0b9d678..314eaf5b68 100644 --- a/include/wx/motif/dataform.h +++ b/include/wx/motif/dataform.h @@ -1,54 +1,64 @@ /////////////////////////////////////////////////////////////////////////////// -// Name: motif/dataform.h +// Name: wx/motif/dataform.h // Purpose: declaration of the wxDataFormat class -// Author: Vadim Zeitlin +// Author: Robert Roebling // Modified by: // Created: 19.10.99 (extracted from motif/dataobj.h) // RCS-ID: $Id$ -// Copyright: (c) 1998 Vadim Zeitlin +// Copyright: (c) 1999 Robert Roebling // Licence: wxWindows licence /////////////////////////////////////////////////////////////////////////////// #ifndef _WX_MOTIF_DATAFORM_H #define _WX_MOTIF_DATAFORM_H -class wxDataFormat +class WXDLLIMPEXP_CORE wxDataFormat { public: + // the clipboard formats under Xt are Atoms + typedef Atom NativeFormat; + wxDataFormat(); wxDataFormat( wxDataFormatId type ); wxDataFormat( const wxString &id ); - wxDataFormat( const wxChar *id ); - wxDataFormat( const wxDataFormat &format ); - wxDataFormat( const Atom atom ); + wxDataFormat( NativeFormat format ); - void SetType( wxDataFormatId type ); - wxDataFormatId GetType() const; + wxDataFormat& operator=(NativeFormat format) + { SetId(format); return *this; } - /* the string Id identifies the format of clipboard or DnD data. a word - * processor would e.g. add a wxTextDataObject and a wxPrivateDataObject - * to the clipboard - the latter with the Id "application/wxword", an - * image manipulation program would put a wxBitmapDataObject and a - * wxPrivateDataObject to the clipboard - the latter with "image/png". */ + // comparison (must have both versions) + bool operator==(NativeFormat format) const + { return m_format == (NativeFormat)format; } + bool operator!=(NativeFormat format) const + { return m_format != (NativeFormat)format; } + bool operator==(wxDataFormatId format) const + { return m_type == (wxDataFormatId)format; } + bool operator!=(wxDataFormatId format) const + { return m_type != (wxDataFormatId)format; } - wxString GetId() const; - void SetId( const wxChar *id ); + // 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; } - Atom GetAtom(); - void SetAtom(Atom atom) { m_hasAtom = TRUE; m_atom = atom; } + void SetId( NativeFormat format ); - // implicit conversion to wxDataFormatId - operator wxDataFormatId() const { return m_type; } + // string ids are used for custom types - this SetId() must be used for + // application-specific formats + wxString GetId() const; + void SetId( const wxString& id ); - bool operator==(wxDataFormatId type) const { return m_type == type; } - bool operator!=(wxDataFormatId type) const { return m_type != type; } + // implementation + wxDataFormatId GetType() const; private: - wxDataFormatId m_type; - wxString m_id; - bool m_hasAtom; - Atom m_atom; + wxDataFormatId m_type; + NativeFormat m_format; + + void PrepareFormats(); + void SetType( wxDataFormatId type ); }; -#endif // _WX_MOTIF_DATAFORM_H +#endif // _WX_MOTIF_DATAFORM_H