1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- # GUI Demo - just a worker script to invoke all the other demo/test scripts.
- import win32ui
- import __main__
- import sys
- import regutil
- import win32api
- demos = [ \
- # ('Font', 'import fontdemo;fontdemo.FontDemo()'),
- ('Open GL Demo', 'import openGLDemo;openGLDemo.test()'),
- ('Threaded GUI', 'import threadedgui;threadedgui.ThreadedDemo()'),
- ('Tree View Demo', 'import hiertest;hiertest.demoboth()'),
- ('3-Way Splitter Window', 'import splittst;splittst.demo()'),
- ('Custom Toolbars and Tooltips', 'import toolbar;toolbar.test()'),
- ('Progress Bar', 'import progressbar;progressbar.demo()'),
- ('Slider Control', 'import sliderdemo;sliderdemo.demo()'),
- ('Dynamic window creation', 'import createwin;createwin.demo()'),
- ('Various Dialog demos', 'import dlgtest;dlgtest.demo()'),
- ('OCX Control Demo', 'from ocx import ocxtest;ocxtest.demo()'),
- ('OCX Serial Port Demo', 'from ocx import ocxserialtest; ocxserialtest.test()'),
- ('IE4 Control Demo', 'from ocx import webbrowser; webbrowser.Demo("http://www.python.org")'),
- ]
- def demo():
- try:
- # seeif I can locate the demo files.
- import fontdemo
- except ImportError:
- # else put the demos direectory on the path (if not already)
- try:
- instPath = regutil.GetRegistryDefaultValue(regutil.BuildDefaultPythonKey() + "\\InstallPath")
- except win32api.error:
- print("The InstallPath can not be located, and the Demos directory is not on the path")
- instPath="."
-
- demosDir = win32ui.FullPath(instPath + "\\Demos")
- for path in sys.path:
- if win32ui.FullPath(path)==demosDir:
- break
- else:
- sys.path.append(demosDir)
- import fontdemo
- import sys
- if "/go" in sys.argv:
- for name, cmd in demos:
- try:
- exec(cmd)
- except:
- print("Demo of %s failed - %s:%s" % (cmd,sys.exc_info()[0], sys.exc_info()[1]))
- return
- # Otherwise allow the user to select the demo to run
- import pywin.dialogs.list
- while 1:
- rc = pywin.dialogs.list.SelectFromLists( "Select a Demo", demos, ['Demo Title'] )
- if rc is None:
- break
- title, cmd = demos[rc]
- try:
- exec(cmd)
- except:
- print("Demo of %s failed - %s:%s" % (title,sys.exc_info()[0], sys.exc_info()[1]))
- if __name__==__main__.__name__:
- import demoutils
- if demoutils.NeedGoodGUI():
- demo()
|