a 9êdgcã@s¨ddlZddlZddlZddlZddlZddlZddlmZddlm Z Gdd„dƒZ dd„Z dZ d Z d Ze d ¡Zd Zd Zdd„Zedkr¤ddlmZeddddS)éN)Ú calltip_w)Ú HyperParserc@sXeZdZddd„Zdd„Zdd„Zddd „Zd d „Zd d „Zdd„Z dd„Z dd„Z dS)ÚCalltipNcCs0|durd|_n||_|j|_d|_|j|_dS©N)ÚeditwinÚtextÚactive_calltipÚ_make_tk_calltip_windowÚ_calltip_window)Úselfr©r ú+/usr/local/lib/python3.9/idlelib/calltip.pyÚ__init__s zCalltip.__init__cCs d|_dSr)r ©r r r r Úclosesz Calltip.closecCs t |j¡Sr)rZ CalltipWindowrrr r r r szCalltip._make_tk_calltip_windowcCs|jr|j ¡d|_dSr)rZhidetip©r Úeventr r r Úremove_calltip_window$s zCalltip.remove_calltip_windowcCs| d¡dS)NTÚbreak©Ú open_calltiprr r r Úforce_open_calltip_event)s z Calltip.force_open_calltip_eventcCs| d¡dS©NFrrr r r Útry_open_calltip_event.szCalltip.try_open_calltip_eventcCs|jr|jjr| d¡dSr)rZ tipwindowrrr r r Úrefresh_calltip_event5szCalltip.refresh_calltip_eventcCsðt|jdƒ}| d¡}|s&| ¡dS|jr`tt|d d¡ƒ\}}||f|jj|jj fkr`dS|  |d¡z |  ¡}Wnt yd}Yn0|sšdS| ¡|s¸|  d¡dkr¸dS| |¡}|sÊdS| ¡|_|j ||d|d¡dS)NÚinsertú(rÚ.éÿÿÿÿé)rrZget_surrounding_bracketsrrÚmapÚintÚsplitZ parenlineZparencolZ set_indexZget_expressionÚ ValueErrorÚfindÚ fetch_tipr Zshowtip)r Z evalfuncsZhpZ sur_parenZ opener_lineZ opener_colÚ expressionÚargspecr r r r9s6  ÿÿ     zCalltip.open_calltipcCsPz|jjjjj}Wnty(d}Yn0|r@| dd|fi¡Stt|ƒƒSdS)NÚexecZget_the_calltip) rÚflistZpyshellZinterpÚrpccltÚAttributeErrorZ remotecallÚ get_argspecÚ get_entity)r r&r*r r r r%ls  ÿzCalltip.fetch_tip)N)N) Ú__name__Ú __module__Ú __qualname__rrr rrrrrr%r r r r rs  3rcCs:|r6itj¥tj¥}z t||ƒWSty4YdS0dSr)ÚsysÚmodulesÚ__main__Ú__dict__ÚevalÚ BaseException)r&Ú namespacer r r r-…s   r-éUéz z(?<=\()\w*\,?\s*zSee source or doczinvalid method signaturec CsPz |j}WntyYdS0t|tjƒr0|n|}ztt |¡ƒ}WnJty}z2t|ƒ}|  t ¡rxt WYd}~Sd}WYd}~n d}~00t|t ƒr¨|dkr¨t }t |ƒtkrÄtj|ttdn |rÎ|gng}t |¡}|r<| dt¡dt…D]D}| ¡}|sqs&  s 1