]>
Commit | Line | Data |
---|---|---|
1 | # 11/21/2003 - Jeff Grimmett (grimmtooth@softhome.net) | |
2 | # | |
3 | # o Updated for wx namespace | |
4 | # | |
5 | # 11/30/2003 - Jeff Grimmett (grimmtooth@softhome.net) | |
6 | # | |
7 | # o wx.ProgressDialog appears to be broken. No abort button | |
8 | # and it's not possible to dismiss it otherwise. | |
9 | # | |
10 | ||
11 | import wx | |
12 | ||
13 | #--------------------------------------------------------------------------- | |
14 | ||
15 | class TestPanel(wx.Panel): | |
16 | def __init__(self, parent, log): | |
17 | self.log = log | |
18 | wx.Panel.__init__(self, parent, -1) | |
19 | ||
20 | b = wx.Button(self, -1, "Create and Show a ProgressDialog", (50,50)) | |
21 | self.Bind(wx.EVT_BUTTON, self.OnButton, b) | |
22 | ||
23 | ||
24 | def OnButton(self, evt): | |
25 | max = 20 | |
26 | ||
27 | dlg = wx.ProgressDialog("Progress dialog example", | |
28 | "An informative message", | |
29 | maximum = max, | |
30 | parent=self, | |
31 | style = wx.PD_CAN_ABORT | wx.PD_APP_MODAL) | |
32 | ||
33 | keepGoing = True | |
34 | count = 0 | |
35 | ||
36 | while keepGoing and count < max: | |
37 | count = count + 1 | |
38 | #print count | |
39 | wx.Sleep(1) | |
40 | ||
41 | if count == max / 2: | |
42 | keepGoing = dlg.Update(count, "Half-time!") | |
43 | else: | |
44 | keepGoing = dlg.Update(count) | |
45 | ||
46 | dlg.Destroy() | |
47 | ||
48 | #--------------------------------------------------------------------------- | |
49 | ||
50 | ||
51 | def runTest(frame, nb, log): | |
52 | win = TestPanel(nb, log) | |
53 | return win | |
54 | ||
55 | #--------------------------------------------------------------------------- | |
56 | ||
57 | ||
58 | overview = """\ | |
59 | <html><body> | |
60 | This class represents a dialog that shows a short message and a progress bar. | |
61 | Optionally, it can display an ABORT button | |
62 | <p> | |
63 | This dialog indicates the progress of some event that takes a while to accomplish, | |
64 | usually, such as file copy progress, download progress, and so on. The display | |
65 | is <b>completely</b> under control of the program; you must update the dialog from | |
66 | within the program creating it. | |
67 | <p> | |
68 | When the dialog closes, you must check to see if the user aborted the process or | |
69 | not, and act accordingly -- that is, if the PD_CAN_ABORT style flag is set. | |
70 | If not then you may progress blissfully onward. | |
71 | </body></html> | |
72 | """ | |
73 | ||
74 | if __name__ == '__main__': | |
75 | import sys,os | |
76 | import run | |
77 | run.main(['', os.path.basename(sys.argv[0])] + sys.argv[1:]) |