]> gitweb.factorcode.org Git - factor.git/blob - core/ui/tools/help.factor
b209e86ef0043044d17e415ee3e809b940cb2c21
[factor.git] / core / ui / tools / help.factor
1 ! Copyright (C) 2006 Slava Pestov.
2 ! See http://factorcode.org/license.txt for BSD license.
3 IN: gadgets-help
4 USING: gadgets gadgets-borders gadgets-buttons
5 gadgets-panes gadgets-scrolling help kernel
6 models namespaces sequences gadgets-tracks gadgets-workspace ;
7
8 TUPLE: help-gadget pane history ;
9
10 : show-help ( link help -- )
11     dup help-gadget-history add-history
12     >r >link r> help-gadget-history set-model ;
13
14 : go-home ( help -- ) "handbook" swap show-help ;
15
16 : <help-pane> ( history -- gadget )
17     gadget get help-gadget-history [ help ] <pane-control> ;
18
19 : init-history ( help-gadget -- )
20     "handbook" <history>
21     swap set-help-gadget-history ;
22
23 C: help-gadget ( -- gadget )
24     dup init-history {
25         {
26             [ <help-pane> ]
27             set-help-gadget-pane
28             [ <scroller> ]
29             @center
30         }
31     } make-frame* ;
32
33 M: help-gadget call-tool* show-help ;
34
35 M: help-gadget tool-scroller help-gadget-pane find-scroller ;
36
37 M: help-gadget tool-help drop "ui-help" ;
38
39 : help-action ( help-gadget -- link )
40     help-gadget-history model-value >link ;