rendered paste bodyimport wx
class ErrorDialog(wx.Dialog):
def __init__(self, message, size=wx.DefaultSize,
pos=wx.DefaultPosition, style=wx.DEFAULT_DIALOG_STYLE|wx.RESIZE_BORDER):
pre = wx.PreDialog()
pre.Create(None, -1, 'Error', pos, size, style)
self.this = pre.this
sizer = wx.BoxSizer(wx.VERTICAL)
text = wx.TextCtrl(self, -1, message, wx.DefaultPosition,
[300,150], style=wx.TE_MULTILINE|wx.TE_READONLY)
sizer.Add(text, 1, wx.GROW|wx.ALIGN_CENTRE|wx.ALL, 5)
box = wx.BoxSizer(wx.HORIZONTAL)
btn = wx.Button(self, wx.ID_OK, u' OK ')
box.Add(btn, 0, wx.ALIGN_CENTRE|wx.ALL, 5)
sizer.Add(box, 0, wx.ALIGN_RIGHT|wx.ALL, 5)
self.SetSizer(sizer)
self.SetAutoLayout(True)
sizer.Fit(self)
self.Center()
self.progress = 0
self.timeout = 1000
self.timer = wx.Timer(self, 0)
self.Bind(wx.EVT_TIMER, self.OnTimer, self.timer)
self.timer.Start(250)
def OnTimer(self, evt):
self.progress += 250
if self.progress >= self.timeout:
return self.OnClose(1)
def OnClose(self, evt):
self.EndModal(True)
self.Destroy()
if self.progress >= self.timeout:
self.timer.Stop()
d = ClosingDialog("Timed Dialog")
d.ShowModal()
class ClosingDialog(wx.Dialog):
def __init__(self, message, size=wx.DefaultSize,
pos=wx.DefaultPosition, style=wx.DEFAULT_DIALOG_STYLE|wx.RESIZE_BORDER):
pre = wx.PreDialog()
pre.Create(None, -1, 'Closing', pos, size, style)
self.this = pre.this
sizer = wx.BoxSizer(wx.VERTICAL)
text = wx.TextCtrl(self, -1, message, wx.DefaultPosition,
[600,300], style=wx.TE_MULTILINE|wx.TE_READONLY)
sizer.Add(text, 1, wx.GROW|wx.ALIGN_CENTRE|wx.ALL, 5)
box = wx.BoxSizer(wx.HORIZONTAL)
btn = wx.Button(self, wx.ID_OK, u' OK ')
box.Add(btn, 0, wx.ALIGN_CENTRE|wx.ALL, 5)
sizer.Add(box, 0, wx.ALIGN_RIGHT|wx.ALL, 5)
self.SetSizer(sizer)
self.SetAutoLayout(True)
sizer.Fit(self)
self.Center()
app = wx.PySimpleApp()
d = ErrorDialog("Hello World!")
d.ShowModal()