X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8b9a4190f70909de9568f45389e7aa3ecbc66b8a..609b563c8b9ade4fcde9160f11c7deaf16a9f7b6:/wxPython/wx/py/PyWrap.py diff --git a/wxPython/wx/py/PyWrap.py b/wxPython/wx/py/PyWrap.py index 33d57f7b17..99a91f1833 100644 --- a/wxPython/wx/py/PyWrap.py +++ b/wxPython/wx/py/PyWrap.py @@ -1,11 +1,48 @@ +"""PyWrap is a command line utility that runs a wxPython program with +additional runtime-tools, such as PyCrust.""" -"""Renamer stub: provides a way to drop the wx prefix from wxPython objects.""" +__author__ = "Patrick K. O'Brien " +__cvsid__ = "$Id$" +__revision__ = "$Revision$"[11:-2] -from wx import _rename -from wxPython.py import PyWrap -_rename(globals(), PyWrap.__dict__, modulename='py.PyWrap') -del PyWrap -del _rename +import wx +from wx import py + +import os +import sys + +def wrap(app): + wx.InitAllImageHandlers() + frame = py.crust.CrustFrame() + frame.SetSize((750, 525)) + frame.Show(True) + frame.shell.interp.locals['app'] = app + app.MainLoop() + +def main(modulename=None): + sys.path.insert(0, os.curdir) + if not modulename: + if len(sys.argv) < 2: + print "Please specify a module name." + raise SystemExit + modulename = sys.argv[1] + if modulename.endswith('.py'): + modulename = modulename[:-3] + module = __import__(modulename) + # Find the App class. + App = None + d = module.__dict__ + for item in d.keys(): + try: + if issubclass(d[item], wx.App): + App = d[item] + except (NameError, TypeError): + pass + if App is None: + print "No App class was found." + raise SystemExit + app = App() + wrap(app) if __name__ == '__main__': main()