From f0c8234fa324bcfa07472e7a3c14edf946246a53 Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Thu, 24 Jan 2002 16:12:33 +0000 Subject: [PATCH] . original commit: a1c0ceaacfaba39ae3684474c8b83c6c2333477a --- collects/mred/mred.ss | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/collects/mred/mred.ss b/collects/mred/mred.ss index 53117f9f..09d69a2d 100644 --- a/collects/mred/mred.ss +++ b/collects/mred/mred.ss @@ -4162,8 +4162,7 @@ (when disabled? (super-enable-top (length items) #f)) (set! items (append items (list item))) - (when (send (mred->wx item) is-enabled?) - (send keymap chain-to-keymap (send (mred->wx item) get-keymap) #f)))] + (send keymap chain-to-keymap (send (mred->wx item) get-keymap) #f))] [all-enabled? (lambda () (not disabled?))] [enable-all (lambda (on?) (set! disabled? (not on?)) @@ -4187,12 +4186,10 @@ (if on? (when (memq i disabled) (set! disabled (remq i disabled)) - (send keymap chain-to-keymap (send (mred->wx i) get-keymap) #t) (unless disabled? (super-enable-top p #t))) (unless (memq i disabled) (set! disabled (cons i disabled)) - (send keymap remove-chained-keymap (send (mred->wx i) get-keymap)) (super-enable-top p #f)))))]) (sequence (super-init)))) @@ -4245,12 +4242,7 @@ ; Only called if the item is not deleted (unless (eq? (send iwx is-enabled?) (and on? #t)) (send iwx set-enabled (and on? #t)) - (super-enable id on?) - (let ([k (send iwx get-keymap)]) - (when k - (if on? - (send keymap chain-to-keymap k #f) - (send keymap remove-chained-keymap k))))))]) + (super-enable id on?)))]) (sequence (super-init popup-label popup-callback)))) @@ -4410,6 +4402,7 @@ (define basic-selectable-menu-item% (class100* basic-labelled-menu-item% (selectable-menu-item<%>) (lbl checkable? mnu cb shrtcut help-string set-wx demand-callback) + (inherit is-enabled?) (rename [super-restore restore] [super-set-label set-label] [super-is-deleted? is-deleted?] [super-is-enabled? is-enabled?] @@ -4461,8 +4454,9 @@ (let ([keymap (make-object wx:keymap%)]) (send keymap add-function "menu-item" ;; keymap function callback already in exit mode: - (lambda (edit event) - (callback this (make-object wx:control-event% 'menu)))) + (lambda (edit event) + (when (is-enabled?) + (callback this (make-object wx:control-event% 'menu))))) (send keymap map-function key-binding "menu-item") keymap))]) (values new-label keymap)))])