.. 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.PreferencesEditor:

==========================================================================================================================================
|phoenix_title|  **wx.PreferencesEditor**
==========================================================================================================================================

Manage preferences dialog.          

This class encapsulates the differences –  both in appearance and behaviour –  between preferences dialogs on different platforms. In particular, macOS preferences look very different from the typical notebook control used on other platforms, and both macOS and GTK+ preferences windows are modeless unlike Windows options dialogs that are typically modal. 

:ref:`wx.PreferencesEditor`  is able to hide the differences by hiding the creation of preferences window from the API. Instead, you create an instance of :ref:`wx.PreferencesEditor`  and add page descriptions in the form of :ref:`wx.PreferencesPage`  using its :meth:`~wx.PreferencesEditor.AddPage`  method. After setting up the editor object, you must call :meth:`~wx.PreferencesEditor.Show`  to present preferences to the user. 





         



.. versionadded:: 2.9.5 
     







.. note:: 

   Notice that this class is not derived from :ref:`wx.Window`  and hence doesn't represent a window, even if its :meth:`Show`   method does create one internally.  







|

|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>PreferencesEditor</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.PreferencesEditor_inheritance.png" alt="Inheritance diagram of PreferencesEditor" 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.PreferencesEditor.html" title="wx.PreferencesEditor" alt="" coords="5,5,165,35"/> </map> 
   </p>
   </div>

|


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

================================================================================ ================================================================================
:meth:`~wx.PreferencesEditor.__init__`                                           Constructor.
:meth:`~wx.PreferencesEditor.AddPage`                                            Add a new page to the editor.
:meth:`~wx.PreferencesEditor.Dismiss`                                            Hide the currently shown dialog, if any.
:meth:`~wx.PreferencesEditor.ShouldApplyChangesImmediately`                      Returns whether changes to values in preferences pages should be applied immediately or only when the user clicks the ``wx.OK`` button.
:meth:`~wx.PreferencesEditor.Show`                                               Show the preferences dialog or bring it to the top if it's already shown.
:meth:`~wx.PreferencesEditor.ShownModally`                                       Returns whether the preferences dialog is shown modally.
================================================================================ ================================================================================


|


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


.. class:: wx.PreferencesEditor(object)

   **Possible constructors**::

       PreferencesEditor(title="")
       
   
   Manage preferences dialog.



   .. method:: __init__(self, title="")

      Constructor.                  

      Creates an empty editor, use :meth:`AddPage`   to add controls to it. 




      :param `title`: The title overriding the default title of the top level window used by the editor. It is recommended to not specify this parameter to use the native convention for the preferences dialogs instead.   
      :type `title`: string




                  





   .. method:: AddPage(self, page)

      Add a new page to the editor.                  

      The editor takes ownership of the page and will delete it from its destructor (but not sooner). 

                


      :param `page`: 
      :type `page`: wx.PreferencesPage






      .. seealso:: :ref:`wx.PreferencesPage`, :ref:`wx.StockPreferencesPage`    








   .. method:: Dismiss(self)

      Hide the currently shown dialog, if any.                  

      This is typically called to dismiss the dialog if the object whose preferences it is editing was closed.                   





   .. staticmethod:: ShouldApplyChangesImmediately()

      Returns whether changes to values in preferences pages should be applied immediately or only when the user clicks the ``wx.OK`` button.                  

      Currently, changes are applied immediately on macOS and GTK+. 

      The preprocessor macro  ``HAS_PREF_EDITOR_APPLY_IMMEDIATELY``   is defined in this case as well.                   

      :rtype: `bool`








   .. method:: Show(self, parent)

      Show the preferences dialog or bring it to the top if it's already shown.                  

      Notice that this method may or may not block depending on the platform, i.e. depending on whether the dialog is modal or not. 




      :param `parent`: The window that invokes the preferences. Call :meth:`Dismiss`   before it's destroyed.   
      :type `parent`: wx.Window




                  





   .. staticmethod:: ShownModally()

      Returns whether the preferences dialog is shown modally.                  

      If this method returns ``False``, as it currently does in wxGTK and wxOSX, :meth:`Show`   simply makes the dialog visible and returns immediately. If it returns ``True``, as it does in wxMSW and under the other platforms, then the dialog is shown modally, i.e. :meth:`Show`   blocks until the user dismisses it. 

      Notice that it isn't necessary to test the return value of this method to use this class normally, its interface is designed to work in both cases. However it can sometimes be necessary to call it if the program needs to handle modal dialogs specially, e.g. perhaps to block some periodic background update operation while a modal dialog is shown.                  

      :rtype: `bool`







