]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/demo/ErrorDialogs.py
Got rid of the BIN dir
[wxWidgets.git] / wxPython / demo / ErrorDialogs.py
index c205c6bf910576593376cce8d8ed750a4e104385..f264f8f92f057090c1064a8fadfe9f75c5ed91b9 100644 (file)
 # usual wxWindows license stuff here.
 # by Chris Fama, with thanks to Robin Dunn, and others on the wxPython-users
 # mailing list.
+#
+# 11/22/2003 - Jeff Grimmett (grimmtooth@softhome.net)
+#
+# o Updated for wx namespace
+# 
+# 11/25/2003 - Jeff Grimmett (grimmtooth@softhome.net)
+#
+# o Looks like we have issues until the library is updated.
+#   - Had to rename back to wx* naming conventions
+#   - Getting unusual failures in the library itself when that is done.
+#
+
+import  sys
+
+import  wx
+import  wx.lib.ErrorDialogs as  edlg
 
-from wxPython.wx import *
-from wxPython.lib.ErrorDialogs import *
 _debug = 0
-ID_BUTTON_wxPyFatalErrorDialog = 10001
-ID_BUTTON_wxPyNonFatalErrorDialog = 10002
-ID_BUTTON_wxPyFatalErrorDialogWithTraceback = 10003
-ID_BUTTON_wxPyNonFatalErrorDialogWithTraceback = 10004
 
-def ErrorDialogsDemoPanelFunc( parent, call_fit = true, set_sizer = true ):
-    item0 = wxBoxSizer( wxVERTICAL )
+ID_TEXT = 10000
+ID_BUTTON_wxPyNonFatalError = 10001
+ID_BUTTON_wxPyFatalError = 10002
+ID_BUTTON_wxPyFatalErrorDialog = 10003
+ID_BUTTON_wxPyNonFatalErrorDialog = 10004
+ID_BUTTON_wxPyFatalErrorDialogWithTraceback = 10005
+ID_BUTTON_wxPyNonFatalErrorDialogWithTraceback = 10006
 
-    item1 = wxStaticText( parent, -1, "Please select one of the buttons below...", wxDefaultPosition, wxDefaultSize, 0 )
-    item0.AddWindow( item1, 0, wxALIGN_CENTRE|wxALL, 5 )
+def ErrorDialogsDemoPanelFunc( parent, call_fit = True, set_sizer = True ):
+    item0 = wx.BoxSizer( wx.VERTICAL )
 
-    item2 = wxFlexGridSizer( 0, 2, 0, 0 )
+    item1 = wx.StaticText(
+        parent, ID_TEXT, 
+        "Please select one of the buttons below for an example using explicit errors..."
+        )
+        
+    item0.AddWindow( item1, 0, wx.ALIGN_CENTRE|wx.ALL, 5 )
 
-    item6 = wxButton( parent, ID_BUTTON_wxPyNonFatalErrorDialogWithTraceback, "wxPyNonFatalErrorDialogWithTraceback", wxDefaultPosition, wxDefaultSize, 0 )
-    item6.SetDefault()
-    item2.AddWindow( item6, 0, wxALIGN_CENTRE|wxALL, 5 )
+    item2 = wx.FlexGridSizer( 0, 2, 0, 0 )
 
-    item3 = wxButton( parent, ID_BUTTON_wxPyFatalErrorDialog, "wxPyFatalErrorDialog", wxDefaultPosition, wxDefaultSize, 0 )
-    item2.AddWindow( item3, 0, wxALIGN_CENTRE|wxALL, 5 )
+    item3 = wx.Button( parent, ID_BUTTON_wxPyNonFatalError, "wxPyNonFatalError")
+    item2.AddWindow( item3, 0, wx.ALIGN_CENTRE|wx.ALL, 5 )
 
-    item4 = wxButton( parent, ID_BUTTON_wxPyNonFatalErrorDialog, "wxPyNonFatalErrorDialog", wxDefaultPosition, wxDefaultSize, 0 )
-    item2.AddWindow( item4, 0, wxALIGN_CENTRE|wxALL, 5 )
+    item4 = wx.Button( parent, ID_BUTTON_wxPyFatalError, "wxPyFatalError")
+    item2.AddWindow( item4, 0, wx.ALIGN_CENTRE|wx.ALL, 5 )
 
-    item5 = wxButton( parent, ID_BUTTON_wxPyFatalErrorDialogWithTraceback, "wxPyFatalErrorDialogWithTraceback", wxDefaultPosition, wxDefaultSize, 0 )
-    item2.AddWindow( item5, 0, wxALIGN_CENTRE|wxALL, 5 )
+    item0.AddSizer( item2, 0, wx.ALIGN_CENTRE|wx.ALL, 5 )
 
-    item0.AddSizer( item2, 0, wxALIGN_CENTRE|wxALL, 5 )
+    item5 = wx.StaticText( parent, ID_TEXT, "Please select one of the buttons below for interpreter errors...")
+    item0.AddWindow( item5, 0, wx.ALIGN_CENTRE|wx.ALL, 5 )
 
-    if set_sizer == true:
-        parent.SetAutoLayout( true )
+    item6 = wx.FlexGridSizer( 0, 2, 0, 0 )
+
+    item7 = wx.Button( parent, ID_BUTTON_wxPyFatalErrorDialog, "wxPyFatalErrorDialog")
+    item6.AddWindow( item7, 0, wx.ALIGN_CENTRE|wx.ALL, 5 )
+
+    item8 = wx.Button( parent, ID_BUTTON_wxPyNonFatalErrorDialog, "wxPyNonFatalErrorDialog")
+    item6.AddWindow( item8, 0, wx.ALIGN_CENTRE|wx.ALL, 5 )
+
+    item9 = wx.Button(
+        parent, ID_BUTTON_wxPyFatalErrorDialogWithTraceback, 
+        "wxPyFatalErrorDialogWithTraceback"
+        )
+    item6.AddWindow( item9, 0, wx.ALIGN_CENTRE|wx.ALL, 5 )
+
+    item10 = wx.Button(
+        parent, ID_BUTTON_wxPyNonFatalErrorDialogWithTraceback, 
+        "wxPyNonFatalErrorDialogWithTraceback"
+        )
+    item10.SetDefault()
+    item6.AddWindow( item10, 0, wx.ALIGN_CENTRE|wx.ALL, 5 )
+
+    item0.AddSizer( item6, 0, wx.ALIGN_CENTRE|wx.ALL, 5 )
+
+    item11 = wx.FlexGridSizer( 0, 2, 0, 0 )
+
+    item0.AddSizer( item11, 0, wx.ALIGN_CENTRE|wx.ALL, 5 )
+
+    if set_sizer == True:
+        parent.SetAutoLayout( True )
         parent.SetSizer( item0 )
-        if call_fit == true:
+        if call_fit == True:
             item0.Fit( parent )
             item0.SetSizeHints( parent )
 
     return item0
 
-# End of generated bit
+# Menu bar functions
+
+# Bitmap functions
 
-class MyPanel(wxPanel):
+
+# End of generated file
+
+class MyPanel(wx.Panel):
     def __init__(self,parent=None):
-        wxPanel.__init__(self,parent,-1)
+        wx.Panel.__init__(self,parent,-1)
+
         args = (None, -1)
         kwargs = {
             'programname': "sumthing",
             'mailto': "me@sumwear",
-            'whendismissed': "from wxPython.wx import * ; wxBell()"}
+            'whendismissed': "from wxPython.wx import * ; wxBell()"
+            }
+
         self.dialogs = map(apply,
-                           [wxPyNonFatalErrorDialogWithTraceback,
-                            wxPyNonFatalErrorDialog,#WithTraceback
-                            wxPyFatalErrorDialogWithTraceback,
-                            wxPyFatalErrorDialog],#WithTraceback
+                           [edlg.wxPyNonFatalErrorDialogWithTraceback,
+                            edlg.wxPyNonFatalErrorDialog,#WithTraceback
+                            edlg.wxPyFatalErrorDialogWithTraceback,
+                            edlg.wxPyFatalErrorDialog #WithTraceback
+                            ],
                            (args,) * 4,
-                           (kwargs,) * 4)
+                           (kwargs,) * 4
+                           )
+
         ErrorDialogsDemoPanelFunc(self)
 
-        EVT_BUTTON(self,
-                   ID_BUTTON_wxPyFatalErrorDialog,
-                   self.DoDialog)
-        EVT_BUTTON(self,
-                   ID_BUTTON_wxPyFatalErrorDialogWithTraceback,
-                   self.DoDialog)
-        EVT_BUTTON(self,
-                   ID_BUTTON_wxPyNonFatalErrorDialog,
-                   self.DoDialog)
-        EVT_BUTTON(self,
-                   ID_BUTTON_wxPyNonFatalErrorDialogWithTraceback,
-                   self.DoDialog)
-        EVT_CLOSE(self,self.OnClose)
+        self.Bind(wx.EVT_BUTTON, self.DoDialog, id=ID_BUTTON_wxPyFatalErrorDialog)
+        self.Bind(wx.EVT_BUTTON, self.DoDialog, id=ID_BUTTON_wxPyNonFatalError)
+        self.Bind(wx.EVT_BUTTON, self.DoDialog, id=ID_BUTTON_wxPyFatalError)
+        self.Bind(wx.EVT_BUTTON, self.DoDialog, id=ID_BUTTON_wxPyFatalErrorDialogWithTraceback)
+        self.Bind(wx.EVT_BUTTON, self.DoDialog, id=ID_BUTTON_wxPyNonFatalErrorDialog)
+        self.Bind(wx.EVT_BUTTON, self.DoDialog, id=ID_BUTTON_wxPyNonFatalErrorDialogWithTraceback)
 
     IndexFromID = {
         ID_BUTTON_wxPyFatalErrorDialog: 3,
@@ -84,45 +133,65 @@ class MyPanel(wxPanel):
         }
 
     def DoDialog(self,event):
-        sys.stderr = self.dialogs[self.IndexFromID[event.GetId()]]
-        print "%s.DoDialog(): testing %s..." % (self,sys.stderr)
-        this_will_generate_a_NameError_exception
-
-    def OnClose(self,evt):
+        id = event.GetId()
+
+        if id in [ID_BUTTON_wxPyFatalError,ID_BUTTON_wxPyNonFatalError]:
+            if id == ID_BUTTON_wxPyFatalError:
+                print "%s.DoDialog(): testing explicit wxPyFatalError..."\
+                      % self
+                edlg.wxPyFatalError(self,"Test Non-fatal error.<p>"
+                               "Nearly arbitrary HTML (i.e., that which is"
+                               " understood by <B><I>wxHtmlWindow</i></b>)."
+                               "<p><table border=\"2\"><tr><td>This</td><td>is</td></tr>"
+                               "<tr><td>a</td><td>table</td></tr></table></p>")
+            else:
+                print "%s.DoDialog(): testing explicit wxPyNonFatalError..."\
+                      % self
+                edlg.wxPyNonFatalError(self,"Test Non-fatal error.<p>"
+                                  "Nearly arbitrary HTML (i.e., that which is"
+                                  " understood by <B><I>wxHtmlWindow</i></b>)."
+                                  "<p><table border=\"2\"><tr><td>This</td><td>is</td></tr>"
+                                  "<tr><td>a</td><td>table</td></tr></table></p>")
+        else:
+            sys.stderr = self.dialogs[self.IndexFromID[id]]
+            print "%s.DoDialog(): testing %s..." % (self,sys.stderr)
+            this_will_generate_a_NameError_exception
+
+    def ShutdownDemo(self):
         for d in self.dialogs:
-            d.Destroy ()
-        self.Destroy ()
+            d.Destroy()
+
+
 
-class MyFrame(wxFrame):
+class MyFrame(wx.Frame):
     def __init__(self,parent=None):
-        wxFrame.__init__(self,parent,-1,
+        wx.Frame.__init__(self,parent,-1,
                          "Please make a selection...",
                          )
-        self. panel = MyPanel(self)
-        EVT_CLOSE (self,self.OnCloseWindow)
+        self.panel = MyPanel(self)
+        self.Bind(wx.EVT_CLOSE, self.OnCloseWindow)
 
     def OnCloseWindow(self,event):
         self.panel.Close()
         self.Destroy()
 
-class MyApp(wxApp):
+class MyApp(wx.App):
     def OnInit(self):
         frame = MyFrame()
-        frame.Show(true)
+        frame.Show(True)
         self.SetTopWindow(frame)
-        return true
+        return True
 
 def runTest(pframe, nb, log):
     panel = MyPanel(nb)
     return panel
 
-from wxPython.lib import ErrorDialogs
-ErrorDialogs._debug = 1
+edlg._debug = 1
 
 if __name__ == "__main__":
-    sys.stderr = wxPyNonWindowingErrorHandler()
+    sys.stderr = edlg.wxPyNonWindowingErrorHandler()
     app = MyApp(0)
     app.MainLoop()
     sys.exit()
 else:
-    overview = ErrorDialogs.__doc__
+    overview = edlg.__doc__