#ifndef _WX_MAC_DATAFORM_H
#define _WX_MAC_DATAFORM_H
-class WXDLLEXPORT wxDataFormat
+class WXDLLIMPEXP_CORE wxDataFormat
{
public:
typedef unsigned long NativeFormat;
wxDataFormat();
wxDataFormat(wxDataFormatId vType);
+ wxDataFormat(const wxDataFormat& rFormat);
wxDataFormat(const wxString& rId);
wxDataFormat(const wxChar* pId);
wxDataFormat(NativeFormat vFormat);
+ ~wxDataFormat();
wxDataFormat& operator=(NativeFormat vFormat)
{ SetId(vFormat); return *this; }
// 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==(const wxDataFormat& format) const ;
+ bool operator!=(const wxDataFormat& format) const
+ { return ! ( *this == format ); }
bool operator==(wxDataFormatId format) const
{ return m_type == (wxDataFormatId)format; }
bool operator!=(wxDataFormatId format) const
{ return m_type != (wxDataFormatId)format; }
+ wxDataFormat& operator=(const wxDataFormat& 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)
// string ids are used for custom types - this SetId() must be used for
// application-specific formats
wxString GetId() const;
- void SetId(const wxChar* pId);
+ void SetId(const wxString& pId);
// implementation
wxDataFormatId GetType() const { return m_type; }
void SetType( wxDataFormatId type );
+ // returns true if the format is one of those defined in wxDataFormatId
+ bool IsStandard() const { return m_type > 0 && m_type < wxDF_PRIVATE; }
+
private:
wxDataFormatId m_type;
NativeFormat m_format;
+ // indicates the type in case of wxDF_PRIVATE :
+ wxString m_id ;
};
#endif // _WX_MAC_DATAFORM_H