]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/demo/ProgressDialog.py
add support for wxCONTROL_ISDEFAULT to wxRendererMSW::DrawPushButton() (modified...
[wxWidgets.git] / wxPython / demo / ProgressDialog.py
index 6a5fe70cfe6a70c95713f7211ce8567e9001d42f..5e120a460027eb9420e90c6fd697da24bf488c8f 100644 (file)
@@ -12,30 +12,50 @@ 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 = count + 1
-        #print count
-        wx.Sleep(1)
+        while keepGoing and count < max:
+            count += 1
+            wx.MilliSleep(250)
 
-        if count == max / 2:
-            keepGoing = dlg.Update(count, "Half-time!")
-        else:
-            keepGoing = dlg.Update(count)
+            if count >= max / 2:
+                (keepGoing, skip) = dlg.Update(count, "Half-time!")
+            else:
+                (keepGoing, skip) = dlg.Update(count)
 
-    dlg.Destroy()
+                
+        dlg.Destroy()
 
+#---------------------------------------------------------------------------
+
+
+def runTest(frame, nb, log):
+    win = TestPanel(nb, log)
+    return win
 
 #---------------------------------------------------------------------------