]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/src/_app_ex.py
added a test to check how exception handling works with Win32 SEH; corrected copyright
[wxWidgets.git] / wxPython / src / _app_ex.py
index 47881890441d1aa9b3f875350a6d38dddbbfd074..bae7df624e75cdf8622922e7b089a94804229945 100644 (file)
@@ -11,6 +11,8 @@ class PyOnDemandOutputWindow:
     def __init__(self, title = "wxPython: stdout/stderr"):
         self.frame  = None
         self.title  = title
     def __init__(self, title = "wxPython: stdout/stderr"):
         self.frame  = None
         self.title  = title
+        self.pos    = wx.DefaultPosition
+        self.size   = (450, 300)
         self.parent = None
 
     def SetParent(self, parent):
         self.parent = None
 
     def SetParent(self, parent):
@@ -19,12 +21,11 @@ class PyOnDemandOutputWindow:
 
 
     def CreateOutputWindow(self, st):
 
 
     def CreateOutputWindow(self, st):
-        self.frame = wx.Frame(self.parent, -1, self.title,
-                              style=wx.DEFAULT_FRAME_STYLE | wx.NO_FULL_REPAINT_ON_RESIZE)
+        self.frame = wx.Frame(self.parent, -1, self.title, self.pos, self.size,
+                              style=wx.DEFAULT_FRAME_STYLE)
         self.text  = wx.TextCtrl(self.frame, -1, "",
         self.text  = wx.TextCtrl(self.frame, -1, "",
-                                 style = wx.TE_MULTILINE | wx.TE_READONLY)
+                                 style=wx.TE_MULTILINE|wx.TE_READONLY)
         self.text.AppendText(st)
         self.text.AppendText(st)
-        self.frame.SetSize((450, 300))
         self.frame.Show(True)
         EVT_CLOSE(self.frame, self.OnCloseWindow)
         
         self.frame.Show(True)
         EVT_CLOSE(self.frame, self.OnCloseWindow)
         
@@ -60,6 +61,10 @@ class PyOnDemandOutputWindow:
             wx.CallAfter(self.frame.Close)
 
 
             wx.CallAfter(self.frame.Close)
 
 
+    def flush(self):
+        pass
+    
+
 
 #----------------------------------------------------------------------
 
 
 #----------------------------------------------------------------------
 
@@ -86,7 +91,7 @@ class App(wx.PyApp):
     ``self.SetTopWindow(frame)``.
 
     :see: `wx.PySimpleApp` for a simpler app class that can be used
     ``self.SetTopWindow(frame)``.
 
     :see: `wx.PySimpleApp` for a simpler app class that can be used
-    directly.
+           directly.
     """
     
     outputWindowClass = PyOnDemandOutputWindow
     """
     
     outputWindowClass = PyOnDemandOutputWindow
@@ -133,6 +138,8 @@ This program needs access to the screen. Please run with 'pythonw',
 not 'python', and only when you are logged in on the main display of
 your Mac."""
                     _sys.exit(1)
 not 'python', and only when you are logged in on the main display of
 your Mac."""
                     _sys.exit(1)
+            except SystemExit:
+                raise
             except:
                 pass
 
             except:
                 pass
 
@@ -158,6 +165,9 @@ your Mac."""
         if redirect:
             self.RedirectStdio(filename)
 
         if redirect:
             self.RedirectStdio(filename)
 
+        # Use Python's install prefix as the default  
+        wx.StandardPaths.Get().SetInstallPrefix(_sys.prefix)
+
         # This finishes the initialization of wxWindows and then calls
         # the OnInit that should be present in the derived class
         self._BootstrapApp()
         # This finishes the initialization of wxWindows and then calls
         # the OnInit that should be present in the derived class
         self._BootstrapApp()
@@ -196,6 +206,22 @@ your Mac."""
         _sys.stdout, _sys.stderr = self.saveStdio
 
 
         _sys.stdout, _sys.stderr = self.saveStdio
 
 
+    def SetOutputWindowAttributes(self, title=None, pos=None, size=None):
+        """
+        Set the title, position and/or size of the output window if
+        the stdio has been redirected.  This should be called before
+        any output would cause the output window to be created.
+        """
+        if self.stdioWin:
+            if title is not None:
+                self.stdioWin.title = title
+            if pos is not None:
+                self.stdioWin.pos = pos
+            if size is not None:
+                self.stdioWin.size = size
+            
+
+
 
 # change from wx.PyApp_XX to wx.App_XX
 App_GetMacSupportPCMenuShortcuts = _core_.PyApp_GetMacSupportPCMenuShortcuts
 
 # change from wx.PyApp_XX to wx.App_XX
 App_GetMacSupportPCMenuShortcuts = _core_.PyApp_GetMacSupportPCMenuShortcuts
@@ -234,7 +260,6 @@ class PySimpleApp(wx.App):
         wx.App.__init__(self, redirect, filename, useBestVisual, clearSigInt)
         
     def OnInit(self):
         wx.App.__init__(self, redirect, filename, useBestVisual, clearSigInt)
         
     def OnInit(self):
-        wx.InitAllImageHandlers()
         return True
 
 
         return True