X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/311c1be9edd5e8a0f6d3e2ac4d42ca8d96d9c855..beb2638a997914bd12c55e81589adebd90af9ed2:/src/common/clipcmn.cpp?ds=sidebyside diff --git a/src/common/clipcmn.cpp b/src/common/clipcmn.cpp index f8134784e0..133c18967a 100644 --- a/src/common/clipcmn.cpp +++ b/src/common/clipcmn.cpp @@ -39,17 +39,37 @@ IMPLEMENT_DYNAMIC_CLASS(wxClipboardEvent,wxEvent) -DEFINE_EVENT_TYPE(wxEVT_CLIPBOARD_CHANGED) +wxDEFINE_EVENT( wxEVT_CLIPBOARD_CHANGED, wxClipboardEvent ); + +// notice that ctors are defined here and not inline to avoid having to include +// wx/dataobj.h from wx/clipbrd.h +wxClipboardEvent::wxClipboardEvent(wxEventType evtType) + : wxEvent(0, evtType) +{ +} + +wxClipboardEvent::wxClipboardEvent(const wxClipboardEvent& event) + : wxEvent(event), + m_formats(event.m_formats) +{ +} + +wxEvent* wxClipboardEvent::Clone() const +{ + return new wxClipboardEvent(*this); +} bool wxClipboardEvent::SupportsFormat( const wxDataFormat &format ) const -{ +{ #ifdef __WXGTK20__ - // GTK has an asynchronnous API which reports - // the supported formats one by one. - // We may have to add X11 and Motif later. - wxVector::size_type n; - for (n = 0; n < m_formats.size(); n++) - { if (m_formats[n] == format) return true; } + // GTK has an asynchronous API which reports the supported formats one by + // one. We may have to add X11 and Motif later. + for (wxVector::size_type n = 0; n < m_formats.size(); n++) + { + if (m_formats[n] == format) + return true; + } + return false; #else // All other ports just query the clipboard directly @@ -57,10 +77,10 @@ bool wxClipboardEvent::SupportsFormat( const wxDataFormat &format ) const wxClipboard* clipboard = (wxClipboard*) GetEventObject(); return clipboard->IsSupported( format ); #endif -} - -void wxClipboardEvent::AddFormat( const wxDataFormat &format ) -{ +} + +void wxClipboardEvent::AddFormat(const wxDataFormat& format) +{ m_formats.push_back( format ); } @@ -85,9 +105,9 @@ bool wxClipboardBase::IsSupportedAsync( wxEvtHandler *sink ) // This method is overridden uner GTK. wxClipboardEvent *event = new wxClipboardEvent(wxEVT_CLIPBOARD_CHANGED); event->SetEventObject( this ); - + sink->QueueEvent( event ); - + return true; }