]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/gtk/clipbrd.h
look for backtrace() in -lexecinfo, fixes #9783
[wxWidgets.git] / include / wx / gtk / clipbrd.h
index d9f59e75b1ab4fdcb1f140b9e8f9410f808881f0..548e911743adbb7fd2ed5375c3403c9743644511 100644 (file)
@@ -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)
 };