original commit: e3b8c4eb14bda5718c28fc1357d20c290c416697
This commit is contained in:
Robby Findler 2000-06-14 05:08:14 +00:00
parent 1d4a9b6b63
commit 547c8d98d3
3 changed files with 45 additions and 2 deletions

View File

@ -799,16 +799,30 @@
(send to insert (send snip copy))
(loop (send snip next)))))]
[text-keymap/editor%
(class text:keymap% args
(rename [super-get-keymaps get-keymaps])
(override
[get-keymaps
(lambda ()
(if (preferences:get 'framework:menu-bindings)
(append (list (keymap:get-editor))
(super-get-keymaps))
(append (super-get-keymaps)
(list (keymap:get-editor)))))])
(sequence
(apply super-init args)))]
[find-panel (make-object horizontal-panel% dialog)]
[find-message (make-object message% "Find" find-panel)]
[f-text (make-object text%)]
[f-text (make-object text-keymap/editor%)]
[find-canvas (make-object editor-canvas% find-panel f-text
'(hide-hscroll hide-vscroll))]
[replace-panel (make-object horizontal-panel% dialog)]
[replace-message (make-object message% "Replace" replace-panel)]
[r-text (make-object text%)]
[r-text (make-object text-keymap/editor%)]
[replace-canvas (make-object editor-canvas% replace-panel r-text
'(hide-hscroll hide-vscroll))]

View File

@ -226,10 +226,12 @@
setup-global
setup-search
setup-file
setup-editor
get-global
get-search
get-file
get-editor
call/text-keymap-initializer))

View File

@ -1053,6 +1053,29 @@
(map "c:x;c:w" "save-file-as")
(map "c:x;c:f" "load-file")))))
(define (setup-editor kmap)
(let ([add/map
(lambda (func op key)
(send kmap add-function
func
(lambda (editor evt)
(send editor do-edit-operation op)))
(send kmap map-function
(string-append
(case (system-type)
[(macos) "d:"]
[(windows) "c:"]
[(unix) "a:"]
[else (error 'keymap.ss "unknown platform: ~s" (system-type))])
key)
func))])
(add/map "editor-undo" 'undo "z")
(add/map "editor-redo" 'redo "y")
(add/map "editor-cut" 'cut "x")
(add/map "editor-copy" 'copy "c")
(add/map "editor-paste" 'paste "v")
(add/map "editor-select-all" 'select-all "a")))
(define (generic-setup keymap)
(add-editor-keymap-functions keymap)
(add-pasteboard-keymap-functions keymap)
@ -1073,6 +1096,10 @@
(setup-search search)
(define (get-search) search)
(define editor (make-object aug-keymap%))
(setup-editor editor)
(define (get-editor) editor)
(define (call/text-keymap-initializer thunk)
(let ([ctki (current-text-keymap-initializer)])
(parameterize ([current-text-keymap-initializer