def CreateOutputWindow(self, st):
self.frame = wx.Frame(self.parent, -1, self.title,
style=wx.DEFAULT_FRAME_STYLE | wx.NO_FULL_REPAINT_ON_RESIZE)
- self.text = wxTextCtrl(self.frame, -1, "",
- style = wx.TE_MULTILINE | wx.TE_READONLY)
+ self.text = wx.TextCtrl(self.frame, -1, "",
+ style = wx.TE_MULTILINE | wx.TE_READONLY)
+ self.text.AppendText(st)
self.frame.SetSize((450, 300))
self.frame.Show(True)
EVT_CLOSE(self.frame, self.OnCloseWindow)
+ def OnCloseWindow(self, event):
+ if self.frame is not None:
+ self.frame.Destroy()
+ self.frame = None
+ self.text = None
+
+
# These methods provide the file-like output behaviour.
def write(self, text):
"""
wx.CallAfter(self.frame.Close)
- def OnCloseWindow(self, event):
- if self.frame is not None:
- self.frame.Destroy()
- self.frame = None
- self.text = None
#----------------------------------------------------------------------
def SetTopWindow(self, frame):
+ """Set the \"main\" top level window"""
if self.stdioWin:
self.stdioWin.SetParent(frame)
wx.PyApp.SetTopWindow(self, frame)
def MainLoop(self):
+ """Execute the main GUI event loop"""
wx.PyApp.MainLoop(self)
self.RestoreStdio()
- def RedirectStdio(self, filename):
+ def RedirectStdio(self, filename=None):
+ """Redirect sys.stdout and sys.stderr to a file or a popup window."""
if filename:
_sys.stdout = _sys.stderr = open(filename, 'a')
else:
# change from wxPyApp_ to wxApp_
-App_GetMacSupportPCMenuShortcuts = _core.PyApp_GetMacSupportPCMenuShortcuts
-App_GetMacAboutMenuItemId = _core.PyApp_GetMacAboutMenuItemId
-App_GetMacPreferencesMenuItemId = _core.PyApp_GetMacPreferencesMenuItemId
-App_GetMacExitMenuItemId = _core.PyApp_GetMacExitMenuItemId
-App_GetMacHelpMenuTitleName = _core.PyApp_GetMacHelpMenuTitleName
-App_SetMacSupportPCMenuShortcuts = _core.PyApp_SetMacSupportPCMenuShortcuts
-App_SetMacAboutMenuItemId = _core.PyApp_SetMacAboutMenuItemId
-App_SetMacPreferencesMenuItemId = _core.PyApp_SetMacPreferencesMenuItemId
-App_SetMacExitMenuItemId = _core.PyApp_SetMacExitMenuItemId
-App_SetMacHelpMenuTitleName = _core.PyApp_SetMacHelpMenuTitleName
-App_GetComCtl32Version = _core.PyApp_GetComCtl32Version
+App_GetMacSupportPCMenuShortcuts = _core_.PyApp_GetMacSupportPCMenuShortcuts
+App_GetMacAboutMenuItemId = _core_.PyApp_GetMacAboutMenuItemId
+App_GetMacPreferencesMenuItemId = _core_.PyApp_GetMacPreferencesMenuItemId
+App_GetMacExitMenuItemId = _core_.PyApp_GetMacExitMenuItemId
+App_GetMacHelpMenuTitleName = _core_.PyApp_GetMacHelpMenuTitleName
+App_SetMacSupportPCMenuShortcuts = _core_.PyApp_SetMacSupportPCMenuShortcuts
+App_SetMacAboutMenuItemId = _core_.PyApp_SetMacAboutMenuItemId
+App_SetMacPreferencesMenuItemId = _core_.PyApp_SetMacPreferencesMenuItemId
+App_SetMacExitMenuItemId = _core_.PyApp_SetMacExitMenuItemId
+App_SetMacHelpMenuTitleName = _core_.PyApp_SetMacHelpMenuTitleName
+App_GetComCtl32Version = _core_.PyApp_GetComCtl32Version
#----------------------------------------------------------------------------
wx.App.__init__(self, 0)
def OnInit(self):
- self.frame = wxFrame(None, -1, "Widget Tester", pos=(0,0), size=self.size)
+ self.frame = wx.Frame(None, -1, "Widget Tester", pos=(0,0), size=self.size)
self.SetTopWindow(self.frame)
return True
class __wxPyCleanup:
def __init__(self):
- self.cleanup = _core.App_CleanUp
+ self.cleanup = _core_.App_CleanUp
def __del__(self):
self.cleanup()
## # another possible solution, but it gets called too early...
## if sys.version[0] == '2':
## import atexit
-## atexit.register(_core.wxApp_CleanUp)
+## atexit.register(_core_.wxApp_CleanUp)
## else:
-## sys.exitfunc = _core.wxApp_CleanUp
+## sys.exitfunc = _core_.wxApp_CleanUp
#----------------------------------------------------------------------------