X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/299647acac7960652aadb008775429c1f8ea9b8d..7cd8f61a4bee51f7ba5ad701bc5a3070a5454695:/wxPython/demo/ProgressDialog.py diff --git a/wxPython/demo/ProgressDialog.py b/wxPython/demo/ProgressDialog.py index 9144175976..5e120a4600 100644 --- a/wxPython/demo/ProgressDialog.py +++ b/wxPython/demo/ProgressDialog.py @@ -12,50 +12,71 @@ import wx #--------------------------------------------------------------------------- -def runTest(frame, nb, log): - max = 20 - - dlg = wx.ProgressDialog("Progress dialog example", - "An informative message", - maximum = max, - parent=frame, - style = wx.PD_CAN_ABORT | wx.PD_APP_MODAL) +class TestPanel(wx.Panel): + def __init__(self, parent, log): + self.log = log + wx.Panel.__init__(self, parent, -1) + + b = wx.Button(self, -1, "Create and Show a ProgressDialog", (50,50)) + self.Bind(wx.EVT_BUTTON, self.OnButton, b) + + + def OnButton(self, evt): + max = 80 + + dlg = wx.ProgressDialog("Progress dialog example", + "An informative message", + maximum = max, + parent=self, + style = wx.PD_CAN_ABORT + | wx.PD_APP_MODAL + | wx.PD_ELAPSED_TIME + #| wx.PD_ESTIMATED_TIME + | wx.PD_REMAINING_TIME + ) + + keepGoing = True + count = 0 - keepGoing = True - count = 0 + while keepGoing and count < max: + count += 1 + wx.MilliSleep(250) - while keepGoing and count < max: - count = count + 1 - #print count - wx.Sleep(1) + if count >= max / 2: + (keepGoing, skip) = dlg.Update(count, "Half-time!") + else: + (keepGoing, skip) = dlg.Update(count) - if count == max / 2: - keepGoing = dlg.Update(count, "Half-time!") - else: - keepGoing = dlg.Update(count) + + dlg.Destroy() + +#--------------------------------------------------------------------------- - dlg.Destroy() +def runTest(frame, nb, log): + win = TestPanel(nb, log) + return win #--------------------------------------------------------------------------- overview = """\ + This class represents a dialog that shows a short message and a progress bar. Optionally, it can display an ABORT button - +

This dialog indicates the progress of some event that takes a while to accomplish, usually, such as file copy progress, download progress, and so on. The display is completely under control of the program; you must update the dialog from within the program creating it. - +

When the dialog closes, you must check to see if the user aborted the process or not, and act accordingly -- that is, if the PD_CAN_ABORT style flag is set. If not then you may progress blissfully onward. - + """ if __name__ == '__main__': import sys,os import run - run.main(['', os.path.basename(sys.argv[0])]) + run.main(['', os.path.basename(sys.argv[0])] + sys.argv[1:])