X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/eddb964405c1db1a931a347611aed0af6ee0e3b7..9fa99f045e39341d64b4ecffbaab6385d9982cee:/include/wx/gtk/clipbrd.h diff --git a/include/wx/gtk/clipbrd.h b/include/wx/gtk/clipbrd.h index d9f59e75b1..4af988f80c 100644 --- a/include/wx/gtk/clipbrd.h +++ b/include/wx/gtk/clipbrd.h @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: wx/gtk/clipboard.h +// Name: wx/gtk/clipbrd.h // Purpose: wxClipboard for wxGTK // Author: Robert Roebling, Vadim Zeitlin // Id: $Id$ @@ -15,6 +15,8 @@ // wxClipboard // ---------------------------------------------------------------------------- +#include "wx/weakref.h" + class WXDLLIMPEXP_CORE wxClipboard : public wxClipboardBase { public: @@ -46,17 +48,16 @@ public: // ask if data in correct format is available virtual bool IsSupported( const wxDataFormat& format ); + // 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 ); // clears wxTheClipboard and the system's clipboard if possible virtual void Clear(); - // If primary == TRUE, use primary selection in all further ops, - // primary == FALSE resets it. - virtual void UsePrimarySelection(bool primary = TRUE) - { m_usePrimary = primary; } - + // implementation from now on // -------------------------- @@ -64,8 +65,8 @@ public: // get our clipboard item (depending on m_usePrimary value) GdkAtom GTKGetClipboardAtom() const; - // get the data object currently being used - wxDataObject *GTKGetDataObject() { return Data(); } + // get the data object currently being requested + wxDataObject *GTKGetDataObject( GdkAtom atom ); // clear the data for the given clipboard kind void GTKClearData(Kind kind); @@ -77,12 +78,19 @@ public: bool GTKOnTargetReceived(const wxDataFormat& format); private: + // the data object for the specific selection + wxDataObject *& Data(Kind kind) + { + return kind == Primary ? m_dataPrimary : m_dataClipboard; + } + // the data object we're currently using wxDataObject *& Data() { - return m_usePrimary ? m_dataPrimary : m_dataClipboard; + return Data(m_usePrimary ? Primary : Clipboard); } + // set or unset selection ownership bool SetSelectionOwner(bool set = true); @@ -111,9 +119,13 @@ private: GtkWidget *m_targetsWidget; // for getting list of supported formats bool m_open; - bool m_usePrimary; bool m_formatSupported; +public: + // async stuff + wxEvtHandlerRef m_sink; +private: + GtkWidget *m_targetsWidgetAsync; // for getting list of supported formats DECLARE_DYNAMIC_CLASS(wxClipboard) };