]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/gtk/clipbrd.h
Fix bug with using invalid date in wxMSW wxCalendarCtrl.
[wxWidgets.git] / include / wx / gtk / clipbrd.h
index df956005426450f824b76ddad05f91f2bd57cdf6..4af988f80cf4ab9a4b8084f9647c8fd14cfa8739 100644 (file)
@@ -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$
 // Purpose:     wxClipboard for wxGTK
 // Author:      Robert Roebling, Vadim Zeitlin
 // Id:          $Id$
@@ -15,6 +15,8 @@
 // wxClipboard
 // ----------------------------------------------------------------------------
 
 // wxClipboard
 // ----------------------------------------------------------------------------
 
+#include "wx/weakref.h"
+
 class WXDLLIMPEXP_CORE wxClipboard : public wxClipboardBase
 {
 public:
 class WXDLLIMPEXP_CORE wxClipboard : public wxClipboardBase
 {
 public:
@@ -46,6 +48,9 @@ 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 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 );
 
     // fill data with data on the clipboard (if available)
     virtual bool GetData( wxDataObject& data );
 
@@ -60,8 +65,8 @@ public:
     // get our clipboard item (depending on m_usePrimary value)
     GdkAtom GTKGetClipboardAtom() const;
 
     // 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);
 
     // clear the data for the given clipboard kind
     void GTKClearData(Kind kind);
@@ -73,12 +78,19 @@ public:
     bool GTKOnTargetReceived(const wxDataFormat& format);
 
 private:
     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()
     {
     // 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);
 
     // set or unset selection ownership
     bool SetSelectionOwner(bool set = true);
 
@@ -109,6 +121,11 @@ private:
     bool m_open;
     bool m_formatSupported;
 
     bool m_open;
     bool m_formatSupported;
 
+public:
+    // async stuff
+    wxEvtHandlerRef    m_sink;
+private:
+    GtkWidget         *m_targetsWidgetAsync;  // for getting list of supported formats
 
     DECLARE_DYNAMIC_CLASS(wxClipboard)
 };
 
     DECLARE_DYNAMIC_CLASS(wxClipboard)
 };