Display help in browser tool
parent
44c090d0a7
commit
2620a10107
|
@ -129,12 +129,17 @@ HELP: $title
|
|||
{ $values { "topic" "a help article name or a word" } }
|
||||
{ $description "Prints a help article's title, or a word's " { $link summary } ", depending on the type of " { $snippet "topic" } "." } ;
|
||||
|
||||
HELP: print-topic
|
||||
{ $values { "topic" "an article name or a word" } }
|
||||
{ $description
|
||||
"Displays a help topic on " { $link output-stream } "."
|
||||
} ;
|
||||
|
||||
HELP: help
|
||||
{ $values { "topic" "an article name or a word" } }
|
||||
{ $description
|
||||
"Displays a help article or documentation associated to a word on " { $link output-stream } "."
|
||||
"Displays a help topic."
|
||||
} ;
|
||||
|
||||
HELP: about
|
||||
{ $values { "vocab" "a vocabulary specifier" } }
|
||||
{ $description
|
||||
|
|
|
@ -89,10 +89,17 @@ M: word set-article-parent swap "help-parent" set-word-prop ;
|
|||
] with-nesting
|
||||
] with-style nl ;
|
||||
|
||||
: help ( topic -- )
|
||||
: print-topic ( topic -- )
|
||||
last-element off dup $title
|
||||
article-content print-content nl ;
|
||||
|
||||
SYMBOL: help-hook
|
||||
|
||||
help-hook global [ [ print-topic ] or ] change-at
|
||||
|
||||
: help ( topic -- )
|
||||
help-hook get call ;
|
||||
|
||||
: about ( vocab -- )
|
||||
dup require
|
||||
dup vocab [ ] [
|
||||
|
|
|
@ -4,17 +4,17 @@ USING: debugger ui.tools.workspace help help.topics kernel
|
|||
models models.history ui.commands ui.gadgets ui.gadgets.panes
|
||||
ui.gadgets.scrollers ui.gadgets.tracks ui.gestures
|
||||
ui.gadgets.buttons compiler.units assocs words vocabs
|
||||
accessors ;
|
||||
accessors fry combinators.short-circuit ;
|
||||
IN: ui.tools.browser
|
||||
|
||||
TUPLE: browser-gadget < track pane history ;
|
||||
|
||||
: show-help ( link help -- )
|
||||
dup history>> add-history
|
||||
>r >link r> history>> set-model ;
|
||||
history>> dup add-history
|
||||
[ >link ] dip set-model ;
|
||||
|
||||
: <help-pane> ( browser-gadget -- gadget )
|
||||
history>> [ [ help ] curry try ] <pane-control> ;
|
||||
history>> [ '[ _ print-topic ] try ] <pane-control> ;
|
||||
|
||||
: init-history ( browser-gadget -- )
|
||||
"handbook" >link <history> >>history drop ;
|
||||
|
@ -22,7 +22,7 @@ TUPLE: browser-gadget < track pane history ;
|
|||
: <browser-gadget> ( -- gadget )
|
||||
{ 0 1 } browser-gadget new-track
|
||||
dup init-history
|
||||
dup <toolbar> f track-add
|
||||
add-toolbar
|
||||
dup <help-pane> >>pane
|
||||
dup pane>> <scroller> 1 track-add ;
|
||||
|
||||
|
@ -38,10 +38,11 @@ M: browser-gadget ungraft*
|
|||
[ call-next-method ] [ remove-definition-observer ] bi ;
|
||||
|
||||
: showing-definition? ( defspec assoc -- ? )
|
||||
[ key? ] 2keep
|
||||
[ >r dup word-link? [ name>> ] when r> key? ] 2keep
|
||||
>r dup vocab-link? [ vocab ] when r> key?
|
||||
or or ;
|
||||
{
|
||||
[ key? ]
|
||||
[ [ dup word-link? [ name>> ] when ] dip key? ]
|
||||
[ [ dup vocab-link? [ vocab ] when ] dip key? ]
|
||||
} 2|| ;
|
||||
|
||||
M: browser-gadget definitions-changed ( assoc browser -- )
|
||||
history>>
|
||||
|
|
Loading…
Reference in New Issue