X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/c220de0b393b5098c705c1a62ef7fc4698e2fa52..bf2c43c76e2819be443ab1d830ab68d9569d66b1:/src/common/clipcmn.cpp?ds=inline diff --git a/src/common/clipcmn.cpp b/src/common/clipcmn.cpp index afdd300f30..b108944252 100644 --- a/src/common/clipcmn.cpp +++ b/src/common/clipcmn.cpp @@ -4,7 +4,6 @@ // Author: Robert Roebling // Modified by: // Created: 28.06.99 -// RCS-ID: $Id$ // Copyright: (c) Robert Roebling // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -29,6 +28,7 @@ #include "wx/clipbrd.h" #ifndef WX_PRECOMP + #include "wx/dataobj.h" #include "wx/module.h" #endif @@ -38,18 +38,28 @@ IMPLEMENT_DYNAMIC_CLASS(wxClipboardEvent,wxEvent) -DEFINE_EVENT_TYPE(wxEVT_CLIPBOARD_CHANGED) +wxDEFINE_EVENT( wxEVT_CLIPBOARD_CHANGED, wxClipboardEvent ); bool wxClipboardEvent::SupportsFormat( const wxDataFormat &format ) const -{ - wxVector::size_type n; - for (n = 0; n < m_formats.size(); n++) - { if (m_formats[n] == format) return true; } +{ +#ifdef __WXGTK20__ + for (wxVector::size_type n = 0; n < m_formats.size(); n++) + { + if (m_formats[n] == format) + return true; + } + return false; -} - -void wxClipboardEvent::AddFormat( const wxDataFormat &format ) -{ +#else + // All other ports just query the clipboard directly + // from here + wxClipboard* clipboard = (wxClipboard*) GetEventObject(); + return clipboard->IsSupported( format ); +#endif +} + +void wxClipboardEvent::AddFormat(const wxDataFormat& format) +{ m_formats.push_back( format ); } @@ -68,6 +78,19 @@ static wxClipboard *gs_clipboard = NULL; return gs_clipboard; } +bool wxClipboardBase::IsSupportedAsync( wxEvtHandler *sink ) +{ + // We just imitate an asynchronous API on most platforms. + // This method is overridden uner GTK. + wxClipboardEvent *event = new wxClipboardEvent(wxEVT_CLIPBOARD_CHANGED); + event->SetEventObject( this ); + + sink->QueueEvent( event ); + + return true; +} + + // ---------------------------------------------------------------------------- // wxClipboardModule: module responsible for destroying the global clipboard // object