diff --git a/TODO.FACTOR.txt b/TODO.FACTOR.txt index 076f0045f8..1041e6b690 100644 --- a/TODO.FACTOR.txt +++ b/TODO.FACTOR.txt @@ -7,6 +7,8 @@ - variable width word wrap - graphical crossref tool - http://paste.lisp.org/display/30426 +- C+p: shows newlines as a box +- use mach exception handling to trap div by zero on os x - menu Command: quots look dumb - top level window positioning on ms windows diff --git a/library/ui/tools/listener.factor b/library/ui/tools/listener.factor index 6984c98a6d..cd3536bdf7 100644 --- a/library/ui/tools/listener.factor +++ b/library/ui/tools/listener.factor @@ -80,19 +80,19 @@ M: listener-gadget tool-help listener-gadget swap find-tool nip tool-gadget listener-gadget-input interactor-busy? ; -: find-listener ( -- listener ) +: get-listener ( -- listener ) listener-gadget - [ workspace-busy? not ] find-workspace* + [ workspace-busy? not ] get-workspace* show-tool tool-gadget ; : (call-listener) ( quot listener -- ) listener-gadget-input interactor-call ; : call-listener ( quot -- ) - find-listener (call-listener) ; + get-listener (call-listener) ; : eval-listener ( string -- ) - find-listener + get-listener listener-gadget-input [ set-editor-text ] keep interactor-commit ; diff --git a/library/ui/tools/messages.factor b/library/ui/tools/messages.factor index 261d0a6001..a7c8e8e621 100644 --- a/library/ui/tools/messages.factor +++ b/library/ui/tools/messages.factor @@ -33,7 +33,7 @@ M: messages compile-error : ( -- gadget ) "Compiler messages" - [ drop find-workspace messages select-tool ] + [ find-workspace messages select-tool ] ; M: messages batch-ends diff --git a/library/ui/tools/operations.factor b/library/ui/tools/operations.factor index 936da9c93d..c42c7845ae 100644 --- a/library/ui/tools/operations.factor +++ b/library/ui/tools/operations.factor @@ -80,7 +80,7 @@ M: operation invoke-command ( target operation -- ) [ drop ] [ [ "USE: " % % " " % % ] "" make ] if ; : insert-word ( word -- ) - find-listener [ word-completion-string ] keep + get-listener [ word-completion-string ] keep listener-gadget-input user-input ; [ word? ] H{ @@ -147,7 +147,7 @@ M: operation invoke-command ( target operation -- ) { +primary+ t } { +name+ "Browse" } { +keyboard+ T{ key-down f { A+ } "b" } } - { +quot+ [ vocab-link-name find-workspace swap show-vocab-words ] } + { +quot+ [ vocab-link-name get-workspace swap show-vocab-words ] } } define-operation [ vocab-link? ] H{ @@ -199,7 +199,7 @@ M: operation invoke-command ( target operation -- ) { +primary+ t } { +name+ "Browse" } { +keyboard+ T{ key-down f { A+ } "b" } } - { +quot+ [ find-workspace swap show-module-files ] } + { +quot+ [ get-workspace swap show-module-files ] } } define-operation [ module? ] H{ diff --git a/library/ui/tools/search.factor b/library/ui/tools/search.factor index 1ca9fd0b2c..4788893ffc 100644 --- a/library/ui/tools/search.factor +++ b/library/ui/tools/search.factor @@ -34,7 +34,7 @@ search-field H{ : ( seq producer presenter -- gadget ) -rot curry - [ [ workspace? ] find-parent hide-popup ] -rot + [ find-workspace hide-popup ] -rot ; C: live-search ( string seq producer presenter -- gadget ) @@ -126,7 +126,7 @@ C: history-search ( string seq -- gadget ) [ delegate>live-search ] keep ; : search-action ( search -- obj ) - dup [ workspace? ] find-parent hide-popup + dup find-workspace hide-popup live-search-list list-value ; : show-titled-popup ( workspace gadget title -- ) diff --git a/library/ui/tools/tools.factor b/library/ui/tools/tools.factor index 3b509f30b2..88c0b44f96 100644 --- a/library/ui/tools/tools.factor +++ b/library/ui/tools/tools.factor @@ -22,6 +22,8 @@ M: gadget tool-help drop f ; TUPLE: workspace book popup ; +: find-workspace [ workspace? ] find-parent ; + TUPLE: tool gadget ; : find-tool ( class workspace -- index tool ) @@ -34,17 +36,17 @@ TUPLE: tool gadget ; : select-tool ( workspace class -- ) swap show-tool drop ; -: find-workspace* ( quot -- workspace ) +: get-workspace* ( quot -- workspace ) [ dup workspace? [ over call ] [ drop f ] if ] find-window [ nip dup raise-window world-gadget ] - [ workspace-window drop find-workspace* ] if* ; inline + [ workspace-window drop get-workspace* ] if* ; inline -: find-workspace ( -- workspace ) [ drop t ] find-workspace* ; +: get-workspace ( -- workspace ) [ drop t ] get-workspace* ; : call-tool ( arg class -- ) - find-workspace show-tool call-tool* ; + get-workspace show-tool call-tool* ; : get-tool ( class -- gadget ) - find-workspace find-tool nip tool-gadget ; + get-workspace find-tool nip tool-gadget ; : find-messages ( -- gadget ) messages get-tool ; diff --git a/library/ui/tools/walker.factor b/library/ui/tools/walker.factor index f07c5b835d..7d03b9f29b 100644 --- a/library/ui/tools/walker.factor +++ b/library/ui/tools/walker.factor @@ -75,7 +75,7 @@ M: walker-gadget tool-help drop "ui-walker" ; : walker-step-all ( walker -- ) dup [ step-all ] walker-command reset-walker - find-workspace listener-gadget select-tool ; + get-workspace listener-gadget select-tool ; walker-gadget "toolbar" { { "Step" T{ key-down f f "s" } [ walker-step ] }