]> git.saurik.com Git - wxWidgets.git/blobdiff - src/x11/dataobj.cpp
fix getting tooltip colors for GTK 2.11
[wxWidgets.git] / src / x11 / dataobj.cpp
index fadc4afd80ed4a5a1f7e20eb254115c2e5832ac3..b9b8f7a37d259fa8dd4e89d287287749d1cda3d9 100644 (file)
@@ -1,5 +1,5 @@
 ///////////////////////////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////////////////////////
-// Name:        dataobj.cpp
+// Name:        src/x11/dataobj.cpp
 // Purpose:     wxDataObject class
 // Author:      Julian Smart
 // Id:          $Id$
 // Purpose:     wxDataObject class
 // Author:      Julian Smart
 // Id:          $Id$
@@ -7,17 +7,22 @@
 // Licence:     wxWindows licence
 ///////////////////////////////////////////////////////////////////////////////
 
 // Licence:     wxWindows licence
 ///////////////////////////////////////////////////////////////////////////////
 
-#include "wx/defs.h"
+// for compilers that support precompilation, includes "wx.h".
+#include "wx/wxprec.h"
 
 #if wxUSE_DATAOBJ
 
 #include "wx/dataobj.h"
 
 #if wxUSE_DATAOBJ
 
 #include "wx/dataobj.h"
+
+#ifndef WX_PRECOMP
+    #include "wx/log.h"
+    #include "wx/app.h"
+    #include "wx/utils.h"
+    #include "wx/image.h"
+#endif
+
 #include "wx/mstream.h"
 #include "wx/mstream.h"
-#include "wx/app.h"
-#include "wx/image.h"
-#include "wx/log.h"
 
 
-#include "wx/utils.h"
 #include "wx/x11/private.h"
 
 //-------------------------------------------------------------------------
 #include "wx/x11/private.h"
 
 //-------------------------------------------------------------------------
@@ -52,12 +57,6 @@ wxDataFormat::wxDataFormat( wxDataFormatId type )
     SetType( type );
 }
 
     SetType( type );
 }
 
-wxDataFormat::wxDataFormat( const wxChar *id )
-{
-    PrepareFormats();
-    SetId( id );
-}
-
 wxDataFormat::wxDataFormat( const wxString &id )
 {
     PrepareFormats();
 wxDataFormat::wxDataFormat( const wxString &id )
 {
     PrepareFormats();
@@ -75,7 +74,7 @@ void wxDataFormat::SetType( wxDataFormatId type )
     PrepareFormats();
     m_type = type;
 
     PrepareFormats();
     m_type = type;
 
-    if (m_type == wxDF_TEXT)
+    if (m_type == wxDF_TEXT || m_type == wxDF_UNICODETEXT)
         m_format = g_textAtom;
     else
     if (m_type == wxDF_BITMAP)
         m_format = g_textAtom;
     else
     if (m_type == wxDF_BITMAP)
@@ -101,7 +100,7 @@ wxString wxDataFormat::GetId() const
 #else
     char *t = XGetAtomName ((Display*) wxGetDisplay(), m_format);
     wxString ret = wxString::FromAscii( t );
 #else
     char *t = XGetAtomName ((Display*) wxGetDisplay(), m_format);
     wxString ret = wxString::FromAscii( t );
-    if (t) 
+    if (t)
         XFree( t );
     return ret;
 #endif
         XFree( t );
     return ret;
 #endif
@@ -124,13 +123,12 @@ void wxDataFormat::SetId( NativeFormat format )
         m_type = wxDF_PRIVATE;
 }
 
         m_type = wxDF_PRIVATE;
 }
 
-void wxDataFormat::SetId( const wxChar *id )
+void wxDataFormat::SetId( const wxString& id )
 {
 #if !wxUSE_NANOX
     PrepareFormats();
     m_type = wxDF_PRIVATE;
 {
 #if !wxUSE_NANOX
     PrepareFormats();
     m_type = wxDF_PRIVATE;
-    wxString tmp( id );
-    m_format = XInternAtom( (Display*) wxGetDisplay(), tmp.ToAscii(), FALSE ); 
+    m_format = XInternAtom( (Display*) wxGetDisplay(), id.ToAscii(), FALSE );
 #endif
 }
 
 #endif
 }
 
@@ -157,17 +155,17 @@ wxDataObject::wxDataObject()
 bool wxDataObject::IsSupportedFormat(const wxDataFormat& format, Direction dir) const
 {
     size_t nFormatCount = GetFormatCount(dir);
 bool wxDataObject::IsSupportedFormat(const wxDataFormat& format, Direction dir) const
 {
     size_t nFormatCount = GetFormatCount(dir);
-    if ( nFormatCount == 1 ) 
+    if ( nFormatCount == 1 )
     {
         return format == GetPreferredFormat();
     }
     {
         return format == GetPreferredFormat();
     }
-    else 
+    else
     {
         wxDataFormat *formats = new wxDataFormat[nFormatCount];
         GetAllFormats(formats,dir);
 
         size_t n;
     {
         wxDataFormat *formats = new wxDataFormat[nFormatCount];
         GetAllFormats(formats,dir);
 
         size_t n;
-        for ( n = 0; n < nFormatCount; n++ ) 
+        for ( n = 0; n < nFormatCount; n++ )
         {
             if ( formats[n] == format )
                 break;
         {
             if ( formats[n] == format )
                 break;
@@ -194,9 +192,9 @@ bool wxFileDataObject::GetDataHere(void *buf) const
         filenames += (wxChar) 0;
     }
 
         filenames += (wxChar) 0;
     }
 
-    memcpy( buf, filenames.mbc_str(), filenames.Len() + 1 );
+    memcpy( buf, filenames.mbc_str(), filenames.length() + 1 );
 
 
-    return TRUE;
+    return true;
 }
 
 size_t wxFileDataObject::GetDataSize() const
 }
 
 size_t wxFileDataObject::GetDataSize() const
@@ -205,7 +203,7 @@ size_t wxFileDataObject::GetDataSize() const
 
     for (size_t i = 0; i < m_filenames.GetCount(); i++)
     {
 
     for (size_t i = 0; i < m_filenames.GetCount(); i++)
     {
-        res += m_filenames[i].Len();
+        res += m_filenames[i].length();
         res += 1;
     }
 
         res += 1;
     }
 
@@ -227,8 +225,8 @@ bool wxFileDataObject::SetData(size_t WXUNUSED(size), const void *buf)
             break;
         wxString file( filenames );  // this returns the first file
         AddFile( file );
             break;
         wxString file( filenames );  // this returns the first file
         AddFile( file );
-        pos += file.Len()+1;
-        filenames += file.Len()+1;
+        pos += file.length()+1;
+        filenames += file.length()+1;
     }
 #else // 1
     m_filenames.Empty();
     }
 #else // 1
     m_filenames.Empty();
@@ -278,7 +276,7 @@ bool wxFileDataObject::SetData(size_t WXUNUSED(size), const void *buf)
     }
 #endif // 0/1
 
     }
 #endif // 0/1
 
-    return TRUE;
+    return true;
 }
 
 void wxFileDataObject::AddFile( const wxString &filename )
 }
 
 void wxFileDataObject::AddFile( const wxString &filename )
@@ -323,12 +321,12 @@ bool wxBitmapDataObject::GetDataHere(void *buf) const
     {
         wxFAIL_MSG( wxT("attempt to copy empty bitmap failed") );
 
     {
         wxFAIL_MSG( wxT("attempt to copy empty bitmap failed") );
 
-        return FALSE;
+        return false;
     }
 
     memcpy(buf, m_pngData, m_pngSize);
 
     }
 
     memcpy(buf, m_pngData, m_pngSize);
 
-    return TRUE;
+    return true;
 }
 
 bool wxBitmapDataObject::SetData(size_t size, const void *buf)
 }
 
 bool wxBitmapDataObject::SetData(size_t size, const void *buf)
@@ -346,14 +344,14 @@ bool wxBitmapDataObject::SetData(size_t size, const void *buf)
     wxPNGHandler handler;
     if ( !handler.LoadFile( &image, mstream ) )
     {
     wxPNGHandler handler;
     if ( !handler.LoadFile( &image, mstream ) )
     {
-        return FALSE;
+        return false;
     }
 
     m_bitmap = image;
 
     return m_bitmap.Ok();
 #else
     }
 
     m_bitmap = image;
 
     return m_bitmap.Ok();
 #else
-    return FALSE;
+    return false;
 #endif
 }
 
 #endif
 }
 
@@ -378,4 +376,3 @@ void wxBitmapDataObject::DoConvertToPng()
 }
 
 #endif // wxUSE_DATAOBJ
 }
 
 #endif // wxUSE_DATAOBJ
-