X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/660658398148d82d492a5d1a944bc4058a082267..b94aea930437cd4d488ac13dbb283693389408c6:/wxPython/src/_core_ex.py diff --git a/wxPython/src/_core_ex.py b/wxPython/src/_core_ex.py index fdfe05f5b6..ad4f9364ea 100644 --- a/wxPython/src/_core_ex.py +++ b/wxPython/src/_core_ex.py @@ -6,6 +6,8 @@ try: except NameError: __builtins__.True = 1==1 __builtins__.False = 1==0 + def bool(value): return not not value + __builtins__.bool = bool @@ -22,9 +24,9 @@ __wxPyPtrTypeMap['wxStatusBar95'] = 'wxStatusBar' from __version__ import * __version__ = VERSION_STRING -assert MAJOR_VERSION == _core.MAJOR_VERSION, "wxPython/wxWindows version mismatch" -assert MINOR_VERSION == _core.MINOR_VERSION, "wxPython/wxWindows version mismatch" -if RELEASE_VERSION != _core.RELEASE_VERSION: +assert MAJOR_VERSION == _core_.MAJOR_VERSION, "wxPython/wxWindows version mismatch" +assert MINOR_VERSION == _core_.MINOR_VERSION, "wxPython/wxWindows version mismatch" +if RELEASE_VERSION != _core_.RELEASE_VERSION: import warnings warnings.warn("wxPython/wxWindows release number mismatch") @@ -62,7 +64,7 @@ class PyUnbornObjectError(AttributeError): class _wxPyUnbornObject(object): """ - Some stock objects are created when the wx.core module is + Some stock objects are created when the wx._core module is imported, but their C++ instance is not created until the wx.App object is created and initialized. These object instances will temporarily have their __class__ changed to this class so an @@ -94,10 +96,13 @@ 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' + assert app is not None, 'No wx.App created yet' global _wxPyCallAfterId if _wxPyCallAfterId is None: @@ -120,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 @@ -128,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 @@ -211,20 +218,46 @@ class FutureCall: wx.CallAfter(self.Stop) + +#---------------------------------------------------------------------------- +# Control which items in this module should be documented by epydoc. +# We allow only classes and functions, which will help reduce the size +# of the docs by filtering out the zillions of constants, EVT objects, +# and etc that don't make much sense by themselves, but are instead +# documented (or will be) as part of the classes/functions/methods +# where they should be used. + +class __DocFilter: + """ + A filter for epydoc that only allows non-Ptr classes and + fucntions, in order to reduce the clutter in the API docs. + """ + def __init__(self, globals): + self._globals = globals + + def __call__(self, name): + import types + obj = self._globals.get(name, None) + if type(obj) not in [type, types.ClassType, types.FunctionType, types.BuiltinFunctionType]: + return False + if name.startswith('_') or name.endswith('Ptr') or name.startswith('EVT'): + return False + return True + #---------------------------------------------------------------------------- #---------------------------------------------------------------------------- # Import other modules in this package that should show up in the # "core" wx namespace -from gdi import * -from windows import * -from controls import * -from misc import * +from _gdi import * +from _windows import * +from _controls import * +from _misc import * # Fixup the stock objects since they can't be used yet. (They will be # restored in wx.PyApp.OnInit.) -_core._wxPyFixStockObjects() +_core_._wxPyFixStockObjects() #---------------------------------------------------------------------------- #----------------------------------------------------------------------------