.. 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.WindowDisabler:
==========================================================================================================================================
|phoenix_title| **wx.WindowDisabler**
==========================================================================================================================================
This class disables all top level windows of the application (maybe with the exception of one of them) in its constructor and enables them back in its destructor.
This is useful when you want to indicate to the user that the application is currently busy and cannot respond to user input.
.. note::
When instantiated, this affects only windows shown on the screen and not already disabled.
.. seealso:: :ref:`wx.BusyCursor`
|
|class_hierarchy| Class Hierarchy
=================================
.. raw:: html

Inheritance diagram for class
WindowDisabler:
|
|method_summary| Methods Summary
================================
================================================================================ ================================================================================
:meth:`~wx.WindowDisabler.__init__` Disables all top level windows of the applications.
:meth:`~wx.WindowDisabler.__enter__`
:meth:`~wx.WindowDisabler.__exit__`
================================================================================ ================================================================================
|
|api| Class API
===============
.. class:: wx.WindowDisabler(object)
**Possible constructors**::
WindowDisabler(disable: bool=True) -> None
WindowDisabler(winToSkip : Window, winToSkip2: Optional[Window]=None) ->
None
This class disables all top level windows of the application (maybe
with the exception of one of them) in its constructor and enables them
back in its destructor.
.. method:: __init__(self, *args, **kw)
|overload| **Overloaded Implementations:**
:html:`
`
**__init__** `(self, disable: bool=True)`
Disables all top level windows of the applications.
If `disable` is ``false`` nothing is done. This can be convenient if the windows should be disabled depending on some condition.
:param `disable`:
:type `disable`: bool
:rtype: `None`
.. versionadded:: 2.9.0
:html:`
`
**__init__** `(self, winToSkip : Window, winToSkip2: Optional[Window]=None)`
Disables all top level windows of the applications with the exception of `winToSkip` if it is not ``None``.
Notice that under MSW if `winToSkip` appears in the taskbar, the user will be able to close the entire application (even though its main window is disabled) by right clicking on the taskbar icon and selecting the appropriate "Close" command from the context menu. To prevent this from happening you may want to use ``wx.FRAME_TOOL_WINDOW``, if applicable, or ``wx.FRAME_NO_TASKBAR`` style when creating the window that will remain enabled.
The argument `winToSkip2` may be used to specify another window to leave enabled, if it is non-null. This parameter is only available since wxWidgets 3.1.7.
:param `winToSkip`:
:type `winToSkip`: wx.Window
:param `winToSkip2`:
:type `winToSkip2`: wx.Window
:rtype: `None`
:html:`
`
.. method:: __enter__(self)
.. method:: __exit__(self, exc_type, exc_val, exc_tb)