From b64bb6020268b47804e401f1898f57c999e563cd Mon Sep 17 00:00:00 2001 From: Robby Findler Date: Mon, 11 Sep 2000 16:31:13 +0000 Subject: [PATCH] ... original commit: 87f6770327ff5831b6708da741dbcc4db9c6d34d --- collects/framework/gen-standard-menus.ss | 8 -------- collects/framework/menu.ss | 26 ++++++++++++++++++++++++ 2 files changed, 26 insertions(+), 8 deletions(-) create mode 100644 collects/framework/menu.ss diff --git a/collects/framework/gen-standard-menus.ss b/collects/framework/gen-standard-menus.ss index 4209ba93..939ae52d 100755 --- a/collects/framework/gen-standard-menus.ss +++ b/collects/framework/gen-standard-menus.ss @@ -155,14 +155,6 @@ string=? ; exec mred -qr $0 `(define standard-menus-mixin (mixin (basic<%>) (standard-menus<%>) args (inherit on-menu-char on-traverse-char) -; (rename [super-on-subwindow-char on-subwindow-char]) -; (override -; [on-subwindow-char -; (lambda (receiver event) -; (if (preferences:get 'framework:menu-bindings) -; (super-on-subwindow-char receiver event) -; (on-traverse-char event)))]) - (rename [super-on-close on-close]) (private [remove-prefs-callback diff --git a/collects/framework/menu.ss b/collects/framework/menu.ss new file mode 100644 index 00000000..e688cdc9 --- /dev/null +++ b/collects/framework/menu.ss @@ -0,0 +1,26 @@ +(unit/sig framework:menu^ + (import mred^ + [preferences : framework:preferences^]) + + (define can-restore<%> + (interface (selectable-menu-item<%>) + restore-keybinding)) + + (define can-restore-mixin + (mixin (selectable-menu-item<%>) (can-restore<%>) args + (inherit set-shortcut get-shortcut) + (private + [saved-shortcut 'not-yet]) + (public + [restore-keybinding + (lambda () + (unless (eq? saved-shortcut 'not-yet) + (set-shortcut saved-shortcut)))]) + (sequence + (apply super-init args) + (set! saved-shortcut (get-shortcut)) + (unless (preferences:get 'framework:menu-bindings) + (set-shortcut #f))))) + + (define can-restore-menu-item% (can-restore-mixin menu-item%)) + (define can-restore-checkable-menu-item% (can-restore-mixin checkable-menu-item%))) \ No newline at end of file