
    e_                     L    d Z ddlmZ ddlmZmZ ddlmZ dgZ G d de      Zy)	z
PlotWidget.py -  Convenience class--GraphicsView widget displaying a single PlotItem
Copyright 2010  Luke Campagnola
Distributed under MIT/X11 license. See license.txt for more information.
   )PlotItem)QtCore	QtWidgets   )GraphicsView
PlotWidgetc                        e Zd Z ej                  ee      Z ej                  e      Z	 d	dZ fdZ	d Z
d Zd Zd Zd Zd Z xZS )
r   c           	      *   d | _         	 t        j                  | ||       | j                  t        j
                  j                  j                  t        j
                  j                  j                         | j                  d       |t        di || _         n|| _         | j                  | j                          dD ]#  }t        | |t        | j                   |             % | j                   j                  j                  | j                         y )N)
backgroundF)addItem
removeItem	autoRangeclearsetAxisItems	setXRange	setYRangesetRangesetAspectLockedsetMouseEnabledsetXLinksetYLinkenableAutoRangedisableAutoRange	setLimitsregister
unregisterviewRect )plotItemr   __init__setSizePolicyr   QSizePolicyPolicy	ExpandingenableMouser   setCentralItemsetattrgetattrsigRangeChangedconnectviewRangeChanged)selfparentr   r   kargsms         >/usr/lib/python3/dist-packages/pyqtgraph/widgets/PlotWidget.pyr    zPlotWidget.__init__.   s     	I 	dFzB90077AA9CXCXC_C_CiCij$-u-DM$DMDMM*E 	8A D!WT]]A67		8 	%%--d.C.CD    c                     | j                   j                          d | _         | j                  d        t        t        |           y N)r   close	setParentsuperr   )r,   	__class__s    r0   r4   zPlotWidget.closeH   s5     	tj$%'r1   c                     t        | j                  |      r$t        | j                  |      }t        |d      r|S t        |      )N__call__)hasattrr   r(   AttributeError)r,   attrr/   s      r0   __getattr__zPlotWidget.__getattr__P   s:    4==$'t,Aq*%T""r1   c                 <    | j                   j                  | |       y r3   )r)   emit)r,   viewranges      r0   r+   zPlotWidget.viewRangeChangedW   s    !!$.r1   c                 D    d t         j                  t         j                  fS r3   )r   	saveStaterestoreStater,   s    r0   widgetGroupInterfacezPlotWidget.widgetGroupInterface[   s    j**J,C,CDDr1   c                 6    | j                   j                         S r3   )r   rC   rE   s    r0   rC   zPlotWidget.saveState^   s    }}&&((r1   c                 8    | j                   j                  |      S r3   )r   rD   )r,   states     r0   rD   zPlotWidget.restoreStatea   s    }}))%00r1   c                     | j                   S )z%Return the PlotItem contained within.)r   rE   s    r0   getPlotItemzPlotWidget.getPlotItemd   s    }}r1   )NdefaultN)__name__
__module____qualname__r   Signalobjectr)   sigTransformChangedr    r4   r=   r+   rF   rC   rD   rK   __classcell__)r7   s   @r0   r   r      sW     $fmmFF3O'&--/8E4(#/E)1r1   N)	__doc__graphicsItems.PlotItemr   Qtr   r   r   __all__r   r   r1   r0   <module>rX      s*    . " &.Z Zr1   