]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/gtk1/clipbrd.h
Added wxPrivateDropTarget
[wxWidgets.git] / include / wx / gtk1 / clipbrd.h
index b8d488a7471f4b66cc00a250b2f0b33548c2fb10..ace437d5d90a356fadc400ff53c896d6b3f3acbf 100644 (file)
 #endif
 
 #include "wx/defs.h"
+
+#if wxUSE_CLIPBOARD
+
 #include "wx/object.h"
 #include "wx/list.h"
+#include "wx/dataobj.h"
 #include "wx/control.h"
-#include "wx/dnd.h"      // for wxDataObject
 #include "wx/module.h"
 
 //-----------------------------------------------------------------------------
@@ -48,31 +51,41 @@ public:
   wxClipboard();
   ~wxClipboard();
 
-  virtual void SetData( wxDataObject *data );
+  // open the clipboard before SetData() and GetData()
+  virtual bool Open();
   
-  virtual bool IsSupportedFormat( wxDataFormat format );
-  virtual bool ObtainData( wxDataFormat format );
+  // close the clipboard after SetData() and GetData()
+  virtual void Close();
   
-  // call these after ObtainData()
-  virtual size_t GetDataSize() const;
-  virtual void GetDataHere( void *data ) const;
+  // can be called several times
+  virtual bool SetData( wxDataObject *data );
+
+  // format available on the clipboard ? 
+  // supply ID if private format, the same as wxPrivateDataObject::SetId() 
+  virtual bool IsSupportedFormat( wxDataFormat format, const wxString &id = "" );
+  
+  // 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();
 
  // implementation 
+  GdkAtom    GetTargetAtom( wxDataFormat format, const wxString &id = "" );
+  bool              m_open;
+  
+  bool              m_ownsClipboard;
+  bool              m_ownsPrimarySelection;
   
-  wxDataObject     *m_data;
-  char             *m_sentString, 
-                  *m_receivedString;
-  void             *m_receivedTargets;
+  wxList            m_dataObjects;
   GtkWidget        *m_clipboardWidget;
   
   bool              m_formatSupported;
   GdkAtom           m_targetRequested;
 
-  size_t            m_receivedSize;
-  char              *m_receivedData;
+  wxDataObject      *m_receivedData;
 };
 
 //-----------------------------------------------------------------------------
@@ -89,6 +102,9 @@ public:
     void OnExit();
 };
 
+#endif
+
+   // wxUSE_CLIPBOARD
 
 #endif
     // __GTKCLIPBOARDH__