
    e                         d dl mZmZ  eed      sej                  e_        ddlZ G d dej                        Z e       Z	 G d dej                        Zy)	   )QtCore	QtWidgetsSignal    Nc                   `    e Zd ZdZ ej
                         Zd Zed        Z	d Z
d Zd Zd Zy)CanvasManagerNc                     t         j                  t        d      t        j                  j                  |        | t         _        t        j                         | _        y )Nz#Can only create one canvas manager.)	r   	SINGLETON	Exceptionr   QObject__init__weakrefWeakValueDictionarycanvasesselfs    @/usr/lib/python3/dist-packages/pyqtgraph/canvas/CanvasManager.pyr   zCanvasManager.__init__   sD    "".ABB%"&335    c                 "    t         j                  S N)r   r
   )clss    r   instancezCanvasManager.instance   s    &&&r   c                     |}d}|| j                   v rd||fz  }|dz  }|| j                   v r|| j                   |<   | j                  j                          |S )Nr   z%s_%03d   r   sigCanvasListChangedemit)r   canvasnamen2is        r   registerCanvaszCanvasManager.registerCanvas   sd    DMM!dAY&BFA DMM! #b!!&&(	r   c                 p    | j                   |   }| j                   |= | j                  j                          y r   r   )r   r   cs      r   unregisterCanvaszCanvasManager.unregisterCanvas#   s.    MM$MM$!!&&(r   c                 H    t        | j                  j                               S r   )listr   keysr   s    r   listCanvaseszCanvasManager.listCanvases(   s    DMM&&())r   c                      | j                   |   S r   )r   r   r   s     r   	getCanvaszCanvasManager.getCanvas+   s    }}T""r   )__name__
__module____qualname__r
   r   r   r   r   classmethodr   r"   r%   r)   r,    r   r   r   r      sB    I(6==?6 ' ')
*#r   r   c                        e Zd ZddZd Zd Zy)CanvasComboNc                     t         j                  j                  | |       t        j	                         }|j
                  j                  | j                         d | _        | j                          y r   )	r   	QComboBoxr   r   r   r   connectupdateCanvasListhostName)r   parentmans      r   r   zCanvasCombo.__init__3   sS    $$T62$$&  (()>)>?r   c                    t         j                         j                         }|j                  dd       | j                  |v r|j                  | j                         | j                         }||v r| j                  d       | j                          |D ]8  }| j                  |       ||k(  s| j                  | j                                : | j                  d       y )Nr    TF)r   r   r)   insertr8   removecurrentTextblockSignalsclearaddItemsetCurrentIndexcount)r   r   selr!   s       r   r7   zCanvasCombo.updateCanvasList:   s     ))+88:2==H$OODMM* (?d#

 	3ALLOCx$$TZZ\2	3
 	% r   c                 2    || _         | j                          y r   )r8   r7   r+   s     r   setHostNamezCanvasCombo.setHostNameK   s    r   r   )r-   r.   r/   r   r7   rG   r1   r   r   r3   r3   2   s     !" r   r3   )Qtr   r   hasattr
pyqtSignalr   r   r   r   managerr5   r3   r1   r   r   <module>rL      sN    "vx %%FM $#FNN $#N / )%%  r   