]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/x11/clipbrd.h
added operator[] for STL builds
[wxWidgets.git] / include / wx / x11 / clipbrd.h
index 848bfe65655800377b0aee28b9964a3670d979d2..0abdaf4759dffaacfa21fa5af956a3d760937a03 100644 (file)
@@ -1,84 +1,84 @@
 /////////////////////////////////////////////////////////////////////////////
 // Name:        clipbrd.h
 // Purpose:     Clipboard functionality.
-// Author:      Julian Smart
-// Modified by:
+// Author:      Robert Roebling
 // Created:     17/09/98
 // RCS-ID:      $Id$
-// Copyright:   (c) Julian Smart
+// Copyright:   (c) Robert Roebling
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
-#ifndef _WX_CLIPBRD_H_
-#define _WX_CLIPBRD_H_
-
-#ifdef __GNUG__
-#pragma interface "clipbrd.h"
-#endif
+#ifndef __X11CLIPBOARDH__
+#define __X11CLIPBOARDH__
 
 #if wxUSE_CLIPBOARD
 
+#include "wx/object.h"
 #include "wx/list.h"
+#include "wx/dataobj.h"
+#include "wx/control.h"
+#include "wx/module.h"
 
-bool WXDLLEXPORT wxOpenClipboard();
-bool WXDLLEXPORT wxClipboardOpen();
-bool WXDLLEXPORT wxCloseClipboard();
-bool WXDLLEXPORT wxEmptyClipboard();
-bool WXDLLEXPORT wxIsClipboardFormatAvailable(wxDataFormat dataFormat);
-bool WXDLLEXPORT wxSetClipboardData(wxDataFormat dataFormat, wxObject *obj, int width = 0, int height = 0);
-wxObject* WXDLLEXPORT wxGetClipboardData(wxDataFormat dataFormat, long *len = NULL);
-wxDataFormat WXDLLEXPORT wxEnumClipboardFormats(wxDataFormat dataFormat);
-wxDataFormat WXDLLEXPORT wxRegisterClipboardFormat(char *formatName);
-bool WXDLLEXPORT wxGetClipboardFormatName(wxDataFormat dataFormat, char *formatName, int maxCount);
-
-//-----------------------------------------------------------------------------
+// ----------------------------------------------------------------------------
 // wxClipboard
-//-----------------------------------------------------------------------------
+// ----------------------------------------------------------------------------
 
-class wxClipboard : public wxClipboardBase
+class WXDLLIMPEXP_CORE wxClipboard : public wxClipboardBase
 {
 public:
     wxClipboard();
     ~wxClipboard();
-    
+
     // open the clipboard before SetData() and GetData()
     virtual bool Open();
-    
+
     // close the clipboard after SetData() and GetData()
     virtual void Close();
-    
-    // opened?
-    virtual bool IsOpened() const { return m_open; }
-    
-    // replaces the data on the clipboard with data
+
+    // query whether the clipboard is opened
+    virtual bool IsOpened() const;
+
+    // set the clipboard data. all other formats will be deleted.
     virtual bool SetData( wxDataObject *data );
-    
-    // adds data to the clipboard
+
+    // add to the clipboard data.
     virtual bool AddData( wxDataObject *data );
-    
-    // format available on the clipboard ?
+
+    // ask if data in correct format is available
     virtual bool IsSupported( const wxDataFormat& format );
-    
+
     // 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; }
+        { m_usePrimary = primary; }
     
     // implementation from now on
-    
     bool              m_open;
-    wxList            m_data;
+    bool              m_ownsClipboard;
+    bool              m_ownsPrimarySelection;
+    wxDataObject     *m_data;
+
+    WXWindow          m_clipboardWidget;  /* for getting and offering data */
+    WXWindow          m_targetsWidget;    /* for getting list of supported formats */
+    bool              m_waiting;          /* querying data or formats is asynchronous */
+
+    bool              m_formatSupported;
+    Atom              m_targetRequested;
     bool              m_usePrimary;
-    
+    wxDataObject     *m_receivedData;
+
 private:
     DECLARE_DYNAMIC_CLASS(wxClipboard)
 };
 
-#endif // wxUSE_CLIPBOARD
+#endif
+   // wxUSE_CLIPBOARD
 
 #endif
-// _WX_CLIPBRD_H_
+    // __X11CLIPBOARDH__