From b8edbf8336d514fb0739339633c74b6952e172d5 Mon Sep 17 00:00:00 2001 From: Robby Findler Date: Fri, 20 Jun 2008 13:26:55 +0000 Subject: [PATCH] fixed tab handling for docked mode svn: r10390 --- collects/framework/private/frame.ss | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/collects/framework/private/frame.ss b/collects/framework/private/frame.ss index af8f1b912e..0335ac283e 100644 --- a/collects/framework/private/frame.ss +++ b/collects/framework/private/frame.ss @@ -2058,6 +2058,8 @@ (unless dont-search (search #f)) (inner (void) after-delete x y)) + (define/override (get-keymaps) + (cons search/replace-keymap (super get-keymaps))) (super-new) (inherit set-styles-fixed) (set-styles-fixed #t))) @@ -2066,8 +2068,25 @@ (class text:keymap% (inherit set-styles-fixed) (super-new) + (define/override (get-keymaps) + (cons search/replace-keymap (super get-keymaps))) (set-styles-fixed #t))) + (define search/replace-keymap (new keymap%)) + (send search/replace-keymap add-function + "jump-between-search/replace" + (λ (txt evt) + (let ([new-editor + (cond + [(eq? txt find-edit) replace-edit] + [(eq? txt replace-edit) find-edit] + [else #f])]) + (when new-editor + (let ([canvas (send new-editor get-canvas)]) + (when canvas + (send canvas focus))))))) + (send search/replace-keymap map-function "tab" "jump-between-search/replace") + (define find-edit #f) (define replace-edit #f)