don't use wxVector<wxDataFormat> 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
This commit is contained in:
Vadim Zeitlin 2009-01-12 11:56:56 +00:00
parent 088ef87dae
commit 8946ede10c
2 changed files with 33 additions and 24 deletions

View File

@ -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); }

View File

@ -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<wxDataFormat>::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<wxDataFormat>::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;
}