3 2a@sFddlmZmZmZmZmZmZmZmZm Z m Z m Z m Z m Z mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZddl m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+ddl,j-Z.ddl/j0Z1ddlm2Z2ddl3m4Z4m5Z5ddl6m7Z7ddl8m9Z9ddl:m;Z;dd lZ>dd l?m@Z@dd lAmBZBdd lCmDZDdd lEmFZFddlGmHZHddlImJZJe5ZKeBeDeFeHeJfZLGdddeZMdaNGddde$ZOGddde$ZPGddde$ZQGddde$ZRGdddZSeSZTdZUddd d!d"ZVd#d$ZWGd%d&d&e$ZXeYd'krBdd(lZm[Z[e[d)d*d+d,dd-l\m]Z]e]eMdS).)ToplevelListboxTextScaleCanvas StringVar BooleanVarIntVarTRUEFALSETOPBOTTOMRIGHTLEFTSOLIDGROOVENONEBOTHXYWEEWNSNSEWNW HORIZONTALVERTICALANCHORACTIVEEND) Button CheckbuttonEntryFrameLabel LabelFrame OptionMenuNotebook Radiobutton ScrollbarStyleN) messagebox)idleConf ConfigChanges) GetKeysDialog) DynOptionMenu)macosx) SectionName HelpSource) view_text) AutoComplete) CodeContext) ParenMatch)FormatParagraph)SqueezercseZdZd$dddddZddZdd Zd d Zd d ZddZfddZ ddZ ddZ ddZ ddZ ddZddZddZd d!Zd"d#ZZS)% ConfigDialogF)_htest_utestcCstj||||_|ri|_|s(|j|jdd|j|p>d|jd}|j|s\dnd}|j d|d||j |j t t d|j ||jd |j|jjjtj|s|j|j|jdS) N) borderwidthzIDLE Preferences+)heightwidthZWM_DELETE_WINDOW)r__init__parent instance_dictZwithdraw configuretitleZ winfo_rootxZ winfo_rootyZgeometrycreate_widgetsZ resizabler Z transientZprotocolcancelfontpagefontlistZ focus_settracersattachZgrab_setZ wm_deiconifyZ wait_window)selfrGrJr<r=xyrT1/opt/alt/python36/lib64/python3.6/configdialog.pyrF-s*     zConfigDialog.__init__cCst||_}t||_t||j|_t||_t||_ |j |_ |j |jdd|j |jdd|j |jdd|j |j dd|j |j dd|j |jtttd|jjtddS) Nz Fonts/Tabs)text Highlightsz Keys z General Z Extensions)sideexpandfill)rX)r(noteHighPagehighpageFontPagerMKeysPageZkeyspageGenPageZgenpagecreate_page_extensionsZextpageaddZenable_traversalpackr r rcreate_action_buttonsr )rQr[rTrTrUrK]s    zConfigDialog.create_widgetscCstjri}nddi}t|dd}t|dd}xRd|jfd|jfd|jfd |jffD]*\}}t|f||td |j t d d qTWt|dd dj t d|j t d|S)Npadding)reZOkZApplyZCancelZHelp)rVcommand takefocusr>)rXpadxr)rDr?)rX)rfrg) r1ZisAquaTkr$okapplyrLhelpr!r rcrr r )rQZ padding_argsZouterZbuttonsZtxtcmdrTrTrUrd|s   z"ConfigDialog.create_action_buttonscCs|j|jdS)N)rmdestroy)rQrTrTrUrlszConfigDialog.okcCs$|jtj|j|jdS)N)deactivate_current_configchangessave_allsave_all_changed_extensionsactivate_config_changes)rQrTrTrUrmszConfigDialog.applycCs |jdS)N)rp)rQrTrTrUrLszConfigDialog.cancelcs&|jjjdda|jtjdS)Nz1.0end)rM font_samplegetfont_sample_textZ grab_releasesuperrp)rQ) __class__rTrUrpszConfigDialog.destroycCs8|jj|jjddj}t|dttj|dddS)NrV)optionzHelp for IDLE preferencesr;)rJrV)r[ZtabZselectstripr4 help_common help_pagesrx)rQZpagerTrTrUrns zConfigDialog.helpcCs&|jjj}x|D] }|jqWdS)N)rGrHkeysZRemoveKeybindings)rQ win_instancesinstancerTrTrUrqs  z&ConfigDialog.deactivate_current_configcCs\|jjj}x4|D],}|j|j|j|j|jqWxtD] }|j qHWdS)N) rGrHrZResetColorizerZ ResetFontZset_notabs_indentwidthZApplyKeybindingsZreset_help_menu_entries reloadablesreload)rQrrklassrTrTrUrus    z$ConfigDialog.activate_config_changescCsh|j}t|j}tjd|_tjd|_|jt |_ |j t ||_ |j ddd|jdddt||j dd|_|jjd|jt||jjd }|j|j_t|d d d |_|jjddd d |jdddd |jjdddddgd|jddi|_d|_||_|j|_d}x.t|j D] }|j!||d|d}qW|j j||jj"d|jd|S)N extensionsr)weightrhZbrowse)Z listvariableZ selectmodez<>)ri)rErDZnws)columnrowstickynsnsew )rrrrk)rer;{z} )#rGr$r[r- defaultCfgext_defaultCfguserCfg ext_userCfgregisteris_intload_extensionsrZextension_names rowconfigurecolumnconfigurerextension_listbindextension_selectedr*yviewsetyscrollcommandr& details_framegridrI config_framecurrent_extensionZ outerframeZtabbed_page_setsortedrcreate_extension_frameZ selection_set)rQrGframeZscrollZ ext_namesext_namerTrTrUras>            z#ConfigDialog.create_page_extensionsc Cs^i|_xtjddD]}g|j|<qWx0|jD]$}t|jj|}dd|D}x|D]}|j|qZW||}x|D]}|jj||dd}yddd|}d}WnBtk ryt |}d }Wnt k r|}d}YnXYnXy|j j|||d|d }Wnt k r|}YnXt |} | j t||j|j||||| d qzWq0WdS) NF)Z active_onlycSsg|]}|jdr|qS)enable) startswith).0opt_namerTrTrU 8sz0ConfigDialog.load_extensions..T)raw)TrueFalseboolint)typerdefault)namerrvaluevar)rr-Z GetExtensionsrrZ GetOptionListremoveGetKeyErrorr ValueErrorrrrstrappend) rQrZopt_listZenablesrZdef_strZdef_objZopt_typerrrTrTrUr-sF      zConfigDialog.load_extensionscCs|jj}|r|jj|}|dks,||jkrV|jrV|jjdd|j|jjd|_|r|jj|d|j|jdddd||_dS)Nr;)rVrr)rrr) r curselectionrxrrconfigrZ grid_forgetr)rQeventZnewselrTrTrUr[s  zConfigDialog.extension_selectedcCst|jddd}||j|<|j}xt|j|D]\}}t||dd}|j|dtd|d}|dd krt ||d d d d j|dt ddq0|ddkrt ||d|j dfddj|dt ddq0t ||ddj|dt ddq0WdS)Nr)rDrEr)rVr)rrrrrrrr)variableonvalueoffvaluerEr)rrrrkrkeyz%Pr) textvariableZvalidateZvalidatecommandrE)rrE)VerticalScrolledFramerrinterior enumeraterr%rrr"rr#rr)rQrfZ entry_arearoptZlabelrrTrTrUrjs$    z#ConfigDialog.create_extension_framecCsX|d}|d}|djjp"|}|dj|||krH|jj||S|jj|||S)Nrrr)rxr}rrZ RemoveOption SetOption)rQsectionrrrrrTrTrUset_extension_valuesz ConfigDialog.set_extension_valuecCsNd}x6|jD],}|j|}x|D]}|j||r d}q Wq W|rJ|jjdS)NFT)rrrZSave)rQZ has_changesroptionsrrTrTrUrts      z(ConfigDialog.save_all_changed_extensions)r;)__name__ __module__ __qualname__rFrKrdrlrmrLrprnrqrurarrrrrt __classcell__rTrT)r{rUr:)s 0&     >.r:u^ AaBbCcDdEeFfGgHhIiJj 1234567890#:+=(){}[] ¢£¥§©«®¶½ĞÀÁÂÃÄÅÇÐØß ɐɕɘɞɟɤɫɮɰɷɻʁʃʆʎʞʢʫʭʯ ΑαΒβΓγΔδΕεΖζΗηΘθΙιΚκ БбДдЖжПпФфЧчЪъЭэѠѤѬӜ אבגדהוזחטיךכלםמןנסעף ابجدهوزحطي٠١٢٣٤٥٦٧٨٩ ०१२३४५६७८९अआइईउऊएऐओऔ ௦௧௨௩௪௫௬௭௮௯அஇஉஎ 〇一二三四五六七八九 汉字漢字人木火土金水 가냐더려모뵤수유즈치 あいうえおアイウエオ csVeZdZfddZddZddZddZd d Zdd d ZddZ ddZ Z S)r^cs0tj||j|_|j|j|jdS)N)rzrFhighlight_samplecreate_page_font_tab load_font_cfg load_tab_cfg)rQmasterr])r{rTrUrFs  zFontPage.__init__c Cs~tjt||j|_tjt||j|_tjt||j|_tjt|d-|_ t |dt dd}t |dt dd}t |dt dd}t |}t |}t |td d }t|d d td |_|jjd|j|jjd|j|jjd|jt|}|j|jjd|jj|jdt |dd}t||jd|_t||jdddd|_t|ddd|_|jjtt t |tdd } t!||j ddddd|_"|j#ddd|j$ddd d d!|j$dddd d d"d#|j$ddd d d$d%|j%t&d d t'd&|j%t&d d t'd&|j%t&t(d'|jj%tt)t'd(|j%tt*d)|j%tt(d'|jj%tt(d'|jj%tt(dd*|jj%t)t+d+| j%t&t(d d*|j"j%t&d t'd,dS).NmainIndent num-spacesrhz Shell/Editor Font )r?reliefrVz Font Sample (Editable) z Indentation Width z Font Face :)ZjustifyrVrT)rDrjexportselectionzzz)ri)rzSize :)rVrrZBold)rrrrVr@)rErDzPython Standard: 4 Spaces!Z horizontal)rorientZ tickintervalZfrom_Zto)rr>)rrrkpadyr)rrZrowspanrkrrZew)rrrkrr)rXrkrrZ)rXanchor)rXrYrZ)rXrZ)rXrrk)rYrZ)rXrkrZ)rrr),rOrbrvar_changed_font font_name font_sizer font_boldr space_numr&rr$r%rrr rNron_fontlist_selectr*rrrr0sizelistr"Z bold_togglerrwinsertr ryrZ indent_scalerrrcr rrr rr) rQZ frame_fontZ frame_sampleZ frame_indentZframe_font_nameZframe_font_paramZfont_name_titleZ scroll_fontZfont_size_titleZ indent_titlerTrTrUrsh.   zFontPage.create_page_font_tabc Cstj|dd}|dj}|d}|ddk}ttj|}|jx|D]}|jjt |qJW|j j |dd|D}y>|j |}|jj ||jj||jj||jj|Wntk rYnX|jjd||jj ||jdS)Nr EditorWindowrrrhZboldcSsg|] }|jqSrT)lower)rsrTrTrUr^sz*FontPage.load_font_cfg..78910111213141618202225293440)rrrrrrrrrrrrrrrr)r-ZGetFontrlisttkFontZfamiliessortrNrr rrindexsee select_set select_anchorZactivaterrSetMenur set_samples) rQZconfigured_fontrrrZfontsfontZlc_fontsZcurrent_font_indexrTrTrUrLs.         zFontPage.load_font_cfgcGsZ|jj}tjddd||jj}tjddd||jj}tjddd||jdS)Nrrrz font-sizez font-bold)rrxrr add_optionrrr)rQparamsrrTrTrUros   zFontPage.var_changed_fontcCs0|jj|jjdkrtnt}|jj|jdS)NZ KeyRelease) rNrxrrrrrrr)rQrrrTrTrUr~szFontPage.on_fontlist_selectNcCsH|jj}|jjrtjntj}||jj|f}||jd<||jd<dS)Nr) rrxrrZBOLDZNORMALrrwr)rQrrZ font_weightZnew_fontrTrTrUrs   zFontPage.set_samplescCs$tjdddddd}|jj|dS)Nrrz num-spacesr)rr)r- GetOptionrr)rQrrTrTrUrszFontPage.load_tab_cfgcGs|jj}tjddd|dS)Nrrz num-spaces)rrxrrr)rQr rrTrTrUvar_changed_space_nums zFontPage.var_changed_space_num)N) rrrrFrrrrrrr rrTrT)r{rUr^s m#  r^cseZdZfddZddZddZddZd d Zd d Zd dZ ddZ ddZ ddZ ddZ ddZddZddZddZdd Zd!d"Zd#d$Zd%d&Zd'd(Zd)d*ZZS)+r\cs2tj||j|_t||_|j|jdS)N)rzrFrcdr+stylecreate_page_highlightload_theme_cfg)rQr)r{rTrUrFs   zHighPage.__init__c $sdrdsdtdudvdwdxdydzd{d|d}d~ddd_tjtj_tjtj_t_ tjtj _ tjtj _ tjtj_td td!d"}td td#d"}t|td$dd(d)d*td+td, }_|jd-d.d/|jd0d1d/d}x$|D]}|jt|d+|d$qWx8jD].}|ffdLdM }|jj|d+dN|q(WdO|dP<jjdQd$dRdSt|dQdT_t|}tjdUj dV_!t"jjdd+dW_#t$|j d$dXj%dY_&t$|j d+dZj%dY_'j j(d$t|d[j)dV_*t+|d\d]} t$|j d$j,d^d__-t$|j d+j,d`d__.t"|jddda_/t"|jddda_0t|dbj1dV_2t+|d dc_3|j4t5ddddt6t7de|j4t8ddddt9dfjj4t8ddddt6t9de|j4t8ddd+dgjj4t8ddddt6t7dej!j4t8t6t9dhdidjj#j4t8t6t9dhdkdjj&j4t5t:dlj'j4t;tcSsdS)Nr%rT)erTrTrULsz0HighPage.create_page_highlight..z cSsdS)Nr%rT)r1rTrTrUr2Ms #you can click here#to choose itemscode context section def func (param): """string""" var0 = 'string' var1 = 'selected' var2 = 'found' var3 = r(None)  breakpoint("line") error cursor | shellcsjj|dS)N)highlight_targetr)relem)rQrTrUtemdsz+HighPage.create_page_highlight..temzdisabledstatezframe_color_set.TFrameZsolid)r?r)rzChoose Color for :)rVri)r/Z Foreground)rrrVriZ BackgroundzSave as New Custom Themez Select : )rVza Built-in Theme)rrrirVza Custom Theme)rizDelete Custom Theme)r?r>)rXrkrrYrZ)rXrkrrZ)rXrkrrr )rXrYrZrkrrg)rXr)rXrZrkr)rXrrkr)rXrrk)rXrZrrkr)rXrZr)rr)rr)rr)rr)rr)rr)rr)rr )r!r")r#r$)r%r)r&r)r'r)r(r)r)r)r+r,r;r3rr4rr3rr5rr3rr6rr7rr8rr9rr:rr;rr<rr=rr>rr?rr@rrArrBr!rCrrrrDrrErrFrrGr%r7rrHr'r9rrIr#rJrrKr&r9rr(r(r9rr)r)r7r)#rQrRrSrTrUrVrWrXrYrZr[r\r]r^r_r`rarbrcrdrerfrgrhrirjrkrlrmrnrorprqrrrs)>theme_elementsrOrbrvar_changed_builtin_name builtin_namevar_changed_custom_name custom_namer fg_bg_togglevar_changed_colorcolorvar_changed_theme_source theme_sourcevar_changed_highlight_targetrLr&rrrr rrrrr Ztag_bindrrIr$frame_color_setr! get_colorZbutton_set_colorr0 targetlistr)set_color_sample_bindingfg_onbg_onrsave_as_new_themeZbutton_save_customr%set_theme_typeZbuiltin_theme_oncustom_theme_on builtinlist customlist delete_custombutton_delete_custom theme_messagercrr rr rrrrr ) rQ frame_customZ frame_themerVZ text_and_tagsZtexttagelementrNZframe_fg_bg_toggleZtheme_type_titlerT)rQrUrsv            zHighPage.create_page_highlightcs.jjtjddddddtj}jjrtjdd}|jjj ||tjdd}|j|sj j dj jd qވj j ||d nHtjdd}|jj j ||tjdd}|jjj ||d jtjj}|jfd d djj ||d jjdS)NrThemerrr)rr highlightuserrOz- no custom themes -rcsj|dS)Nr)rt)rR)rQrTrUr2sz)HighPage.load_theme_cfg..)r)rO)r}rr-r Z CurrentThemerxGetSectionListrrrrrPrxrrrrtrrpaint_theme_sampleset_highlight_target)rQcurrent_option item_listZ theme_namesrT)rQrUrs2       zHighPage.load_theme_cfgcGsd }|jj}||krXtjddd|krrirZxscrollcommandzGet New Keys for SelectionrO)rVrirPcsg|]}tdddqS)rhr)rer?)r$)ri)frame_key_setsrTrUrsz-KeysPage.create_page_keys..rrzUse a Built-in Key Set)rrrirVzUse a Custom Key Set)rizDelete Custom Key Set)rVrizSave as New Custom Key Set)r?r>)rXrkrrYrZ)rXrkrrZ)rXrZrkr)r)rrZ columnspanr)rrr)rrrrkrT)rXrZrYrk)rXrZrY)rXrZrYr)8rOrbrrurvrwrxrvar_changed_keyset_source keyset_sourcevar_changed_keybinding keybindingr&rr$r%r*rrr bindingslistron_bindingslist_selectrZxviewrr! get_new_keysbutton_new_keysranger) set_keys_typeZbuiltin_keyset_oncustom_keyset_onr0rrdelete_custom_keysbutton_delete_custom_keyssave_as_new_key_setZbutton_save_custom_keys keys_messagercr r rrrrrrrrrrr )rQrZ frame_targetZ target_titleZscroll_target_yZscroll_target_xZframesrT)rrUr:sR            zKeysPage.create_page_keyscCs|jjtjddddddtj}|jjrtjdd}|j|jj ||tjdd}|j|s|j j d |j jd q|j j ||d nHtjdd}|j|j j ||tjdd}|j|jj |tj|jtj}|j|dS) NrKeysrrr)rrrrrOz- no custom keys -r)rO)rrr-r Z CurrentKeysrxrrrrrrPrxr default_keysrload_keys_list)rQrr keyset_namerTrTrUrs,       zKeysPage.load_key_cfgcGsd }|jj}||krXtjddd|kr|j,t-|d?d@dA|j.dB|_/t-|dCdA|j0dD|_1t-|dEd@dA|j2dB|_3|j4t5d9d9t6t7dF|j4t5d9d9t6t7dF|j4t5d9d9t6t7dF|j4t5d9d9t6t7dF|j4t5d9dt8dG|j4t9t:d9d9dH|jj4t;t:d9d9dH|jj4t;t:d9d9dH|j4t5d9dt8dG|j4t9t:d9d9dH|jj4t;tT)rDrjrrirzZEditrOr)rVrPrEriZAdd)rVrEriZRemove)rXrkrrYrZ)rXrkrrZ)rXrrkrr)rXrr)rXrkr)rXrrkr)rXrrZ)rXrrYrZ)rXr)rrr)rrrE)rrrD)rr5r)rr7r)rr7r)rr7r)rrr)rrr)rr8r)rr6r)>rOrbr startup_editr win_width win_heightautocomplete_wait paren_style flash_delayr paren_bellauto_squeeze_min_linesr format_width context_linesr&rr$r%r)Zstartup_editor_onZstartup_shell_onr#Z win_width_intZwin_height_intZ auto_wait_intr'Zparen_style_typeZparen_flash_timer"Zbell_onZ save_ask_onZ save_auto_onZformat_width_intZ context_intZauto_squeeze_min_lines_intrr helplistr*rrrhelp_source_selectedr!helplist_item_editbutton_helplist_edithelplist_item_addZbutton_helplist_addhelplist_item_removebutton_helplist_removercr r rrrrrrr)rQZ frame_windowZ frame_editorZ frame_shellZ frame_helpZ frame_runZ startup_titleZframe_win_sizeZwin_size_titleZwin_width_titleZwin_height_titleZframe_autocompleteZauto_wait_titleZ frame_paren1Zparen_style_titleZ frame_paren2Zparen_time_titleZ frame_saveZrun_save_titleZ frame_formatZformat_width_titleZ frame_contextZ context_titleZframe_auto_squeeze_min_linesZauto_squeeze_min_lines_titleZframe_helplistZframe_helplist_buttonsZscroll_helplistrTrTrUrs*B                           zGenPage.create_page_generalcCs`|jjtjddddd|jjtjddddd|jjtjddd dd|jjtjd d d dd|jjtjd d d|jjtjd d ddd|j jtjd d d|j jtjdddddd|j jtjd dddd|j jtjd dddd|j jtjdddddtj|_|jjddx"|jD]}|jjt|dq8W|jdS)Nrrzeditor-on-startupr)rrrErrDrr5rr7rz flash-delayrrr)rrr8z max-widthr6rrzauto-squeeze-min-linesrv)rrr-r rrrrrrrrrrZGetAllExtraHelpSourcesList user_helplistrrrr set_add_delete_state)rQZ help_itemrTrTrUrs6               zGenPage.load_general_cfgcCs |jdS)N)r)rQrrTrTrUrszGenPage.help_source_selectedcCsh|jjdkr(|jjd|jjdn<|jjrL|jjd|jjdn|jjd|jjd dS) NrrO !disabled)rO)rO)r)r)rO)rO)rsizerrPrr)rQrTrTrUr s    zGenPage.set_add_delete_statecCs:t|dj}|r6|jj||jjt|d|jdS)NzNew Help Sourcer)r3rrrrrr update_help_changes)rQ help_sourcerTrTrUrs   zGenPage.helplist_item_addcCsx|jjt}|j|}t|d|d|ddj}|rt||krt||j|<|jj||jj||d|j|j dS)NzEdit Help Sourcerr)Zmenuitemfilepath) rrrrr3rrrrr)rQ item_indexr Znew_help_sourcerTrTrUr%s     zGenPage.helplist_item_editcCs4|jjt}|j|=|jj||j|jdS)N)rrrrrrr)rQr rTrTrUr9s   zGenPage.helplist_item_removec CsZitdd<xHtdt|jdD]0}tjddt|dj|j|dddq"WdS)NrZ HelpFilesr;rh)rrrlenrrrr)rQZnumrTrTrUrDs   zGenPage.update_help_changes) rrrrFrrrrrrrrrrTrT)r{rUr`s z%   r`c@s@eZdZddZddZddZeddZd d Zd d Z d S)VarTracecCsg|_g|_dS)N)untracedtraced)rQrTrTrUrFPs zVarTrace.__init__cCs|jj|jjdS)N)rclearr)rQrTrTrUr\s zVarTrace.clearcCs*t|tr|j||}|jj||f|S)N) isinstancetuple make_callbackrr)rQrcallbackrTrTrUrbbs  z VarTrace.addcsfdd}|S)NcstjjfdS)N)rrrrx)r )rrrTrUdefault_callbackvsz0VarTrace.make_callback..default_callbackrT)rrrrT)rrrUrsszVarTrace.make_callbackcCs:x4|jr4|jj\}}|jd||jj||fqWdS)Nwrite)rpopZ trace_addrr)rQrrrTrTrUrP{s zVarTrace.attachcCsFx@|jr@|jj\}}|jd|jdd|jj||fqWdS)Nrrr)rrZ trace_removeZ trace_inforr)rQrrrTrTrUdetachszVarTrace.detachN) rrrrFrrbrrrPrrTrTrTrUrMs   ra7When you click either the Apply or Ok buttons, settings in this dialog that are different from IDLE's default are saved in a .idlerc directory in your home directory. Except as noted, these changes apply to all versions of IDLE installed on this machine. [Cancel] only cancels changes made since the last save. u Font sample: This shows what a selection of Basic Multilingual Plane unicode characters look like for the current font selection. If the selected font does not define a character, Tk attempts to find another font that does. Substitute glyphs depend on what is available on a particular system and will not necessarily have the same size as the font selected. Line contains 20 characters up to Devanagari, 14 for Tamil, and 10 for East Asia. Hebrew and Arabic letters should display right to left, starting with alef, א and ا. Arabic digits display left to right. The Devanagari and Tamil lines start with digits. The East Asian lines are Chinese digits, Chinese Hanzi, Korean Hangul, and Japanese Hiragana and Katakana. You can edit the font sample. Changes remain until IDLE is closed. z Highlighting: The IDLE Dark color theme is new in October 2015. It can only be used with older IDLE releases if it is saved as a custom theme, with a different name. z Keys: The IDLE Modern Unix key set is new in June 2016. It can only be used with older IDLE releases if it is saved as a custom key set, with a different name. a_ General: AutoComplete: Popupwait is milleseconds to wait after key char, without cursor movement, before popping up completion box. Key char is '.' after identifier or a '/' (or '\' on Windows) within a string. FormatParagraph: Max-width is max chars in lines after re-formatting. Use with paragraphs in both strings and comment blocks. ParenMatch: Style indicates what is highlighted when closer is entered: 'opener' - opener '({[' corresponding to closer; 'parens' - both chars; 'expression' (default) - also everything in between. Flash-delay is how long to highlight if cursor is not moved (0 means forever). CodeContext: Maxlines is the maximum number of code context lines to display when Code Context is turned on for an editor window. Shell Preferences: Auto-Squeeze Min. Lines is the minimum number of lines of output to automatically "squeeze". )z Fonts/TabsrWrrc Cs.|sdSy t|dStk r(dSXdS)NTF)rr)rrTrTrUrsrc@seZdZddZdS)rcstj||f||t|td}|jtttdt|dd|j ddjt t t d|j jdjdjdt|_jddtdfd d }jd |fd d }jd |dS)N)r)rZrXrYr)r?r/rrE)rXrZrY)ri)Zwindowrcs$jjf}jd|ddS)Nz 0 0 %s %s)Z scrollregion)winfo_reqwidthZwinfo_reqheightr)rr)canvasrrTrU_configure_interiorsz;VerticalScrolledFrame.__init__.._configure_interiorz cs&jjkr"jjddS)N)rE)rZ winfo_widthZ itemconfigure)r)rr interior_idrTrU_configure_canvassz9VerticalScrolledFrame.__init__.._configure_canvas)r$rFr*rrcrrr rrrrr rrZ xview_movetoZ yview_movetorZ create_windowrr)rQrGrkwZ vscrollbarrrrT)rrrrUrFs       zVerticalScrolledFrame.__init__N)rrrrFrTrTrTrUrsr__main__)rz#idlelib.idle_test.test_configdialogrhF) verbosityexit)run)^Ztkinterrrrrrrrr r r r r rrrrrrrrrrrrrrrrrrr Z tkinter.ttkr!r"r#r$r%r&r'r(r)r*r+Ztkinter.colorchooserZ colorchooserrZ tkinter.fontrrr,Zidlelib.configr-r.Zidlelib.config_keyr/Zidlelib.dynoptionr0Zidlelibr1Z idlelib.queryr2r3Zidlelib.textviewr4Zidlelib.autocompleter5Zidlelib.codecontextr6Zidlelib.parenmatchr7Zidlelib.paragraphr8Zidlelib.squeezerr9rrrr:ryr^r\r_r`rrOr~rrrrZunittestrZidlelib.idle_test.htestr$rTrTrTrU sh4            Q4l= +