|
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- # GUI Demo - just a worker script to invoke all the other demo/test scripts.
- import sys
-
- import __main__
- import regutil
- import win32api
- import win32ui
-
- 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()
|