.. wxPython Phoenix documentation

   This file was generated by Phoenix's sphinx generator and associated
   tools, do not edit by hand.

   Copyright: (c) 2011-2020 by Total Control Software
   License:   wxWindows License

.. include:: headings.inc



.. _wx.ProgressDialog:

==========================================================================================================================================
|phoenix_title|  **wx.ProgressDialog**
==========================================================================================================================================

If supported by the platform this class will provide the platform's native progress dialog, else it will simply be the  ` :ref:`wx.GenericProgressDialog` ` .           




|

|class_hierarchy| Class Hierarchy
=================================

.. raw:: html

   <div id="toggleBlock" onclick="return toggleVisibility(this)" class="closed" style="cursor:pointer;">
   <img id="toggleBlock-trigger" src="_static/images/closed.png"/>
   Inheritance diagram for class <strong>ProgressDialog</strong>:
   </div>
   <div id="toggleBlock-summary" style="display:block;"></div>
   <div id="toggleBlock-content" style="display:none;">
   <p class="graphviz">
   <center><img src="_static/images/inheritance/wx.ProgressDialog_inheritance.png" alt="Inheritance diagram of ProgressDialog" usemap="#dummy" class="inheritance"/></center>
   <script type="text/javascript">toggleVisibilityOnLoad(document.getElementById('toggleBlock'))</script>
   <map id="dummy" name="dummy"> <area shape="rect" id="node1" href="wx.ProgressDialog.html" title="wx.ProgressDialog" alt="" coords="37,547,180,576"/> <area shape="rect" id="node2" href="wx.GenericProgressDialog.html" title="wx.GenericProgressDialog" alt="" coords="12,469,205,499"/> <area shape="rect" id="node3" href="wx.Dialog.html" title="wx.Dialog" alt="" coords="65,392,152,421"/> <area shape="rect" id="node4" href="wx.TopLevelWindow.html" title="wx.TopLevelWindow" alt="" coords="31,315,186,344"/> <area shape="rect" id="node5" href="wx.NonOwnedWindow.html" title="wx.NonOwnedWindow" alt="" coords="25,237,193,267"/> <area shape="rect" id="node6" href="wx.Window.html" title="wx.Window" alt="" coords="60,160,157,189"/> <area shape="rect" id="node7" href="wx.EvtHandler.html" title="wx.EvtHandler" alt="" coords="50,83,167,112"/> <area shape="rect" id="node8" href="wx.Object.html" title="wx.Object" alt="" coords="5,5,92,35"/> <area shape="rect" id="node9" href="wx.Trackable.html" title="wx.Trackable" alt="" coords="117,5,223,35"/> </map> 
   </p>
   </div>

|


|method_summary| Methods Summary
================================

================================================================================ ================================================================================
:meth:`~wx.ProgressDialog.__init__`                                              
:meth:`~wx.ProgressDialog.GetClassDefaultAttributes`                             
:meth:`~wx.ProgressDialog.GetMessage`                                            Returns the last message passed to the :meth:`~ProgressDialog.Update`   function; if you always passed EmptyString to :meth:`~ProgressDialog.Update`   then the message set through the constructor is returned.
:meth:`~wx.ProgressDialog.GetRange`                                              Returns the maximum value of the progress meter, as passed to the constructor or  ``NOT_FOUND``   if the dialog has no progress bar.
:meth:`~wx.ProgressDialog.GetValue`                                              Returns the last value passed to the :meth:`~ProgressDialog.Update`   function or  ``NOT_FOUND``   if the dialog has no progress bar.
:meth:`~wx.ProgressDialog.Pulse`                                                 Like :meth:`~ProgressDialog.Update`   but makes the gauge control run in indeterminate mode.
:meth:`~wx.ProgressDialog.Resume`                                                Can be used to continue with the dialog, after the user had clicked the "Abort" button.
:meth:`~wx.ProgressDialog.SetRange`                                              Changes the maximum value of the progress meter given in the constructor.
:meth:`~wx.ProgressDialog.Update`                                                Updates the dialog, setting the progress bar to the new value and updating the message if new one is specified.
:meth:`~wx.ProgressDialog.WasCancelled`                                          Returns ``True`` if the "Cancel" button was pressed.
:meth:`~wx.ProgressDialog.WasSkipped`                                            Returns ``True`` if the "Skip" button was pressed.
================================================================================ ================================================================================


|


|property_summary| Properties Summary
=====================================

================================================================================ ================================================================================
:attr:`~wx.ProgressDialog.Message`                                               See :meth:`~wx.ProgressDialog.GetMessage`
:attr:`~wx.ProgressDialog.Range`                                                 See :meth:`~wx.ProgressDialog.GetRange` and :meth:`~wx.ProgressDialog.SetRange`
:attr:`~wx.ProgressDialog.Value`                                                 See :meth:`~wx.ProgressDialog.GetValue`
================================================================================ ================================================================================


|


|api| Class API
===============


.. class:: wx.ProgressDialog(GenericProgressDialog)

   **Possible constructors**::

       ProgressDialog(title, message, maximum=100, parent=None,
                      style=PD_APP_MODAL|PD_AUTO_HIDE)
       
   
   If supported by the platform this class will provide the platform's
   native progress dialog, else it will simply be the
   GenericProgressDialog.



   .. method:: __init__(self, title, message, maximum=100, parent=None, style=PD_APP_MODAL|PD_AUTO_HIDE)




      :param `title`: 
      :type `title`: string
      :param `message`: 
      :type `message`: string
      :param `maximum`: 
      :type `maximum`: int
      :param `parent`: 
      :type `parent`: wx.Window
      :param `style`: 
      :type `style`: int







   .. staticmethod:: GetClassDefaultAttributes(variant=WINDOW_VARIANT_NORMAL)




      :param `variant`: 
      :type `variant`: wx.WindowVariant




      :rtype: :ref:`wx.VisualAttributes`








   .. method:: GetMessage(self)

      Returns the last message passed to the :meth:`Update`   function; if you always passed EmptyString to :meth:`Update`   then the message set through the constructor is returned.                  

                

      :rtype: `string`







      .. versionadded:: 2.9.0 
     








   .. method:: GetRange(self)

      Returns the maximum value of the progress meter, as passed to the constructor or  ``NOT_FOUND``   if the dialog has no progress bar.                   

                

      :rtype: `int`







      .. versionadded:: 2.9.0 
     








   .. method:: GetValue(self)

      Returns the last value passed to the :meth:`Update`   function or  ``NOT_FOUND``   if the dialog has no progress bar.                   

                

      :rtype: `int`







      .. versionadded:: 2.9.0 
     








   .. method:: Pulse(self, newmsg=EmptyString)

      Like :meth:`Update`   but makes the gauge control run in indeterminate mode.                  

      In indeterminate mode the remaining and the estimated time labels (if present) are set to "Unknown" or to `newmsg`  (if it's non-empty). Each call to this function moves the progress bar a bit to indicate that some progress was done. 

                


      :param `newmsg`: 
      :type `newmsg`: string




      :rtype: `tuple`







      :returns: 

         ( `bool`, `skip` ) 







      .. seealso:: :meth:`wx.Gauge.Pulse` , :meth:`Update`     








   .. method:: Resume(self)

      Can be used to continue with the dialog, after the user had clicked the "Abort" button.                   





   .. method:: SetRange(self, maximum)

      Changes the maximum value of the progress meter given in the constructor.                  

      This function can only be called (with a positive value) if the value passed in the constructor was positive. 

                


      :param `maximum`: 
      :type `maximum`: int






      .. versionadded:: 2.9.1 
     








   .. method:: Update(self, value, newmsg=EmptyString)

      Updates the dialog, setting the progress bar to the new value and updating the message if new one is specified.                  

      Returns ``True`` unless the "Cancel" button has been pressed. 

      If ``False`` is returned, the application can either immediately destroy the dialog or ask the user for the confirmation and if the abort is not confirmed the dialog may be resumed with :meth:`Resume`   function. 

      If `value`  is the maximum value for the dialog, the behaviour of the function depends on whether  ``PD_AUTO_HIDE``   was used when the dialog was created. If it was, the dialog is hidden and the function returns immediately. If it was not, the dialog becomes a modal dialog and waits for the user to dismiss it, meaning that this function does not return until this happens. 

      Notice that if `newmsg`  is longer than the currently shown message, the dialog will be automatically made wider to account for it. However if the new message is shorter than the previous one, the dialog doesn't shrink back to avoid constant resizes if the message is changed often. To do this and fit the dialog to its current contents you may call :meth:`Fit`   explicitly. However the native MSW implementation of this class does make the dialog shorter if the new text has fewer lines of text than the old one, so it is recommended to keep the number of lines of text constant in order to avoid jarring dialog size changes. You may also want to make the initial message, specified when creating the dialog, wide enough to avoid having to resize the dialog later, e.g. by appending a long string of unbreakable spaces ( :ref:`String`(L'\\u00a0', 100)) to it. 




      :param `value`: The new value of the progress meter. It should be less than or equal to the maximum value given to the constructor.   
      :type `value`: int
      :param `newmsg`: The new messages for the progress dialog text, if it is empty (which is the default) the message is not changed.   
      :type `newmsg`: string










      :rtype: `tuple`



                  



      :returns: 

         ( `bool`, `skip` ) 








   .. method:: WasCancelled(self)

      Returns ``True`` if the "Cancel" button was pressed.                  

      Normally a Cancel button press is indicated by :meth:`Update`   returning ``False`` but sometimes it may be more convenient to check if the dialog was cancelled from elsewhere in the code and this function allows doing it. 

      It always returns ``False`` if the Cancel button is not shown at all. 

                

      :rtype: `bool`







      .. versionadded:: 2.9.1 
     








   .. method:: WasSkipped(self)

      Returns ``True`` if the "Skip" button was pressed.                  

      This is similar to :meth:`WasCancelled`   but returns ``True`` if the "Skip" button was pressed, not the "Cancel" one. 

                

      :rtype: `bool`







      .. versionadded:: 2.9.1 
     








   .. attribute:: Message

      See :meth:`~wx.ProgressDialog.GetMessage`


   .. attribute:: Range

      See :meth:`~wx.ProgressDialog.GetRange` and :meth:`~wx.ProgressDialog.SetRange`


   .. attribute:: Value

      See :meth:`~wx.ProgressDialog.GetValue`

