
    
8d
                         d Z ddlmZ ddlmZmZmZ ddlmZ ddl	m
Z
 ddlmZ ddlmZmZ dd	lmZ  G d
 dee          Z G d dee          Z G d dee          Z G d dee          Z G d de          ZdS )z= Defines an in-process KernelManager with signals and slots.
    )QtCore)InProcessHBChannelInProcessKernelClientInProcessKernelManager)InProcessChannel)Type   )SuperQObject)QtKernelClientMixinQtKernelManagerMixin)RichJupyterWidgetc                        e Zd Z ej                    Z ej                    Z ej        e          Z fdZ	 fdZ
d Zd Zd Zd fd	Z xZS )	QtInProcessChannelc                 z    t                                                       | j                                         dS z' Reimplemented to emit signal.
        N)superstartstartedemitself	__class__s    3lib/python3.11/site-packages/qtconsole/inprocess.pyr   zQtInProcessChannel.start   s0     	    c                 z    t                                                       | j                                         dS r   )r   stopstoppedr   r   s    r   r   zQtInProcessChannel.stop!   s0     	r   c                 Z      fd}t           j                            d|           dS )z* Call the message handlers later.
        c                       j          i S N)call_handlers)argskwdsr   s   r   <lambda>z8QtInProcessChannel.call_handlers_later.<locals>.<lambda>*   s    -4-t<t<< r   r   N)r   QTimer
singleShot)r   r"   r#   do_laters   ``` r   call_handlers_laterz&QtInProcessChannel.call_handlers_later'   s9     =<<<<<  H-----r   c                 :    | j                             |           d S r    )message_receivedr   )r   msgs     r   r!   z QtInProcessChannel.call_handlers-   s    ""3'''''r   c                 f    t           j                                                                         dS )z) Process any pending GUI events.
        N)r   QCoreApplicationinstanceprocessEvents)r   s    r   process_eventsz!QtInProcessChannel.process_events0   s+     	((**88:::::r         ?c                 p    t                                                       |                                  dS )zJ Reimplemented to ensure that signals are dispatched immediately.
        N)r   flushr0   )r   timeoutr   s     r   r3   zQtInProcessChannel.flush5   s.     	r   )r1   )__name__
__module____qualname__r   Signalr   r   objectr*   r   r   r(   r!   r0   r3   __classcell__)r   s   @r   r   r      s        fmooG fmooG %v}V,,        . . .( ( (; ; ;
         r   r   c                   ,    e Zd Z ej                    ZdS )QtInProcessHBChannelN)r5   r6   r7   r   r8   kernel_died r   r   r<   r<   <   s        &-//KKKr   r<   c                   j    e Zd ZdZ ee          Z ee          Z ee          Z ee	          Z
dS )QtInProcessKernelClientz9 An in-process KernelManager with signals and slots.
    N)r5   r6   r7   __doc__r   r   iopub_channel_classshell_channel_classstdin_channel_classr<   hb_channel_classr>   r   r   r@   r@   A   s`          $122$122$122t011r   r@   c                       e Zd Zedz   ZdS )QtInProcessKernelManagerz.QtInProcessKernelClientN)r5   r6   r7   client_classr>   r   r   rG   rG   J   s         ::LLLr   rG   c                       e Zd ZdZddZdS )QtInProcessRichJupyterWidgetzA An in-process Jupyter Widget that enables multiline editing
    Tc                     | j         j        j        }|j                            |          \  }}|d}nd|z  }|dk    |fS )N  
incomplete)kernel_managerkernelshellinput_transformer_managercheck_complete)r   sourceinteractiverQ   statusindent_spacesindents          r   _is_completez)QtInProcessRichJupyterWidget._is_completeR   sT    #*0+::6BB 	 FF=(F%v--r   N)T)r5   r6   r7   rA   rY   r>   r   r   rJ   rJ   N   s2         . . . . . .r   rJ   N)rA   qtpyr   ipykernel.inprocessr   r   r   ipykernel.inprocess.channelsr   	traitletsr   utilr
   kernel_mixinsr   r   rich_jupyter_widgetr   r   r<   r@   rG   rJ   r>   r   r   <module>ra      s                   : 9 9 9 9 9                    3 2 2 2 2 2( ( ( ( ('7 ( ( (V" " " " "<); " " "
2 2 2 2 213H 2 2 2; ; ; ; ;35K ; ; ;. . . . .#4 . . . . .r   