diff --git a/TODO.FACTOR.txt b/TODO.FACTOR.txt index 789a0a006c..c3dc9a94d0 100644 --- a/TODO.FACTOR.txt +++ b/TODO.FACTOR.txt @@ -2,8 +2,6 @@ - write "foo| " and put caret at | then select word element: selects space -- workspace: - - tool help - new browser: - show currently selected vocab & words - scroll to existing won't work @@ -19,13 +17,15 @@ - clean up interactor and listener commands -- there is a lot of duplication - keyboard help persists after clicking on a link -- grouping commands into categories - apropos and help search ======================================================================== + ui: +- grouping commands into categories +- tool help +- merge keyboard help with help in some way - keyboard help: hide commands whose gestures are shadowed - x11.app has a problem with A+ keys - status bar showing number of words needing a recompile diff --git a/library/ui/tools/walker.factor b/library/ui/tools/walker.factor index 1ccd5097d4..818877c5bb 100644 --- a/library/ui/tools/walker.factor +++ b/library/ui/tools/walker.factor @@ -43,16 +43,19 @@ TUPLE: walker-gadget model quot ns ; swap dup walker-gadget-ns [ slip update-stacks ] bind ; inline +: walker-command ( gadget quot -- ) + over walker-gadget-ns [ with-walker ] [ 2drop ] if ; inline + : reset-walker ( walker -- ) f over set-walker-gadget-ns f over walker-gadget-model set-model - f swap walker-gadget-quot set-model ; + f over walker-gadget-quot set-model ; -: walker-step [ step ] with-walker ; -: walker-step-in [ step-in ] with-walker ; -: walker-step-out [ step-out ] with-walker ; -: walker-step-back [ step-back ] with-walker ; -: walker-step-all dup [ step-all ] with-walker reset-walker ; +: walker-step [ step ] walker-command ; +: walker-step-in [ step-in ] walker-command ; +: walker-step-out [ step-out ] walker-command ; +: walker-step-back [ step-back ] walker-command ; +: walker-step-all dup [ step-all ] walker-command reset-walker ; walker-gadget { { f "Step" T{ key-down f f "s" } [ walker-step ] }