e f% @ sN d Z d d l m Z d d l m Z m Z m Z m Z m Z d d l m
Z
m Z m Z m
Z
m Z m Z m Z d d l m Z d d l m Z d Z e r d d l m Z n Gd d
d
e Z Gd d d e
Z Gd
d d e Z Gd d d e Z d d Z d d Z e d k rJd d l m Z e e n d S)a help.py: Implement the Idle help menu.
Contents are subject to revision at any time, without notice.
Help => About IDLE: diplay About Idle dialog
Help => IDLE Help: Display help.html with proper formatting.
Doc/library/idle.rst (Sphinx)=> Doc/build/html/library/idle.html
(help.copy_strip)=> Lib/idlelib/help.html
HelpParser - Parse help.html and and render to tk Text.
HelpText - Display formatted help.html.
HelpFrame - Contain text, scrollbar, and table-of-contents.
(This will be needed for display in a future tabbed window.)
HelpWindow - Display HelpFrame in a standalone window.
copy_strip - Copy idle.html to help.html, rstripping each line.
show_idlehelp - Create HelpWindow. Called in EditorWindow.help_dialog.
)
HTMLParser)abspathdirnameisdirisfilejoin)TkToplevelFrameText ScrollbarMenu
Menubutton)font)idleConfF)r c @ sU e Z d Z d Z d d Z d d d Z d d Z d d
Z d d Z d
S)
HelpParserzRender help.html into a text widget.
The overridden handle_xyz methods handle a subset of html tags.
The supplied text should have the needed tag configurations.
The behavior for unsupported tags, such as table, is undefined.
c C s t j | d d | | _ d | _ d | _ d | _ d | _ d | _ d | _ d | _ d | _
d | _ g | _ d | _
d S)NZconvert_charrefsT Fr )r __init__texttagschartagsshowhdrlinklevelprehprefix nested_dl
simplelisttocheader)selfr r! 1/opt/alt/python34/lib64/python3.4/idlelib/help.pyr 1 s zHelpParser.__init__ c C s> | j | 7_ | j d k r$ d n d t | j | _ d S)Nr r l)r strr )r amtr! r! r" indent@ s zHelpParser.indentc C s d } x) | D]! \ } } | d k r
| } q
q
Wd } | d k r\ | d k r\ d | _ nD| d k r | d k r d | _ n | d k r | d k r d
} n| d k r | d k r d | _ n| d k r | d
k r d | _ n| d k rd | _ n| d# k rJ| j d d$ k r4d } d | _ n d | _ | j nV| d k rt| j d k rd | _ qn,| d k r| j rd n d } n| d k r| j sd
n d } d | _ n | d k r| j d } n | d k r$d | _ | j r| j j d d
n d | _
n| | d k rH| d k rHd | _ nX | d k r`| | _
n@ | d% k r| j rd | _ | j j d d
n | | _
n | j r| j j d | | j
| j f n d" S)&zHandle starttags in help.html.r classZdivZsectionTZ
sphinxsidebarFpfirstz
spanr ZversionmodifiedemulolZsimpler#
Zdlr Zliz
* z
* ZdtddendpreblockaZ
headerlinkh1h2h3N)r- r. )r5 r6 )
r r findr r' r r r r insertr r r )r tagattrsZclass_r3 vsr! r! r" handle_starttagD sd
zHelpParser.handle_starttagc C s | d k rM | j d | j r | j j | j | j j d f q np | d k re d | _ nX | d k r} d
| _ n@ | d k r d
| _ d | _
n | d k r | j d d n d S)zHandle endtags in help.html.r4 r5 r6 r r9 r+ r, r r3 Fr r- r0 r. r&