]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/src/_clipbrd.i
No animate contrib anymore
[wxWidgets.git] / wxPython / src / _clipbrd.i
index 7fd9be453453cedbe48854eac984b727c6b0c814..b11ac31e969c67a3511de6c035d99b8eb3bce63e 100644 (file)
@@ -33,7 +33,7 @@ clipboard and relinquish ownership. You should keep the clipboard open
 only momentarily.
 
 :see: `wx.DataObject`
 only momentarily.
 
 :see: `wx.DataObject`
-");
+", "");
 
 
 
 
 
 
@@ -41,7 +41,7 @@ class wxClipboard : public wxObject {
 public:
     DocCtorStr(
         wxClipboard(),
 public:
     DocCtorStr(
         wxClipboard(),
-        "");
+        "", "");
     
     ~wxClipboard();
 
     
     ~wxClipboard();
 
@@ -51,21 +51,21 @@ public:
         "Call this function to open the clipboard before calling SetData and
 GetData.  Call Close when you have finished with the clipboard.  You
 should keep the clipboard open for only a very short time.  Returns
         "Call this function to open the clipboard before calling SetData and
 GetData.  Call Close when you have finished with the clipboard.  You
 should keep the clipboard open for only a very short time.  Returns
-True on success.");
+True on success.", "");
     
 
     DocDeclStr(
         virtual void , Close(),
     
 
     DocDeclStr(
         virtual void , Close(),
-        "Closes the clipboard.");
+        "Closes the clipboard.", "");
     
 
     DocDeclStr(
         virtual bool , IsOpened() const,
     
 
     DocDeclStr(
         virtual bool , IsOpened() const,
-        "Query whether the clipboard is opened");
+        "Query whether the clipboard is opened", "");
     
 
 
     
 
 
-    %apply SWIGTYPE *DISOWN { wxDataObject *data };
+    %disownarg( wxDataObject *data );
     
     DocDeclStr(
         virtual bool , AddData( wxDataObject *data ),
     
     DocDeclStr(
         virtual bool , AddData( wxDataObject *data ),
@@ -74,7 +74,7 @@ call this function repeatedly after having cleared the clipboard.
 After this function has been called, the clipboard owns the data, so
 do not delete the data explicitly.
 
 After this function has been called, the clipboard owns the data, so
 do not delete the data explicitly.
 
-:see: `wx.DataObject`");
+:see: `wx.DataObject`", "");
     
 
     DocDeclStr(
     
 
     DocDeclStr(
@@ -82,26 +82,26 @@ do not delete the data explicitly.
         "Set the clipboard data, this is the same as `Clear` followed by
 `AddData`.
 
         "Set the clipboard data, this is the same as `Clear` followed by
 `AddData`.
 
-:see: `wx.DataObject`");
+:see: `wx.DataObject`", "");
+    
+    %cleardisown( wxDataObject *data );
     
     
-
-    %clear wxDataObject *data;
     
     DocDeclStr(
         virtual bool , IsSupported( const wxDataFormat& format ),
         "Returns True if the given format is available in the data object(s) on
     
     DocDeclStr(
         virtual bool , IsSupported( const wxDataFormat& format ),
         "Returns True if the given format is available in the data object(s) on
-the clipboard.");
+the clipboard.", "");
 
     DocDeclStr(
         virtual bool , GetData( wxDataObject& data ),
         "Call this function to fill data with data on the clipboard, if
 
     DocDeclStr(
         virtual bool , GetData( wxDataObject& data ),
         "Call this function to fill data with data on the clipboard, if
-available in the required format. Returns true on success.");
+available in the required format. Returns true on success.", "");
     
     
     DocDeclStr(
         virtual void , Clear(),
         "Clears data from the clipboard object and also the system's clipboard
     
     
     DocDeclStr(
         virtual void , Clear(),
         "Clears data from the clipboard object and also the system's clipboard
-if possible.");
+if possible.", "");
     
 
     DocDeclStr(
     
 
     DocDeclStr(
@@ -109,21 +109,51 @@ if possible.");
         "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
         "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.  Returns False if the operation is unsuccesful for any reason.");
+exit.  Returns False if the operation is unsuccesful for any reason.", "");
     
 
     DocDeclStr(
     
 
     DocDeclStr(
-        virtual void , UsePrimarySelection( bool primary = True ),
+        virtual void , UsePrimarySelection( bool primary = true ),
         "On platforms supporting it (the X11 based platforms), selects the
 so called PRIMARY SELECTION as the clipboard as opposed to the
         "On platforms supporting it (the X11 based platforms), selects the
 so called PRIMARY SELECTION as the clipboard as opposed to the
-normal clipboard, if primary is True.");
-};
+normal clipboard, if primary is True.", "");
+
 
 
+    DocDeclStr(
+        static wxClipboard *, Get(),
+        "Returns global instance (wxTheClipboard) of the object.", "");
+
+    %property(Data, GetData, SetData, doc="See `GetData` and `SetData`");
+    
+};
 
 
-%immutable;
-wxClipboard* const wxTheClipboard;
-%mutable;
 
 
+// Previously we just declared wxTheClipboard as a global, but in C++
+// is has been changed to be a macro for wxClipboard::Get, but the
+// swig generated code will try to evaluate it when it assigns to the
+// swig wrapper var so this causes Get to be called too early on
+// wxGTK.  So instead we'll create a Python class that can delay the
+// Get until it is really needed, which is similar in effect to what
+// is really happening on the C++ side too.
+%pythoncode {
+    class _wxPyDelayedInitWrapper(object):
+        def __init__(self, initfunc, *args, **kwargs):
+            self._initfunc = initfunc
+            self._args = args
+            self._kwargs = kwargs
+            self._instance = None
+        def _checkInstance(self):
+            if self._instance is None:
+                if wx.GetApp():
+                    self._instance = self._initfunc(*self._args, **self._kwargs)        
+        def __getattr__(self, name):
+            self._checkInstance()
+            return getattr(self._instance, name)
+        def __repr__(self):
+            self._checkInstance()
+            return repr(self._instance)
+    TheClipboard = _wxPyDelayedInitWrapper(Clipboard.Get)
+}
 
 
 //---------------------------------------------------------------------------
 
 
 //---------------------------------------------------------------------------
@@ -131,7 +161,7 @@ wxClipboard* const wxTheClipboard;
 
 DocStr(wxClipboardLocker,
 "A helpful class for opening the clipboard and automatically
 
 DocStr(wxClipboardLocker,
 "A helpful class for opening the clipboard and automatically
-closing it when the locker is destroyed.");
+closing it when the locker is destroyed.", "");
 
 class wxClipboardLocker
 {
 
 class wxClipboardLocker
 {
@@ -141,7 +171,7 @@ public:
 
     DocStr(__nonzero__,
            "A ClipboardLocker instance evaluates to True if the clipboard was
 
     DocStr(__nonzero__,
            "A ClipboardLocker instance evaluates to True if the clipboard was
-successfully opened.")
+successfully opened.", "");
     %extend {
         bool __nonzero__()   { return !!(*self); }
     }
     %extend {
         bool __nonzero__()   { return !!(*self); }
     }