]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/demo/ProgressDialog.py
added missing button state
[wxWidgets.git] / wxPython / demo / ProgressDialog.py
index 91441759769016a9be460d310b6891a4fc7ff4dd..5e120a460027eb9420e90c6fd697da24bf488c8f 100644 (file)
@@ -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 = """\
+<html><body>
 This class represents a dialog that shows a short message and a progress bar. 
 Optionally, it can display an ABORT button
-
+<p>
 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 <b>completely</b> under control of the program; you must update the dialog from
 within the program creating it. 
-
+<p>
 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.
-
+</body></html>
 """
 
 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:])