comments and cleanup
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@27493 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
96fc3ef4f0
commit
6186384153
@ -96,7 +96,10 @@ def CallAfter(callable, *args, **kw):
|
||||
"""
|
||||
Call the specified function after the current and pending event
|
||||
handlers have been completed. This is also good for making GUI
|
||||
method calls from non-GUI threads.
|
||||
method calls from non-GUI threads. Any extra positional or
|
||||
keyword args are passed on to the callable when it is called.
|
||||
|
||||
:see: `wx.FutureCall`
|
||||
"""
|
||||
app = wx.GetApp()
|
||||
assert app, 'No wxApp created yet'
|
||||
@ -122,7 +125,7 @@ class FutureCall:
|
||||
A convenience class for wx.Timer, that calls the given callable
|
||||
object once after the given amount of milliseconds, passing any
|
||||
positional or keyword args. The return value of the callable is
|
||||
availbale after it has been run with the GetResult method.
|
||||
availbale after it has been run with the `GetResult` method.
|
||||
|
||||
If you don't need to get the return value or restart the timer
|
||||
then there is no need to hold a reference to this object. It will
|
||||
@ -130,6 +133,8 @@ class FutureCall:
|
||||
has a reference to self.Notify) but the cycle will be broken when
|
||||
the timer completes, automatically cleaning up the wx.FutureCall
|
||||
object.
|
||||
|
||||
:see: `wx.CallAfter`
|
||||
"""
|
||||
def __init__(self, millis, callable, *args, **kwargs):
|
||||
self.millis = millis
|
||||
|
@ -30,6 +30,7 @@
|
||||
%native(_wxPySetDictionary) __wxPySetDictionary;
|
||||
%native(_wxPyFixStockObjects) __wxPyFixStockObjects;
|
||||
|
||||
|
||||
%pythoncode {
|
||||
%#// Give a reference to the dictionary of this module to the C++ extension
|
||||
%#// code.
|
||||
|
@ -5773,7 +5773,7 @@ class Window(EvtHandler):
|
||||
"""
|
||||
GetClientRect(self) -> Rect
|
||||
|
||||
Get the client area position and size as a wx.Rect object.
|
||||
Get the client area position and size as a `wx.Rect` object.
|
||||
"""
|
||||
return _core_.Window_GetClientRect(*args, **kwargs)
|
||||
|
||||
@ -9613,7 +9613,10 @@ def CallAfter(callable, *args, **kw):
|
||||
"""
|
||||
Call the specified function after the current and pending event
|
||||
handlers have been completed. This is also good for making GUI
|
||||
method calls from non-GUI threads.
|
||||
method calls from non-GUI threads. Any extra positional or
|
||||
keyword args are passed on to the callable when it is called.
|
||||
|
||||
:see: `wx.FutureCall`
|
||||
"""
|
||||
app = wx.GetApp()
|
||||
assert app, 'No wxApp created yet'
|
||||
@ -9639,7 +9642,7 @@ class FutureCall:
|
||||
A convenience class for wx.Timer, that calls the given callable
|
||||
object once after the given amount of milliseconds, passing any
|
||||
positional or keyword args. The return value of the callable is
|
||||
availbale after it has been run with the GetResult method.
|
||||
availbale after it has been run with the `GetResult` method.
|
||||
|
||||
If you don't need to get the return value or restart the timer
|
||||
then there is no need to hold a reference to this object. It will
|
||||
@ -9647,6 +9650,8 @@ class FutureCall:
|
||||
has a reference to self.Notify) but the cycle will be broken when
|
||||
the timer completes, automatically cleaning up the wx.FutureCall
|
||||
object.
|
||||
|
||||
:see: `wx.CallAfter`
|
||||
"""
|
||||
def __init__(self, millis, callable, *args, **kwargs):
|
||||
self.millis = millis
|
||||
|
@ -511,8 +511,8 @@ inline const char* dropwx(const char* name) {
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
|
||||
// This function is called when the wxc module is imported to do some initial
|
||||
// setup. (Before there is a wxApp object.) The rest happens in
|
||||
// This function is called when the wx._core_ module is imported to do some
|
||||
// initial setup. (Before there is a wxApp object.) The rest happens in
|
||||
// wxPyApp::_BootstrapApp
|
||||
void __wxPyPreStart(PyObject* moduleDict)
|
||||
{
|
||||
@ -665,20 +665,20 @@ bool wxPySwigInstance_Check(PyObject* obj) {
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
// The stock objects are no longer created when the wxc module is imported,
|
||||
// but only after the app object has been created. The
|
||||
// The stock objects are no longer created when the wx._core_ module is
|
||||
// imported, but only after the app object has been created. The
|
||||
// wxPy_ReinitStockObjects function will be called 3 times to pass the stock
|
||||
// objects though various stages of evolution:
|
||||
//
|
||||
// pass 1: Set all the pointers to a non-NULL value so the Python proxy
|
||||
// object will be created (otherwise it will just use None.)
|
||||
// object will be created (otherwise SWIG will just use None.)
|
||||
//
|
||||
// pass 2: After the module has been imported and the python proxys have
|
||||
// been created, then set the __class__ to be _wxPyUnbornObject so
|
||||
// it will catch any access to the object and will raise an exception.
|
||||
//
|
||||
// pass 3: Finally, from OnInit patch things up so the stock objects can
|
||||
// be used.
|
||||
// pass 3: Finally, from BootstrapApp patch things up so the stock objects
|
||||
// can be used.
|
||||
|
||||
|
||||
PyObject* __wxPyFixStockObjects(PyObject* /* self */, PyObject* args)
|
||||
@ -735,6 +735,17 @@ static void rsoPass3(const char* name, const char* classname, void* ptr)
|
||||
void wxPy_ReinitStockObjects(int pass)
|
||||
{
|
||||
|
||||
// If there is already an App object then wxPython is probably embedded in
|
||||
// a wx C++ application, so there is no need to do all this.
|
||||
static bool embedded = false;
|
||||
if ((pass == 1 || pass == 2) && wxTheApp) {
|
||||
embedded = true;
|
||||
return;
|
||||
}
|
||||
if (pass == 3 && embedded)
|
||||
return;
|
||||
|
||||
|
||||
#define REINITOBJ(name, classname) \
|
||||
if (pass == 1) { name = (classname*)0xC0C0C0C0; } \
|
||||
else if (pass == 2) { rsoPass2(#name); } \
|
||||
@ -745,17 +756,7 @@ void wxPy_ReinitStockObjects(int pass)
|
||||
if (pass == 1) { } \
|
||||
else if (pass == 2) { rsoPass2(#name); } \
|
||||
else if (pass == 3) { rsoPass3(#name, #classname, (void*)&name); }
|
||||
|
||||
// If there is already an App object then wxPython is probably embedded in
|
||||
// a wx C++ application, so there is no need to do all this.
|
||||
static bool embedded = false;
|
||||
if ((pass == 1 || pass == 2) && wxTheApp) {
|
||||
embedded = true;
|
||||
return;
|
||||
}
|
||||
if (pass == 3 && embedded)
|
||||
return;
|
||||
|
||||
|
||||
|
||||
REINITOBJ(wxNORMAL_FONT, wxFont);
|
||||
REINITOBJ(wxSMALL_FONT, wxFont);
|
||||
|
Loading…
Reference in New Issue
Block a user