on the command line.
"""
-import wx # This module uses the new wx namespace
+import wx
+import wx.lib.mixins.inspection
import sys, os
# stuff for debugging
-print "wx.VERSION_STRING = ", wx.VERSION_STRING
+print "wx.version:", wx.version()
print "pid:", os.getpid()
-##raw_input("Press a key...")
+##raw_input("Press Enter...")
assertMode = wx.PYAPP_ASSERT_DIALOG
##assertMode = wx.PYAPP_ASSERT_EXCEPTION
write = WriteText
-class RunDemoApp(wx.App):
+class RunDemoApp(wx.App, wx.lib.mixins.inspection.InspectionMixin):
def __init__(self, name, module, useShell):
self.name = name
self.demoModule = module
self.useShell = useShell
- wx.App.__init__(self, 0)
+ wx.App.__init__(self, redirect=False)
def OnInit(self):
- wx.InitAllImageHandlers()
wx.Log_SetActiveTarget(wx.LogStderr())
self.SetAssertMode(assertMode)
+ self.Init() # InspectionMixin
frame = wx.Frame(None, -1, "RunDemo: " + self.name, pos=(50,50), size=(200,100),
- style=wx.NO_FULL_REPAINT_ON_RESIZE|wx.DEFAULT_FRAME_STYLE)
+ style=wx.DEFAULT_FRAME_STYLE, name="run a sample")
frame.CreateStatusBar()
menuBar = wx.MenuBar()
menu = wx.Menu()
- item = menu.Append(-1, "E&xit\tAlt-X", "Exit demo")
- self.Bind(wx.EVT_MENU, self.OnButton, item)
+ item = menu.Append(-1, "E&xit\tCtrl-Q", "Exit demo")
+ self.Bind(wx.EVT_MENU, self.OnExitApp, item)
menuBar.Append(menu, "&File")
ns = {}
+ ns['wx'] = wx
ns['app'] = self
ns['module'] = self.demoModule
ns['frame'] = frame
frect = frame.GetRect()
else:
- # otherwise the demo made its own frame, so just put a
- # button in this one
- if hasattr(frame, 'otherWin'):
- ns['win'] = frame.otherWin
- frect = frame.otherWin.GetRect()
- p = wx.Panel(frame, -1)
- b = wx.Button(p, -1, " Exit ", (10,10))
- p.Fit()
- frame.SetClientSize(p.GetSize())
- #frame.SetSize((200, 100))
- frame.Bind(wx.EVT_BUTTON, self.OnButton, b)
- else:
- # It was probably a dialog or something that is already
- # gone, so we're done.
- frame.Destroy()
- return True
+ # It was probably a dialog or something that is already
+ # gone, so we're done.
+ frame.Destroy()
+ return True
self.SetTopWindow(frame)
self.frame = frame
# Hook the close event of the test window so that we close
# the shell at the same time
def CloseShell(evt):
- shell.Close()
+ if shell:
+ shell.Close()
evt.Skip()
frame.Bind(wx.EVT_CLOSE, CloseShell)
return True
- def OnButton(self, evt):
+ def OnExitApp(self, evt):
self.frame.Close(True)