diff --git a/basis/help/help.factor b/basis/help/help.factor index 76463e49a2..6885fb8cac 100644 --- a/basis/help/help.factor +++ b/basis/help/help.factor @@ -111,23 +111,29 @@ M: word set-article-parent swap "help-parent" set-word-prop ; bi ] { } make [ ($navigation-table) ] unless-empty ; -: ($navigation) ( topic -- ) - help-path-style get [ - [ help-path [ reverse $breadcrumbs ] unless-empty ] - [ $navigation-table ] bi - ] with-style ; +: ($navigation-path) ( topic -- ) + help-path-style get + [ help-path [ reverse $breadcrumbs ] unless-empty ] + with-style ; + +: ($navigation-prev-next) ( topic -- ) + help-path-style get + [ $navigation-table ] + with-style ; : $title ( topic -- ) title-style get [ title-style get [ - [ ($title) ] [ ($navigation) ] bi + [ ($title) ] [ ($navigation-path) ] bi ] with-nesting ] with-style ; : print-topic ( topic -- ) >link last-element off - [ $title ] [ ($blank-line) article-content print-content nl ] bi ; + [ nl article-content print-content nl ] + [ ($blank-line) ($navigation-prev-next) ] + bi ; SYMBOL: help-hook diff --git a/basis/ui/tools/browser/browser.factor b/basis/ui/tools/browser/browser.factor index 6c6bed5b70..dcbe3f986e 100644 --- a/basis/ui/tools/browser/browser.factor +++ b/basis/ui/tools/browser/browser.factor @@ -34,8 +34,21 @@ M: browser-gadget set-history-value [ set-control-value ] 2bi ; +: ( browser-gadget -- gadget ) + model>> [ '[ _ $title ] try ] ; + +: add-help-header ( track -- track ) + dup { 3 3 } + COLOR: FactorLightTan >>interior + COLOR: grey75 >>boundary + { 1 0 } >>fill f track-add ; + : ( browser-gadget -- gadget ) model>> [ '[ _ print-topic ] try ] ; + +: add-help-pane ( track -- track ) + dup dup { 10 0 } { 1 1 } >>fill + >>scroller scroller>> 1 track-add ; : search-browser ( string browser -- ) '[ _ show-help ] unless-empty ; @@ -43,7 +56,8 @@ M: browser-gadget set-history-value : ( browser -- field ) '[ _ search-browser ] 10 >>min-cols - 10 >>max-cols ; + 10 >>max-cols + COLOR: white >>interior ; : ( browser -- toolbar ) horizontal @@ -51,7 +65,13 @@ M: browser-gadget set-history-value 1/2 >>align { 5 5 } >>gap over f track-add - swap search-field>> "Search:" label-on-left 1 track-add ; + swap search-field>> " Search" label-on-left 1 track-add ; + +: add-browser-toolbar ( track -- track ) + dup { 3 3 } + button-background >>interior + COLOR: grey75 >>boundary + { 1 0 } >>fill f track-add ; : ( link -- gadget ) vertical browser-gadget new-track @@ -59,9 +79,9 @@ M: browser-gadget set-history-value swap >link >>model dup >>history dup >>search-field - dup { 3 3 } { 1 0 } >>fill f track-add - dup dup { 10 0 } { 1 1 } >>fill - >>scroller scroller>> 1 track-add ; + add-browser-toolbar + add-help-header + add-help-pane ; M: browser-gadget graft* [ add-definition-observer ] [ call-next-method ] bi ;