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

.. currentmodule:: wx.lib.plot.utils

.. highlight:: python



.. _wx.lib.plot.utils.TempStyle:

==========================================================================================================================================
|phoenix_title|  **wx.lib.plot.utils.TempStyle**
==========================================================================================================================================

Decorator / Context Manager to revert pen or brush changes.

Will revert pen, brush, or both to their previous values after a method
call or block finish.

:param which: The item to save and revert after execution. Can be
              one of ``{'both', 'pen', 'brush'}``.
:type which: str
:param dc: The DC to get brush/pen info from.
:type dc: :class:`wx.DC`

::

    # Using as a method decorator:
    @TempStyle()                        # same as @TempStyle('both')
    def func(self, dc, a, b, c):        # dc must be 1st arg (beside self)
        # edit pen and brush here

    # Or as a context manager:
    with TempStyle('both', dc):
        # do stuff

.. Note::

   As of 2016-06-15, this can only be used as a decorator for **class
   methods**, not standard functions. There is a plan to try and remove
   this restriction, but I don't know when that will happen...

.. epigraph::

   *Combination Decorator and Context Manager! Also makes Julienne fries!
   Will not break! Will not... It broke!*

   -- The Genie



|

|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>TempStyle</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.lib.plot.utils.TempStyle_inheritance.png" alt="Inheritance diagram of TempStyle" 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.lib.plot.utils.TempStyle.html" title="wx.lib.plot.utils.TempStyle" alt="" coords="5,5,200,35"/> </map> 
   </p>
   </div>

|


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

================================================================================ ================================================================================
:meth:`~wx.lib.plot.utils.TempStyle.__init__`                                    Initialize self.  See help(type(self)) for accurate signature.
================================================================================ ================================================================================


|


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


.. class:: TempStyle(object)

   Decorator / Context Manager to revert pen or brush changes.
   
   Will revert pen, brush, or both to their previous values after a method
   call or block finish.
   
   :param which: The item to save and revert after execution. Can be
                 one of ``{'both', 'pen', 'brush'}``.
   :type which: str
   :param dc: The DC to get brush/pen info from.
   :type dc: :class:`wx.DC`
   
   ::
   
       # Using as a method decorator:
       @TempStyle()                        # same as @TempStyle('both')
       def func(self, dc, a, b, c):        # dc must be 1st arg (beside self)
           # edit pen and brush here
   
       # Or as a context manager:
       with TempStyle('both', dc):
           # do stuff
   
   .. Note::
   
      As of 2016-06-15, this can only be used as a decorator for **class
      methods**, not standard functions. There is a plan to try and remove
      this restriction, but I don't know when that will happen...
   
   .. epigraph::
   
      *Combination Decorator and Context Manager! Also makes Julienne fries!
      Will not break! Will not... It broke!*
   
      -- The Genie

   .. method:: __init__(self, which='both', dc=None)

      Initialize self.  See help(type(self)) for accurate signature.


