committed (hopefully) a workaround for a problem Matthias was seeing

svn: r12932
This commit is contained in:
Robby Findler 2008-12-23 18:10:01 +00:00
parent c11196839b
commit c2593e3ff9
2 changed files with 7 additions and 3 deletions

View File

@ -3103,8 +3103,9 @@ module browser threading seems wrong.
[demand-callback
(λ (mi)
(let ([target (get-edit-target-object)])
(send mi enable (get-edit-target-object))
(send mi check (and target (send target get-overwrite-mode)))))]
(send mi enable (is-a? target text%))
(when (is-a? target text%)
(send mi check (and target (send target get-overwrite-mode))))))]
[callback (λ (x y)
(let ([target (get-edit-target-object)])
(send target set-overwrite-mode

View File

@ -12,6 +12,8 @@
(provide tool@)
(define-syntax (name stx) (syntax-case stx () [(_ x e) #'(let ((x e)) x)]))
(define tool@
(unit
(import drscheme:tool^)
@ -20,6 +22,7 @@
(define (phase2)
(drscheme:get/extend:extend-unit-frame
(lambda (drs:frame%)
(name guibuilder-frame%
(class drs:frame%
(inherit get-insert-menu get-edit-target-object)
@ -69,6 +72,6 @@
(send gb create-main-panel)
(send gb set-caret-owner #f 'display))))))
(inherit register-capability-menu-item)
(register-capability-menu-item 'drscheme:special:insert-gui-tool (get-insert-menu))))))
(register-capability-menu-item 'drscheme:special:insert-gui-tool (get-insert-menu)))))))
(drscheme:language:register-capability 'drscheme:special:insert-gui-tool (flat-contract boolean?) #t))))