#include "gdk/gdk.h"
+
+//-------------------------------------------------------------------------
+// global data
+//-------------------------------------------------------------------------
+
+GdkAtom g_textAtom = 0;
+
//-------------------------------------------------------------------------
// wxDataFormat
//-------------------------------------------------------------------------
wxDataFormat::wxDataFormat()
{
+ if (!g_textAtom) g_textAtom = gdk_atom_intern( "STRING", FALSE );
m_type = wxDF_INVALID;
m_hasAtom = FALSE;
m_atom = (GdkAtom) 0;
wxDataFormat::wxDataFormat( wxDataType type )
{
+ if (!g_textAtom) g_textAtom = gdk_atom_intern( "STRING", FALSE );
SetType( type );
}
wxDataFormat::wxDataFormat( const wxString &id )
{
+ if (!g_textAtom) g_textAtom = gdk_atom_intern( "STRING", FALSE );
SetId( id );
}
wxDataFormat::wxDataFormat( wxDataFormat &format )
{
+ if (!g_textAtom) g_textAtom = gdk_atom_intern( "STRING", FALSE );
m_type = format.GetType();
m_id = format.GetId();
m_hasAtom = TRUE;
wxDataFormat::wxDataFormat( const GdkAtom atom )
{
+ if (!g_textAtom) g_textAtom = gdk_atom_intern( "STRING", FALSE );
m_hasAtom = TRUE;
m_atom = atom;
- if (m_atom == GDK_TARGET_STRING)
+ if (m_atom == g_textAtom)
{
m_type = wxDF_TEXT;
} else
m_type = wxDF_PRIVATE;
m_id = gdk_atom_name( m_atom );
- if (m_id == "file:ALL")
+ if (m_id == _T("file:ALL"))
{
m_type = wxDF_FILENAME;
}
if (m_type == wxDF_TEXT)
{
- m_id = "STRING";
+ m_id = _T("STRING");
}
else
if (m_type == wxDF_BITMAP)
{
- m_id = "BITMAP";
+ m_id = _T("BITMAP");
}
else
if (m_type == wxDF_FILENAME)
{
- m_id = "file:ALL";
+ m_id = _T("file:ALL");
}
else
{
- wxFAIL_MSG( "invalid dataformat" );
+ wxFAIL_MSG( _T("invalid dataformat") );
}
m_hasAtom = FALSE;
if (m_type == wxDF_TEXT)
{
- m_atom = GDK_TARGET_STRING;
- }
+ m_atom = g_textAtom;
+ }
else
if (m_type == wxDF_BITMAP)
{
else
if (m_type == wxDF_PRIVATE)
{
- m_atom = gdk_atom_intern( WXSTRINGCAST( m_id ), FALSE );
+ m_atom = gdk_atom_intern( MBSTRINGCAST m_id.mbc_str(), FALSE );
}
else
if (m_type == wxDF_FILENAME)
if (dobj->GetFormat().GetAtom() == format.GetAtom())
{
- return dobj->WriteData( dest );
+ dobj->WriteData( dest );
}
node = node->Next();
GdkAtom wxDataObject::GetFormatAtom() const
{
- GdkAtom ret = m_format.GetAtom();
+ GdkAtom ret = ((wxDataObject*) this)->m_format.GetAtom();
return ret;
}
void wxFileDataObject::AddFile( const wxString &file )
{
m_files += file;
- m_files += (char)0;
+ m_files += (wxChar)0;
}
wxString wxFileDataObject::GetFiles() const