Separate search tools, titled-gadget focus fix

darcs
slava 2006-06-26 05:54:25 +00:00
parent 6017ad861b
commit cfdb6aef7b
10 changed files with 49 additions and 64 deletions

View File

@ -41,8 +41,18 @@ M: word article-content
] with-style
] ($block) ;
: ($subsection) ( object -- )
[ article-title ] keep >link
dup [ (help) ] curry
write-outliner ;
: $subsection ( object -- )
[ first [ (help) ] swap ($subsection) ] ($block) ;
[
subsection-style [ first ($subsection) ] with-style
] ($block) ;
: help-outliner ( seq -- | quot: obj -- )
sort-articles [ ($subsection) terpri ] each ;
: $outliner ( content -- )
first call [ (help) ] help-outliner ;
subsection-style [ first call help-outliner ] with-style ;

View File

@ -126,12 +126,6 @@ M: link summary "Link: " swap link-name unparse append ;
: >link ( obj -- obj ) dup word? [ <link> ] unless ;
: ($subsection) ( quot object -- )
subsection-style [
[ swap curry ] keep dup article-title swap >link
rot write-outliner
] with-style ;
: $link ( article -- )
first link-style [
dup article-title swap >link write-object
@ -227,6 +221,3 @@ M: link summary "Link: " swap link-name unparse append ;
[ [ article-title ] keep 2array ] map
[ [ first ] 2apply <=> ] sort
[ second ] map ;
: help-outliner ( seq quot -- | quot: obj -- )
swap sort-articles [ ($subsection) terpri ] each-with ;

View File

@ -84,7 +84,4 @@ SYMBOL: term-index
dup xref-article index-article ;
: search-help. ( phrase -- )
"Search results for ``" write dup write "'':" print
search-help [
first >link [ article-title ] keep write-object terpri
] each ;
search-help [ first ] map help-outliner ;

View File

@ -1,23 +1,20 @@
! Copyright (C) 2005, 2006 Slava Pestov.
! See http://factorcode.org/license.txt for BSD license.
IN: words
USING: inspector io kernel math namespaces prettyprint
USING: help inspector io kernel math namespaces prettyprint
sequences strings walker ;
: usage. ( word -- )
usage natural-sort [
[ synopsis ] keep dup [ usage. ] curry
: word-outliner ( word quot -- )
swap natural-sort [
dup rot curry >r [ synopsis ] keep r>
write-outliner terpri
] each ;
] each-with ;
: usage. ( word -- )
usage [ usage. ] word-outliner ;
: apropos ( substring -- )
"Word names containing ``" write dup write "'':" print
all-words completions
[
[
dup word-name % " (" % dup word-vocabulary % ")" %
] "" make swap write-object terpri
] each ;
all-words completions [ (help) ] word-outliner ;
: annotate ( word quot -- | quot: word def -- def )
over >r >r dup word-def r> call r> swap define-compound ;

View File

@ -1,8 +1,8 @@
! Copyright (C) 2005, 2006 Kevin Reid.
! See http://factorcode.org/license.txt for BSD license.
USING: cocoa compiler gadgets gadgets-browser gadgets-launchpad
gadgets-listener kernel memory objc objc-classes sequences
strings words ;
gadgets-listener gadgets-search kernel memory objc objc-classes
sequences strings words ;
IN: cocoa
! -------------------------------------------------------------------------
@ -112,6 +112,7 @@ DEFER: described-menu
"File"
{ "New Listener" listener-window "n" }
{ "New Browser" browser-window "b" }
{ "Apropos" apropos-window "r" }
{ }
{ "Run..." menu-run-file "o" }
{ }
@ -144,5 +145,6 @@ DEFER: described-menu
{ {
"Help"
{ "Factor Documentation" handbook-window "?" }
{ "Search" search-help-window "" }
} }
} described-menu set-main-menu ;

View File

@ -32,7 +32,7 @@ C: browser-track ( builder closer -- gadget )
[ dup browser-track-closer call ] 2keep
[ browser-track-showing remove-hash* ] keep track-remove ;
TUPLE: browser main-track vocab-track word-track ;
TUPLE: browser vocab-track word-track ;
: find-browser [ browser? ] find-parent ;
@ -108,17 +108,6 @@ DEFER: show-vocab
vocabs [ <vocab-button> ] map make-pile <scroller>
"Vocabularies" f <tile> ;
: <apropos-gadget>
[ apropos ] <search-gadget> "Apropos" f <tile> ;
TUPLE: main-track vocabs apropos ;
C: main-track ( -- gadget )
{
{ [ <vocabs> ] set-main-track-vocabs 2/3 }
{ [ <apropos-gadget> ] set-main-track-apropos 1/3 }
} { 0 1 } make-track* ;
: <vocab-track> ( -- track )
[ <vocab-view> ] [ find-browser hide-vocab-words ]
<browser-track> ;
@ -128,16 +117,13 @@ C: main-track ( -- gadget )
C: browser ( -- browser )
{
{ [ <main-track> ] set-browser-main-track 1/5 }
{ [ <vocabs> ] f 1/5 }
{ [ <vocab-track> ] set-browser-vocab-track 1/5 }
{ [ <word-track> ] set-browser-word-track 3/5 }
} { 1 0 } make-track* ;
M: browser gadget-title drop "Browser" ;
M: browser focusable-child*
browser-main-track main-track-apropos ;
: browser-window ( -- ) <browser> open-window ;
: browser-tool

View File

@ -19,35 +19,21 @@ C: history ( -- gadget )
] each
] with-pane ;
TUPLE: help-sidebar history search ;
: <help-search> ( -- gadget )
[ search-help. ] <search-gadget> "Search" f <tile> ;
C: help-sidebar ( -- gadget )
{
{ [ <history> ] set-help-sidebar-history 1/2 }
{ [ <help-search> ] set-help-sidebar-search 1/2 }
} { 0 1 } make-track* ;
TUPLE: help-gadget showing sidebar scroller ;
TUPLE: help-gadget showing history scroller ;
: help-gadget-pane help-gadget-scroller scroller-gadget ;
C: help-gadget ( -- gadget )
{
{ [ <help-sidebar> ] set-help-gadget-sidebar 1/4 }
{ [ <history> ] set-help-gadget-history 1/4 }
{ [ <pane> <scroller> ] set-help-gadget-scroller 3/4 }
} { 1 0 } make-track* ;
M: help-gadget gadget-title
"Help - " swap help-gadget-showing article-title append ;
M: help-gadget focusable-child*
help-gadget-sidebar help-sidebar-search ;
: add-history ( help -- )
dup help-gadget-sidebar help-sidebar-history
dup help-gadget-history
swap help-gadget-showing dup
[ over history-seq push-new update-history ] [ 2drop ] if ;

View File

@ -28,7 +28,9 @@ prettyprint sequences words ;
{
{ "Listener" [ listener-window ] }
{ "Browser" [ browser-window ] }
{ "Apropos" [ apropos-window ] }
{ "Documentation" [ handbook-window ] }
{ "Search help" [ search-help-window ] }
{ "Globals" [ globals-window ] }
{ "Memory" [ memory-window ] }
{ "Save image" [ save ] }

View File

@ -2,8 +2,8 @@
! See http://factorcode.org/license.txt for BSD license.
IN: gadgets-search
USING: gadgets gadgets-editors gadgets-frames gadgets-labels
gadgets-panes gadgets-scrolling gadgets-theme generic inspector
kernel sequences ;
gadgets-panes gadgets-scrolling gadgets-theme generic help
inspector kernel sequences words ;
TUPLE: search-gadget scroller input quot ;
@ -30,3 +30,15 @@ C: search-gadget ( quot -- )
} make-frame* ;
M: search-gadget focusable-child* search-gadget-input ;
M: search-gadget pref-dim* drop { 400 500 } ;
: apropos-window
[ apropos ] <search-gadget>
"Apropos" <titled-gadget>
open-window ;
: search-help-window
[ search-help. ] <search-gadget>
"Search help" <titled-gadget>
open-window ;

View File

@ -71,6 +71,8 @@ M: titled-gadget pref-dim* viewport-dim ;
M: titled-gadget layout*
dup rect-dim swap gadget-child set-gadget-dim ;
M: titled-gadget focusable-child* gadget-child ;
C: titled-gadget ( gadget title -- )
dup delegate>gadget
[ set-titled-gadget-title ] keep