.. 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.adv.PropertySheetDialog:

==========================================================================================================================================
|phoenix_title|  **wx.adv.PropertySheetDialog**
==========================================================================================================================================

This class represents a property sheet dialog: a tabbed dialog for showing settings.          

It is optimized to show flat tabs on PocketPC devices, and can be customized to use different controllers instead of the default notebook style. 

To use this class, call :meth:`~wx.adv.PropertySheetDialog.Create`  from your own Create function. Then call :meth:`~wx.adv.PropertySheetDialog.CreateButtons`, and create pages, adding them to the book control. Finally call :meth:`~wx.adv.PropertySheetDialog.LayoutDialog`. 

For example: 

::

    # To be written...



If necessary, override :meth:`~wx.adv.PropertySheetDialog.CreateBookCtrl`  and :meth:`~wx.adv.PropertySheetDialog.AddBookCtrl`  to create and add a different kind of book control. You will then need to use two-step construction for the dialog or change the style of the book control by calling :meth:`~wx.adv.PropertySheetDialog.SetSheetStyle`  before calling :meth:`~wx.adv.PropertySheetDialog.Create`. 

The :ref:`Dialogs Sample <dialogs sample>`  shows this class being used with notebook and toolbook controllers (for Windows-style and Mac-style settings dialogs). 

To make pages of the dialog scroll when the display is too small to fit the whole dialog, you can switch layout adaptation on globally with :meth:`wx.Dialog.EnableLayoutAdaptation`   or per dialog with :meth:`wx.Dialog.SetLayoutAdaptationMode` . 

For more about layout adaptation, see :ref:`Automatic Scrolled Dialogs <automatic scrolled dialogs>`. 







|

|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>PropertySheetDialog</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.adv.PropertySheetDialog_inheritance.png" alt="Inheritance diagram of PropertySheetDialog" 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.adv.PropertySheetDialog.html" title="wx.adv.PropertySheetDialog" alt="" coords="5,469,212,499"/> <area shape="rect" id="node2" href="wx.Dialog.html" title="wx.Dialog" alt="" coords="65,392,152,421"/> <area shape="rect" id="node3" href="wx.TopLevelWindow.html" title="wx.TopLevelWindow" alt="" coords="31,315,186,344"/> <area shape="rect" id="node4" href="wx.NonOwnedWindow.html" title="wx.NonOwnedWindow" alt="" coords="25,237,193,267"/> <area shape="rect" id="node5" href="wx.Window.html" title="wx.Window" alt="" coords="60,160,157,189"/> <area shape="rect" id="node6" href="wx.EvtHandler.html" title="wx.EvtHandler" alt="" coords="50,83,167,112"/> <area shape="rect" id="node7" href="wx.Object.html" title="wx.Object" alt="" coords="5,5,92,35"/> <area shape="rect" id="node8" href="wx.Trackable.html" title="wx.Trackable" alt="" coords="117,5,223,35"/> </map> 
   </p>
   </div>

|


|sub_classes| Known Subclasses
==============================

:ref:`wx.richtext.RichTextFormattingDialog`

|


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

================================================================================ ================================================================================
:meth:`~wx.adv.PropertySheetDialog.__init__`                                     Default constructor.
:meth:`~wx.adv.PropertySheetDialog.AddBookCtrl`                                  Override this if you wish to add the book control in a way different from the standard way (for example, using different spacing).
:meth:`~wx.adv.PropertySheetDialog.Create`                                       Call this from your own Create function, before adding buttons and pages.
:meth:`~wx.adv.PropertySheetDialog.CreateBookCtrl`                               Override this if you wish to create a different kind of book control; by default, the value passed to :meth:`~PropertySheetDialog.SetSheetStyle`   is used to determine the control.
:meth:`~wx.adv.PropertySheetDialog.CreateButtons`                                Call this to create the buttons for the dialog.
:meth:`~wx.adv.PropertySheetDialog.GetBookCtrl`                                  Returns the book control that will contain your settings pages.
:meth:`~wx.adv.PropertySheetDialog.GetClassDefaultAttributes`                    
:meth:`~wx.adv.PropertySheetDialog.GetContentWindow`                             Override this to return a window containing the main content of the dialog.
:meth:`~wx.adv.PropertySheetDialog.GetInnerSizer`                                Returns the inner sizer that contains the book control and button sizer.
:meth:`~wx.adv.PropertySheetDialog.GetSheetInnerBorder`                          Returns the border around the book control only.
:meth:`~wx.adv.PropertySheetDialog.GetSheetOuterBorder`                          Returns the border around the whole dialog.
:meth:`~wx.adv.PropertySheetDialog.GetSheetStyle`                                Returns the sheet style.
:meth:`~wx.adv.PropertySheetDialog.LayoutDialog`                                 Call this to lay out the dialog.
:meth:`~wx.adv.PropertySheetDialog.SetBookCtrl`                                  Sets the book control used for the dialog.
:meth:`~wx.adv.PropertySheetDialog.SetInnerSizer`                                Set the inner sizer that contains the book control and button sizer.
:meth:`~wx.adv.PropertySheetDialog.SetSheetInnerBorder`                          Set the border around the book control only.
:meth:`~wx.adv.PropertySheetDialog.SetSheetOuterBorder`                          Set the border around the whole dialog.
:meth:`~wx.adv.PropertySheetDialog.SetSheetStyle`                                You can customize the look and feel of the dialog by setting the sheet style.
================================================================================ ================================================================================


|


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

================================================================================ ================================================================================
:attr:`~wx.adv.PropertySheetDialog.BookCtrl`                                     See :meth:`~wx.adv.PropertySheetDialog.GetBookCtrl` and :meth:`~wx.adv.PropertySheetDialog.SetBookCtrl`
:attr:`~wx.adv.PropertySheetDialog.ContentWindow`                                See :meth:`~wx.adv.PropertySheetDialog.GetContentWindow`
:attr:`~wx.adv.PropertySheetDialog.InnerSizer`                                   See :meth:`~wx.adv.PropertySheetDialog.GetInnerSizer` and :meth:`~wx.adv.PropertySheetDialog.SetInnerSizer`
:attr:`~wx.adv.PropertySheetDialog.SheetInnerBorder`                             See :meth:`~wx.adv.PropertySheetDialog.GetSheetInnerBorder` and :meth:`~wx.adv.PropertySheetDialog.SetSheetInnerBorder`
:attr:`~wx.adv.PropertySheetDialog.SheetOuterBorder`                             See :meth:`~wx.adv.PropertySheetDialog.GetSheetOuterBorder` and :meth:`~wx.adv.PropertySheetDialog.SetSheetOuterBorder`
:attr:`~wx.adv.PropertySheetDialog.SheetStyle`                                   See :meth:`~wx.adv.PropertySheetDialog.GetSheetStyle` and :meth:`~wx.adv.PropertySheetDialog.SetSheetStyle`
================================================================================ ================================================================================


|


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


.. class:: wx.adv.PropertySheetDialog(Dialog)

   **Possible constructors**::

       PropertySheetDialog()
       
       PropertySheetDialog(parent, id=ID_ANY, title="", pos=DefaultPosition,
                           size=DefaultSize, style=DEFAULT_DIALOG_STYLE, name=DialogNameStr)
       
   
   This class represents a property sheet dialog: a tabbed dialog for
   showing settings.



   .. method:: __init__(self, *args, **kw)



      |overload| Overloaded Implementations:

      :html:`<hr class="overloadsep" /><br />`

      
      **__init__** `(self)`
      
      Default constructor.                  
      
      Call Create if using this form of constructor.                   
      
      
      
      
      :html:`<hr class="overloadsep" /><br />`

      
      **__init__** `(self, parent, id=ID_ANY, title=EmptyString, pos=DefaultPosition, size=DefaultSize, style=DEFAULT_DIALOG_STYLE, name=DialogNameStr)`
      
      Constructor.                  
      
      
      :param `parent`: 
      :type `parent`: wx.Window
      :param `id`: 
      :type `id`: wx.WindowID
      :param `title`: 
      :type `title`: string
      :param `pos`: 
      :type `pos`: wx.Point
      :param `size`: 
      :type `size`: wx.Size
      :param `style`: 
      :type `style`: long
      :param `name`: 
      :type `name`: string
      
      
      
      
      
      
      :html:`<hr class="overloadsep" /><br />`






   .. method:: AddBookCtrl(self, sizer)

      Override this if you wish to add the book control in a way different from the standard way (for example, using different spacing).                  


      :param `sizer`: 
      :type `sizer`: wx.Sizer







   .. method:: Create(self, parent, id=ID_ANY, title=EmptyString, pos=DefaultPosition, size=DefaultSize, style=DEFAULT_DIALOG_STYLE, name=DialogNameStr)

      Call this from your own Create function, before adding buttons and pages.                  


      :param `parent`: 
      :type `parent`: wx.Window
      :param `id`: 
      :type `id`: wx.WindowID
      :param `title`: 
      :type `title`: string
      :param `pos`: 
      :type `pos`: wx.Point
      :param `size`: 
      :type `size`: wx.Size
      :param `style`: 
      :type `style`: long
      :param `name`: 
      :type `name`: string




      :rtype: `bool`








   .. method:: CreateBookCtrl(self)

      Override this if you wish to create a different kind of book control; by default, the value passed to :meth:`SetSheetStyle`   is used to determine the control.                  

      The default behaviour is to create a notebook except on Smartphone, where a choicebook is used.                  

      :rtype: :ref:`BookCtrlBase`








   .. method:: CreateButtons(self, flags=OK|CANCEL)

      Call this to create the buttons for the dialog.                  

      This calls :meth:`wx.Dialog.CreateButtonSizer` , and the flags are the same. 

                


      :param `flags`: 
      :type `flags`: int






      .. note:: 

         On PocketPC, no buttons are created.   








   .. method:: GetBookCtrl(self)

      Returns the book control that will contain your settings pages.                  

      :rtype: :ref:`BookCtrlBase`








   .. staticmethod:: GetClassDefaultAttributes(variant=WINDOW_VARIANT_NORMAL)




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




      :rtype: :ref:`VisualAttributes`








   .. method:: GetContentWindow(self)

      Override this to return a window containing the main content of the dialog.                  

      This is particularly useful when the dialog implements pages, such as :ref:`wx.adv.PropertySheetDialog`, and allows the :ref:`layout adaptation code <layout adaptation code>`  to know that only the pages need to be made scrollable.                  

      :rtype: :ref:`Window`








   .. method:: GetInnerSizer(self)

      Returns the inner sizer that contains the book control and button sizer.                  

      :rtype: :ref:`Sizer`








   .. method:: GetSheetInnerBorder(self)

      Returns the border around the book control only.                  

      :rtype: `int`








   .. method:: GetSheetOuterBorder(self)

      Returns the border around the whole dialog.                  

      :rtype: `int`








   .. method:: GetSheetStyle(self)

      Returns the sheet style.                  

      See :meth:`SetSheetStyle`   for allowed values.                  

      :rtype: `long`








   .. method:: LayoutDialog(self, centreFlags=BOTH)

      Call this to lay out the dialog.                  

                


      :param `centreFlags`: 
      :type `centreFlags`: int






      .. note:: 

         On PocketPC, this does nothing, since the dialog will be shown full-screen, and the layout will be done when the dialog receives a size event.   








   .. method:: SetBookCtrl(self, bookCtrl)

      Sets the book control used for the dialog.                  

      You will normally not need to use this.                  


      :param `bookCtrl`: 
      :type `bookCtrl`: wx.BookCtrlBase







   .. method:: SetInnerSizer(self, sizer)

      Set the inner sizer that contains the book control and button sizer.                  


      :param `sizer`: 
      :type `sizer`: wx.Sizer







   .. method:: SetSheetInnerBorder(self, border)

      Set the border around the book control only.                  


      :param `border`: 
      :type `border`: int







   .. method:: SetSheetOuterBorder(self, border)

      Set the border around the whole dialog.                  


      :param `border`: 
      :type `border`: int







   .. method:: SetSheetStyle(self, style)

      You can customize the look and feel of the dialog by setting the sheet style.                  

      It is a bit list of the :ref:`wx.adv.PropertySheetDialogFlags`  values.                  


      :param `style`: 
      :type `style`: long







   .. attribute:: BookCtrl

      See :meth:`~wx.adv.PropertySheetDialog.GetBookCtrl` and :meth:`~wx.adv.PropertySheetDialog.SetBookCtrl`


   .. attribute:: ContentWindow

      See :meth:`~wx.adv.PropertySheetDialog.GetContentWindow`


   .. attribute:: InnerSizer

      See :meth:`~wx.adv.PropertySheetDialog.GetInnerSizer` and :meth:`~wx.adv.PropertySheetDialog.SetInnerSizer`


   .. attribute:: SheetInnerBorder

      See :meth:`~wx.adv.PropertySheetDialog.GetSheetInnerBorder` and :meth:`~wx.adv.PropertySheetDialog.SetSheetInnerBorder`


   .. attribute:: SheetOuterBorder

      See :meth:`~wx.adv.PropertySheetDialog.GetSheetOuterBorder` and :meth:`~wx.adv.PropertySheetDialog.SetSheetOuterBorder`


   .. attribute:: SheetStyle

      See :meth:`~wx.adv.PropertySheetDialog.GetSheetStyle` and :meth:`~wx.adv.PropertySheetDialog.SetSheetStyle`

