"""
 
 
-import sys
+import sys, os
 from wxPython.wx import *
 
 #----------------------------------------------------------------------------
     def __init__(self, name, module):
         self.name = name
         self.demoModule = module
-        wxApp.__init__(self, 0)
+        wxApp.__init__(self, 0) ##wxPlatform == "__WXMAC__")
+
 
     def OnInit(self):
         wxInitAllImageHandlers()
         frame = wxFrame(None, -1, "RunDemo: " + self.name, size=(0,0),
                         style=wxNO_FULL_REPAINT_ON_RESIZE|wxDEFAULT_FRAME_STYLE)
         frame.CreateStatusBar()
+        menuBar = wxMenuBar()
+        menu = wxMenu()
+        menu.Append(101, "E&xit\tAlt-X", "Exit demo")
+        EVT_MENU(self, 101, self.OnButton)
+        menuBar.Append(menu, "&File")
+        frame.SetMenuBar(menuBar)
         frame.Show(true)
         win = self.demoModule.runTest(frame, frame, Log())
 
             # otherwise the demo made its own frame, so just put a
             # button in this one
             if hasattr(frame, 'otherWin'):
-                wxButton(frame, 1101, " Exit ")
+                b = wxButton(frame, -1, " Exit ")
                 frame.SetSize((200, 100))
-                EVT_BUTTON(frame, 1101, self.OnButton)
+                EVT_BUTTON(frame, b.GetId(), self.OnButton)
             else:
                 # It was probably a dialog or something that is already
                 # gone, so we're done.
 
         self.SetTopWindow(frame)
         self.frame = frame
+        #wxLog_SetActiveTarget(wxLogStderr())
+        #wxLog_SetTraceMask(wxTraceMessages)
         return true
 
 
 
 
 def main(argv):
-    if len(argv) != 2:
+    if len(argv) < 2:
         print "Please specify a demo module name on the command-line"
         raise SystemExit