Kano001's picture
Upload 498 files
d12bc25 verified
raw
history blame
2.71 kB
# 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()