X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/42e2bbb9e149c589ab03cf6d2adec0617a9f0f24..6a6c9417a880900ac40ce031d2aa4a19658171e9:/wxPython/src/_core_ex.py diff --git a/wxPython/src/_core_ex.py b/wxPython/src/_core_ex.py index 8ede13afee..bd9ecf759e 100644 --- a/wxPython/src/_core_ex.py +++ b/wxPython/src/_core_ex.py @@ -30,6 +30,24 @@ if RELEASE_VERSION != _core_.RELEASE_VERSION: import warnings warnings.warn("wxPython/wxWidgets release number mismatch") + +def version(): + """Returns a string containing version and port info""" + ctype = wx.USE_UNICODE and 'unicode' or 'ansi' + if wx.Platform == '__WXMSW__': + port = 'msw' + elif wx.Platform == '__WXMAC__': + port = 'mac' + elif wx.Platform == '__WXGTK__': + port = 'gtk' + if 'gtk2' in wx.PlatformInfo: + port = 'gtk2' + else: + port = '?' + + return "%s (%s-%s)" % (wx.VERSION_STRING, port, ctype) + + #---------------------------------------------------------------------------- # Set wxPython's default string<-->unicode conversion encoding from @@ -49,7 +67,10 @@ if default == 'ascii': import locale import codecs try: - default = locale.getdefaultlocale()[1] + if hasattr(locale, 'getpreferredencoding'): + default = locale.getpreferredencoding() + else: + default = locale.getdefaultlocale()[1] codecs.lookup(default) except (ValueError, LookupError, TypeError): default = _sys.getdefaultencoding() @@ -127,7 +148,7 @@ def CallAfter(callable, *args, **kw): 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` + :see: `wx.CallLater` """ app = wx.GetApp() assert app is not None, 'No wx.App created yet' @@ -146,7 +167,7 @@ def CallAfter(callable, *args, **kw): #---------------------------------------------------------------------------- -class FutureCall: +class CallLater: """ A convenience class for `wx.Timer`, that calls the given callable object once after the given amount of milliseconds, passing any @@ -157,7 +178,7 @@ class FutureCall: then there is no need to hold a reference to this object. It will hold a reference to itself while the timer is running (the timer has a reference to self.Notify) but the cycle will be broken when - the timer completes, automatically cleaning up the wx.FutureCall + the timer completes, automatically cleaning up the wx.CallLater object. :see: `wx.CallAfter` @@ -247,6 +268,9 @@ class FutureCall: Result = property(GetResult) +class FutureCall(CallLater): + """A compatibility alias for `CallLater`.""" + #---------------------------------------------------------------------------- # Control which items in this module should be documented by epydoc. # We allow only classes and functions, which will help reduce the size