X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/eddb964405c1db1a931a347611aed0af6ee0e3b7..86ac84b8ce086e6bbda58f422d41f84268606e35:/include/wx/gtk/clipbrd.h diff --git a/include/wx/gtk/clipbrd.h b/include/wx/gtk/clipbrd.h index d9f59e75b1..548e911743 100644 --- a/include/wx/gtk/clipbrd.h +++ b/include/wx/gtk/clipbrd.h @@ -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 // -------------------------- @@ -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) };