]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/demo/run.py
moved vararg CRT functions wrappers to a new wxcrtvararg.h header
[wxWidgets.git] / wxPython / demo / run.py
index fb9b70a80f7e7846281cb2ea224779f048827143..b7b1a38ec0ffcc10962f2c9d7f24fd14225b92d5 100755 (executable)
@@ -17,13 +17,14 @@ directory within its own frame window.  Just specify the module name
 on the command line.
 """
 
-import wx                  # This module uses the new wx namespace
+import wx
+import wx.lib.mixins.inspection
 import sys, os
 
 # stuff for debugging
-print "wx.VERSION_STRING = ", wx.VERSION_STRING
+print "wx.version:", wx.version()
 print "pid:", os.getpid()
-##raw_input("Press a key...")
+##raw_input("Press Enter...")
 
 assertMode = wx.PYAPP_ASSERT_DIALOG
 ##assertMode = wx.PYAPP_ASSERT_EXCEPTION
@@ -39,31 +40,32 @@ class Log:
     write = WriteText
 
 
-class RunDemoApp(wx.App):
+class RunDemoApp(wx.App, wx.lib.mixins.inspection.InspectionMixin):
     def __init__(self, name, module, useShell):
         self.name = name
         self.demoModule = module
         self.useShell = useShell
-        wx.App.__init__(self, 0)
+        wx.App.__init__(self, redirect=False)
 
 
     def OnInit(self):
-        wx.InitAllImageHandlers()
         wx.Log_SetActiveTarget(wx.LogStderr())
 
         self.SetAssertMode(assertMode)
+        self.Init()  # InspectionMixin
 
         frame = wx.Frame(None, -1, "RunDemo: " + self.name, pos=(50,50), size=(200,100),
-                        style=wx.NO_FULL_REPAINT_ON_RESIZE|wx.DEFAULT_FRAME_STYLE)
+                        style=wx.DEFAULT_FRAME_STYLE, name="run a sample")
         frame.CreateStatusBar()
 
         menuBar = wx.MenuBar()
         menu = wx.Menu()
-        item = menu.Append(-1, "E&xit\tAlt-X", "Exit demo")
-        self.Bind(wx.EVT_MENU, self.OnButton, item)
+        item = menu.Append(-1, "E&xit\tCtrl-Q", "Exit demo")
+        self.Bind(wx.EVT_MENU, self.OnExitApp, item)
         menuBar.Append(menu, "&File")
 
         ns = {}
+        ns['wx'] = wx
         ns['app'] = self
         ns['module'] = self.demoModule
         ns['frame'] = frame
@@ -85,22 +87,10 @@ class RunDemoApp(wx.App):
             frect = frame.GetRect()
 
         else:
-            # otherwise the demo made its own frame, so just put a
-            # button in this one
-            if hasattr(frame, 'otherWin'):
-                ns['win'] = frame.otherWin
-                frect = frame.otherWin.GetRect()
-                p = wx.Panel(frame, -1)
-                b = wx.Button(p, -1, " Exit ", (10,10))
-                p.Fit()
-                frame.SetClientSize(p.GetSize())
-                #frame.SetSize((200, 100))
-                frame.Bind(wx.EVT_BUTTON, self.OnButton, b)
-            else:
-                # It was probably a dialog or something that is already
-                # gone, so we're done.
-                frame.Destroy()
-                return True
+            # It was probably a dialog or something that is already
+            # gone, so we're done.
+            frame.Destroy()
+            return True
 
         self.SetTopWindow(frame)
         self.frame = frame
@@ -119,14 +109,15 @@ class RunDemoApp(wx.App):
             # Hook the close event of the test window so that we close
             # the shell at the same time
             def CloseShell(evt):
-                shell.Close()
+                if shell:
+                    shell.Close()
                 evt.Skip()
             frame.Bind(wx.EVT_CLOSE, CloseShell)
                     
         return True
 
 
-    def OnButton(self, evt):
+    def OnExitApp(self, evt):
         self.frame.Close(True)