]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/src/_clipbrd.i
Merged the wxPy_newswig branch into the HEAD branch (main trunk)
[wxWidgets.git] / wxPython / src / _clipbrd.i
diff --git a/wxPython/src/_clipbrd.i b/wxPython/src/_clipbrd.i
new file mode 100644 (file)
index 0000000..d8d439d
--- /dev/null
@@ -0,0 +1,97 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name:        _clipbrd.i
+// Purpose:     SWIG definitions for the Clipboard
+//
+// Author:      Robin Dunn
+//
+// Created:     31-October-1999
+// RCS-ID:      $Id$
+// Copyright:   (c) 2003 by Total Control Software
+// Licence:     wxWindows license
+/////////////////////////////////////////////////////////////////////////////
+
+// Not a %module
+
+
+//---------------------------------------------------------------------------
+%newgroup
+
+%{
+%}
+
+
+
+// wxClipboard represents the system clipboard. Normally, you should use
+// wxTheClipboard which is a global pointer to the (unique) clipboard.
+//
+// Clipboard can be used to copy data to/paste data from. It works together
+// with wxDataObject.
+class wxClipboard : public wxObject {
+public:
+    wxClipboard();
+    ~wxClipboard();
+
+    // open the clipboard before Add/SetData() and GetData()
+    virtual bool Open();
+
+    // close the clipboard after Add/SetData() and GetData()
+    virtual void Close();
+
+    // query whether the clipboard is opened
+    virtual bool IsOpened() const;
+
+    // add to the clipboard data
+    //
+    // NB: the clipboard owns the pointer and will delete it, so data must be
+    //     allocated on the heap
+    virtual bool AddData( wxDataObject *data );
+
+    // set the clipboard data, this is the same as Clear() followed by
+    // AddData()
+    virtual bool SetData( wxDataObject *data );
+
+    // 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();
+
+    // flushes the clipboard: this means that the data which is currently on
+    // clipboard will stay available even after the application exits (possibly
+    // eating memory), otherwise the clipboard will be emptied on exit
+    virtual bool Flush();
+
+    // X11 has two clipboards which get selected by this call. Empty on MSW.
+    virtual void UsePrimarySelection( bool primary = FALSE );
+};
+
+
+%immutable;
+wxClipboard* const wxTheClipboard;
+%mutable;
+
+
+
+//---------------------------------------------------------------------------
+
+
+// helpful class for opening the clipboard and automatically closing it when
+// the locker is destroyed
+class wxClipboardLocker
+{
+public:
+    wxClipboardLocker(wxClipboard *clipboard = NULL);
+    ~wxClipboardLocker();
+
+    //bool operator!() const;
+
+    %extend {
+        bool __nonzero__()   { return !!(*self); }
+    }
+};
+
+
+//---------------------------------------------------------------------------