]> git.saurik.com Git - wxWidgets.git/blobdiff - src/gtk/dataobj.cpp
wxFileIn/OutputStream fix
[wxWidgets.git] / src / gtk / dataobj.cpp
index e495bfd98a22a1494f83ef22c44aca6620c9f9f6..cbcce96e5f9c9799f6522887ddb364324671f6fb 100644 (file)
@@ -44,6 +44,12 @@ wxDataFormat::wxDataFormat( wxDataType type )
     SetType( type );
 }
 
+wxDataFormat::wxDataFormat( const wxChar *id )
+{
+    if (!g_textAtom) g_textAtom = gdk_atom_intern( "STRING", FALSE );
+    SetId( id );
+}
+
 wxDataFormat::wxDataFormat( const wxString &id )
 {
     if (!g_textAtom) g_textAtom = gdk_atom_intern( "STRING", FALSE );
@@ -78,7 +84,7 @@ wxDataFormat::wxDataFormat( const GdkAtom atom )
         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;
        }
@@ -91,21 +97,21 @@ void wxDataFormat::SetType( wxDataType type )
     
     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;
@@ -121,7 +127,7 @@ wxString wxDataFormat::GetId() const
     return m_id;
 }
 
-void wxDataFormat::SetId( const wxString &id )
+void wxDataFormat::SetId( const wxChar *id )
 {
     m_type = wxDF_PRIVATE;
     m_id = id;
@@ -146,7 +152,7 @@ GdkAtom wxDataFormat::GetAtom()
        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)
@@ -335,7 +341,7 @@ size_t wxTextDataObject::GetSize() const
 
 void wxTextDataObject::WriteString( const wxString &str, void *dest ) const
 {
-    memcpy( dest, m_data.c_str(), GetSize() );
+    memcpy( dest, str.mb_str(), str.Len()+1 );
 }
     
 // ----------------------------------------------------------------------------
@@ -352,7 +358,7 @@ wxFileDataObject::wxFileDataObject()
 void wxFileDataObject::AddFile( const wxString &file )
 { 
     m_files += file; 
-    m_files += (char)0; 
+    m_files += (wxChar)0; 
 }
     
 wxString wxFileDataObject::GetFiles() const
@@ -362,7 +368,7 @@ wxString wxFileDataObject::GetFiles() const
     
 void wxFileDataObject::WriteData( void *dest ) const
 {
-    memcpy( dest, m_files.c_str(), GetSize() );
+    memcpy( dest, m_files.mbc_str(), GetSize() );
 }
  
 size_t wxFileDataObject::GetSize() const
@@ -421,7 +427,7 @@ IMPLEMENT_DYNAMIC_CLASS( wxPrivateDataObject, wxDataObject )
 
 wxPrivateDataObject::wxPrivateDataObject() 
 { 
-    m_id = "application/";
+    m_id = _T("application/");
     m_id += wxTheApp->GetAppName();
     
     m_format.SetId( m_id );