{ 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
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_format > 0 && m_format < 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
wxString wxDataFormat::GetId() const
{
- // note that m_format is not a pointer to string, it *is* itself a 4
- // character string
- char text[5] ;
- strncpy( text , (char*) &m_format , 4 ) ;
- text[4] = 0 ;
+ wxCHECK_MSG( !IsStandard(), wxEmptyString ,
+ wxT("name of predefined format cannot be retrieved") );
- return wxString::FromAscii( text ) ;
+ return m_id ;
}
void wxDataFormat::SetId( NativeFormat format )
else if (m_format == kDragFlavorTypeHFS )
m_type = wxDF_FILENAME;
else
+ {
m_type = wxDF_PRIVATE;
+ char text[5] ;
+ strncpy( text , (char*) &format , 4 ) ;
+ text[4] = 0 ;
+ m_id = wxString::FromAscii( text ) ;
+ }
}
void wxDataFormat::SetId( const wxChar* zId )
{
m_type = wxDF_PRIVATE;
- m_format = 0;// TODO: get the format gdk_atom_intern( wxMBSTRINGCAST tmp.mbc_str(), FALSE );
+ m_id = zId ;
+ m_format = 'WXPR' ;
+}
+
+bool wxDataFormat::operator==(const wxDataFormat& format) const
+{
+ if ( IsStandard() || format.IsStandard() )
+ {
+ return ( format.m_type == m_type ) ;
+ }
+ else
+ {
+ return ( m_id == format.m_id ) ;
+ }
}
//-------------------------------------------------------------------------