
    G@d                     R    d Z ddlmZmZmZ ddlmZ ddlmZ  G d de          Z	dS )z,Spyder completion plugin configuration page.    )	QGroupBoxQVBoxLayoutQGridLayout)_)PluginConfigPagec                   .     e Zd Zg f fd	Zd Zd Z xZS )CompletionConfigPagec                 Z    t                                          ||           || _        d S N)super__init__	providers)selfpluginparentr   	__class__s       Blib/python3.11/site-packages/spyder/plugins/completion/confpage.pyr   zCompletionConfigPage.__init__   s(    ((("    c                 D   | j         }g | _        t                      }t          t	          d                    | _        t          | j                  D ]i\  }\  }} |t	          d                              |          d|fd          }|	                    ||d           | j        
                    |           j| j                            |           |                     t	          d          d ddd	d
t	          d                    } |t	          d          dd          } |t	          d          dd          }	|                     t	          d          d dddt	          d          d           |t	          d          d          }
|                     t	          d          d ddd	d
t	          d          d          }t          t	          d                    | _        t                      }|	                    |dd           |	                    |
dd           |	                    |	dd           |	                    j        d d           |	                    j        d d           |	                    |j        d!d           |	                    |j        d!d           |	                    |j        d"d           |	                    |j        d"d           |                    dd"           | j                            |           fd#}|	j                            |           t'                      }|	                    | j                   |	                    | j                   |                    d           |                     |           d S )$N	ProviderszEnable {0} providerenabled_providersT)defaultr   z.Time to wait for all providers to return (ms):completions_wait_for_msi'  
   zABeyond this timeout the first available provider will be returned)min_max_steptipzShow completion detailscompletions_hinteditor)sectionzShow completions on the flyautomatic_completionsz4Show automatic completions after characters entered:!automatic_completions_after_chars   zDefault is 1)r   r   r   r!   zEnable code snippetsenable_code_snippetsz1Show completion details after keyboard idle (ms):completions_hint_after_mszDefault is 500 milliseconds)r   r   r   r   r!   Completions            c                 p    j                             |            j                            |            d S r   )plabel
setEnabledspinbox)statecompletions_after_characterss    r   #disable_completion_after_characterszLCompletionConfigPage.setup_page.<locals>.disable_completion_after_charactersM   s7    (/::5AAA(0;;EBBBBBr   )create_checkboxprovider_checkboxesr   r   r   providers_group	enumerater   format	addWidgetappend	setLayoutcreate_spinboxcompletions_groupr-   r/   setColumnStretchtoggledconnectr   
addStretch)r   newcbproviders_layoutiprovider_keyprovider_namecbr   completion_hint_boxautomatic_completion_boxcode_snippets_boxcompletions_hint_after_idlecompletions_layoutr2   layoutr1   s                  @r   
setup_pagezCompletionConfigPage.setup_page   s
   $ $& &==(;8809$.0I0I 	0 	0,A,mq.//66}EE+\:DJ J JB&&r1a000$++B////&&'7888"&"5"5>??%AE % & & #6 #' #'
 $e'((   $)5+,,#$ $ $  (,':':DEEt/aa.!!8 (; (5 (5$ "E$%%'=? ?&*&9&9ABBD'ae"/00( ': 'D 'D# "+1]+;+;!<!<(]]$$%8!Q???$$%61===$$%=q!DDD$$%A%H!QOOO$$(0!Q	8 	8 	8$$%@%GANNN$$%@%H!QOOO$$%<%CQJJJ$$%<%DaKKK++Aq111(();<<<	C 	C 	C 	C 	C 	!(00/	1 	1 	1 /000-...!vr   c                 :   | j                             |           | j                            |           | j        ]| j                                        }d}||k     r>| j                            |          }|                    |           |dz  }||k     :d S d S d S )Nr$   )r5   r.   r<   tabscountwidget)r   r0   num_tabsindex
tab_widgets        r   enable_disable_pluginz*CompletionConfigPage.enable_disable_pluginZ   s    ''...))%0009 y((HE(""!Y--e44
%%e,,,
 ("""" !  #"r   )__name__
__module____qualname__r   rM   rU   __classcell__)r   s   @r   r	   r	      sb        13 # # # # # #B B BH
 
 
 
 
 
 
r   r	   N)
__doc__qtpy.QtWidgetsr   r   r   spyder.config.baser   spyder.api.preferencesr   r	    r   r   <module>r_      s    3 2 ? > > > > > > > > > !           3 3 3 3 3 3S S S S S+ S S S S Sr   