# 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,
}
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__