
    e                        d Z ddlZddlZddlmZ  G d dej                        Z G d dej                        Z
 ej                         Z ej                  d	      Z e       Z ej                   edeid
d      Z ej$                  d      dz  Zej)                  eg dd        e
d
d
      Zej,                  j/                  ej0                         ej2                  j4                  j7                  edd       ej9                  ed   ed   ed   g       ej;                          ej=                  d        ej>                  ddg      Z ej7                  e        e!dk(  r ejD                          yy)z`
This example demonstrates the creation of a plot with 
DateAxisItem and a customized ViewBox. 
    N)QtCorec                        e Zd Zd Zd ZddZy)CustomViewBoxc                     d|d<   t        j                  j                  | g|i | | j                  | j                         y )NF
enableMenu)pgViewBox__init__setMouseModeRectModeselfargskwdss      ?/usr/lib/python3/dist-packages/pyqtgraph/examples/customPlot.pyr
   zCustomViewBox.__init__   s:    "\


D04040$--(    c                     |j                         t        j                  j                  j                  k(  r| j                          y y N)buttonr   QtMouseButtonRightButton	autoRange)r   evs     r   mouseClickEventzCustomViewBox.mouseClickEvent   s/    99;&))//;;;NN <r   Nc                     |F|j                         t        j                  j                  j                  k(  r|j                          y t        j                  j                  | ||       y )N)axis)	r   r   r   r   r   ignorer   r	   mouseDragEvent)r   r   r   s      r   r   zCustomViewBox.mouseDragEvent   sG    		vyy/D/D/P/P PIIKJJ%%dBT%:r   r   )__name__
__module____qualname__r
   r   r    r   r   r   r      s    )
;r   r   c                       e Zd Zd Zd Zd Zy)CustomTickSliderItemc                 j    t        j                  j                  | g|i | i | _        ddg| _        y )Nr      )r   TickSliderItemr
   	all_ticks_ranger   s      r   r
   zCustomTickSliderItem.__init__    s2    
""47$7$7er   c                     | j                         D ]  \  }}| j                  |        |D ]%  }| j                  |dd      }|| j                  |<   ' | j	                  d | j
                         y )NFz#333333)movablecolor)	listTicks
removeTickaddTickr)   updateRanger*   )r   tickstickpostickItems        r   setTickszCustomTickSliderItem.setTicks&   sq    ) 	"ID#OOD!	"  	+C||Ci|HH"*DNN3	+ 	t{{+r   c                 `   | j                   dz  }| j                  }|| j                   z   dz   }|| _        | j                  D ]k  }||d   z
  |d   |d   z
  z  }||z  |z
  |z  }t	        |dk\  xr |dk        }	| j                  |   }
|
j                  |	       |	sZ| j                  |
|       m y )Ng       @   r   r'   )tickSizelengthr*   r)   bool
setVisiblesetTickValue)r   vb	viewRangeoriginr:   lengthIncludingPaddingr4   tickValueIncludingPadding	tickValuevisibler3   s              r   r1   z CustomTickSliderItem.updateRange0   s    r!!'$--!7!!;>> 	3C),y|);	!yYZ|@[(\%23IIFRV\\I 9><i1n=G>>#&DOOG$!!$	2	3r   N)r    r!   r"   r
   r6   r1   r#   r   r   r%   r%      s    ,3r   r%   bottom)orientationFzPlotItem with DateAxisItem, custom ViewBox and markers on x axis<br>Menu disabled, mouse behavior changed: left-drag to zoom, right-click to reset zoom)viewBox	axisItemsr   title   i V)r'      r8            rK   rJ   o)xysymbol)allowAddallowRemoverL   r'   r8   zpyqtgraph example: customPlot)r   r   )
   rV   __main__)#__doc__numpynp	pyqtgraphr   pyqtgraph.Qtr   r	   r   r(   r%   mkQAppappDateAxisItemr   r>   
PlotWidgetpwarangedatesplot
tickViewersigXRangeChangedconnectr1   plotItemlayoutaddItemr6   showsetWindowTitlePolyLineROIrr    execr#   r   r   <module>rp      s]     ;BJJ ;$$32,, $3L biikr8,_R]]2(D)9e  Tm  n		!$ %$S 1 "5eD
     J22 3     :q! , 
  eAha%)4 6 	   1 2BNNE8$% 

1zBGGI r   