
    eK                     @    d dl mZ dgZ G d dej                        Zy)   )QtCoreThreadsafeTimerc                       e Zd ZdZ ej
                         Z ej
                         Z ej
                  e      Z	d Z
d Zd Zd Zy)r   z-
    Thread-safe replacement for QTimer.
    c                    t         j                  j                  |        t        j                         | _        | j                  j
                  j                  | j                         | j                  j                  t         j                  j                         j                                | j                  t         j                  j                         j                                | j                  j                  | j                  t         j                  j                  j                          | j"                  j                  | j$                  t         j                  j                  j                          y N)r   QObject__init__QTimertimertimeoutconnecttimerFinishedmoveToThreadQCoreApplicationinstancethreadsigTimerStopRequestedstopQtConnectionTypeQueuedConnectionsigTimerStartRequestedstartselfs    ;/usr/lib/python3/dist-packages/pyqtgraph/ThreadsafeTimer.pyr	   zThreadsafeTimer.__init__   s    %]]_


""4#5#56

 7 7 @ @ B I I KL&11::<CCEF""**499fii6N6N6_6_`##++DJJ		8P8P8a8ab    c                    t         j                  j                         t         j                  j	                         j                         k(  }|r%| j                  j                  t        |             y | j                  j                  |       y r   )r   QThreadcurrentThreadr   r   r   r   r   intr   emit)r   r   isGuiThreads      r   r   zThreadsafeTimer.start   s`    nn2248O8O8X8X8Z8a8a8ccJJS\* '',,W5r   c                    t         j                  j                         t         j                  j	                         j                         k(  }|r| j                  j                          y | j                  j                          y r   )
r   r   r    r   r   r   r   r   r   r"   )r   r#   s     r   r   zThreadsafeTimer.stop!   sV    nn2248O8O8X8X8Z8a8a8ccJJOO &&++-r   c                 8    | j                   j                          y r   )r   r"   r   s    r   r   zThreadsafeTimer.timerFinished*   s    r   N)__name__
__module____qualname____doc__r   Signalr   r   objectr   r	   r   r   r    r   r   r   r      sJ     fmmoG)FMMO*V]]62c6.r   N)r   r   __all__r   r   r,   r   r   <module>r.      s     
&fnn &r   