]>
git.saurik.com Git - wxWidgets.git/blob - utils/wxPython/demo/run.py
2 #----------------------------------------------------------------------------
4 # Purpose: Simple framework for running individual demos
8 # Created: 6-March-2000
10 # Copyright: (c) 2000 by Total Control Software
11 # Licence: wxWindows license
12 #----------------------------------------------------------------------------
15 This program will load and run one of the individual demos in this
16 directory within its own frame window. Just specify the module name
22 from wxPython
.wx
import *
24 #----------------------------------------------------------------------------
27 def WriteText(self
, text
):
28 sys
.stdout
.write(text
)
32 class RunDemoApp(wxApp
):
33 def __init__(self
, name
, module
):
35 self
.demoModule
= module
36 wxApp
.__init
__(self
, 0)
39 wxInitAllImageHandlers()
40 frame
= wxFrame(None, -1, "RunDemo: " + self
.name
, size
=(0,0))
41 frame
.CreateStatusBar()
43 win
= self
.demoModule
.runTest(frame
, frame
, Log())
45 # a window will be returned if the demo does not create
46 # its own top-level window
48 # so set the frame to a good size for showing stuff
49 frame
.SetSize((600, 450))
52 # otherwise the demo made its own frame, so just put a
54 if hasattr(frame
, 'otherWin'):
55 wxButton(frame
, 1101, " Exit ")
56 frame
.SetSize((200, 100))
57 EVT_BUTTON(frame
, 1101, self
.OnButton
)
59 # It was probably a dialog or something that is already
60 # gone, so we're done.
64 self
.SetTopWindow(frame
)
69 def OnButton(self
, evt
):
70 self
.frame
.Close(true
)
72 #----------------------------------------------------------------------------
77 print "Please specify a demo module name on the command-line"
81 module
= __import__(name
)
84 app
= RunDemoApp(name
, module
)
89 if __name__
== "__main__":