From 8946ede10c2702c7acbb194fe8bd2793d7fb8358 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Mon, 12 Jan 2009 11:56:56 +0000 Subject: [PATCH] don't use wxVector from wx/clipbrd.h as wxDataFormat definition is not available in it git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58038 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- include/wx/clipbrd.h | 16 +++++----------- src/common/clipcmn.cpp | 41 ++++++++++++++++++++++++++++------------- 2 files changed, 33 insertions(+), 24 deletions(-) diff --git a/include/wx/clipbrd.h b/include/wx/clipbrd.h index d3c90df714..b00b6bdd4a 100644 --- a/include/wx/clipbrd.h +++ b/include/wx/clipbrd.h @@ -62,7 +62,7 @@ public: // ask if data in correct format is available virtual bool IsSupportedAsync( wxEvtHandler *sink ); - + // fill data with data on the clipboard (if available) virtual bool GetData( wxDataObject& data ) = 0; @@ -105,17 +105,11 @@ public: class WXDLLIMPEXP_CORE wxClipboardEvent : public wxEvent { public: - wxClipboardEvent(wxEventType commandType = wxEVT_NULL) - : wxEvent(0,commandType) - { } + wxClipboardEvent(wxEventType evtType = wxEVT_NULL); + wxClipboardEvent(const wxClipboardEvent& event); - wxClipboardEvent(const wxClipboardEvent& event) - : wxEvent(event), - m_formats(event.m_formats) - { } - - bool SupportsFormat( const wxDataFormat &format ) const; - void AddFormat( const wxDataFormat &format ); + bool SupportsFormat(const wxDataFormat& format) const; + void AddFormat(const wxDataFormat& format); virtual wxEvent *Clone() const { return new wxClipboardEvent(*this); } diff --git a/src/common/clipcmn.cpp b/src/common/clipcmn.cpp index f8134784e0..31aa8bb2e8 100644 --- a/src/common/clipcmn.cpp +++ b/src/common/clipcmn.cpp @@ -41,15 +41,30 @@ IMPLEMENT_DYNAMIC_CLASS(wxClipboardEvent,wxEvent) DEFINE_EVENT_TYPE(wxEVT_CLIPBOARD_CHANGED) +// 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) +{ +} + 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 +72,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 +100,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; }