Changes needed to accomodate wxTheClipboard now being a macro for wxClipboard::Get
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@27928 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -334,7 +334,6 @@
|
|||||||
%rename(DragCancel) wxDragCancel;
|
%rename(DragCancel) wxDragCancel;
|
||||||
%rename(IsDragResultOk) wxIsDragResultOk;
|
%rename(IsDragResultOk) wxIsDragResultOk;
|
||||||
%rename(Clipboard) wxClipboard;
|
%rename(Clipboard) wxClipboard;
|
||||||
%rename(TheClipboard) wxTheClipboard;
|
|
||||||
%rename(ClipboardLocker) wxClipboardLocker;
|
%rename(ClipboardLocker) wxClipboardLocker;
|
||||||
%rename(VideoMode) wxVideoMode;
|
%rename(VideoMode) wxVideoMode;
|
||||||
%rename(DefaultVideoMode) wxDefaultVideoMode;
|
%rename(DefaultVideoMode) wxDefaultVideoMode;
|
||||||
|
@@ -7,6 +7,7 @@ PyDropTarget
|
|||||||
#SystemSettings_GetSystemFont
|
#SystemSettings_GetSystemFont
|
||||||
#SystemSettings_GetSystemMetric
|
#SystemSettings_GetSystemMetric
|
||||||
|
|
||||||
|
TheClipboard
|
||||||
|
|
||||||
# With the * on the end these will cause code to be added that
|
# With the * on the end these will cause code to be added that
|
||||||
# will scan for other names in the source module tha have the
|
# will scan for other names in the source module tha have the
|
||||||
|
@@ -117,13 +117,40 @@ exit. Returns False if the operation is unsuccesful for any reason.", "");
|
|||||||
"On platforms supporting it (the X11 based platforms), selects the
|
"On platforms supporting it (the X11 based platforms), selects the
|
||||||
so called PRIMARY SELECTION as the clipboard as opposed to 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.", "");
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
%immutable;
|
// Previously we just declared wxTheClipboard as a global, but in C++
|
||||||
wxClipboard* const wxTheClipboard;
|
// is has been changed to be a macro for wxClipboard::Get, but the
|
||||||
%mutable;
|
// 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:
|
||||||
|
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)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
//---------------------------------------------------------------------------
|
//---------------------------------------------------------------------------
|
||||||
|
@@ -825,7 +825,6 @@ void wxPy_ReinitStockObjects(int pass)
|
|||||||
REINITOBJ(wxTheColourDatabase, wxColourDatabase);
|
REINITOBJ(wxTheColourDatabase, wxColourDatabase);
|
||||||
|
|
||||||
|
|
||||||
REINITOBJ(wxTheClipboard, wxClipboard);
|
|
||||||
REINITOBJ2(wxDefaultValidator, wxValidator);
|
REINITOBJ2(wxDefaultValidator, wxValidator);
|
||||||
REINITOBJ2(wxNullImage, wxImage);
|
REINITOBJ2(wxNullImage, wxImage);
|
||||||
REINITOBJ2(wxNullAcceleratorTable, wxAcceleratorTable);
|
REINITOBJ2(wxNullAcceleratorTable, wxAcceleratorTable);
|
||||||
|
@@ -563,7 +563,7 @@ wxFileDropTarget = wx._misc.FileDropTarget
|
|||||||
wxFileDropTargetPtr = wx._misc.FileDropTargetPtr
|
wxFileDropTargetPtr = wx._misc.FileDropTargetPtr
|
||||||
wxClipboard = wx._misc.Clipboard
|
wxClipboard = wx._misc.Clipboard
|
||||||
wxClipboardPtr = wx._misc.ClipboardPtr
|
wxClipboardPtr = wx._misc.ClipboardPtr
|
||||||
wxTheClipboard = wx._misc.TheClipboard
|
wxClipboard_Get = wx._misc.Clipboard_Get
|
||||||
wxClipboardLocker = wx._misc.ClipboardLocker
|
wxClipboardLocker = wx._misc.ClipboardLocker
|
||||||
wxClipboardLockerPtr = wx._misc.ClipboardLockerPtr
|
wxClipboardLockerPtr = wx._misc.ClipboardLockerPtr
|
||||||
wxVideoMode = wx._misc.VideoMode
|
wxVideoMode = wx._misc.VideoMode
|
||||||
@@ -576,5 +576,6 @@ wxDisplay_GetFromPoint = wx._misc.Display_GetFromPoint
|
|||||||
wxDisplay_GetFromWindow = wx._misc.Display_GetFromWindow
|
wxDisplay_GetFromWindow = wx._misc.Display_GetFromWindow
|
||||||
wxPyTimer = wx._misc.PyTimer
|
wxPyTimer = wx._misc.PyTimer
|
||||||
wxPyDropTarget = wx._misc.PyDropTarget
|
wxPyDropTarget = wx._misc.PyDropTarget
|
||||||
|
wxTheClipboard = wx._misc.TheClipboard
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user