49 lines
1.7 KiB
Racket
49 lines
1.7 KiB
Racket
#lang scribble/doc
|
|
@(require scribble/manual scribble/extract)
|
|
@(require (for-label framework))
|
|
@(require (for-label scheme/gui))
|
|
@title{Menu}
|
|
|
|
@definterface[menu:can-restore<%> (selectable-menu-item<%>)]{
|
|
Classes created with this mixin remember their keybindings so the
|
|
keybindings can be removed and then restored.
|
|
@defmethod*[(((restore-keybinding) void))]{
|
|
Sets the keyboard shortcut to the setting it had when the class was
|
|
created.
|
|
|
|
}
|
|
}
|
|
@defmixin[menu:can-restore-mixin (selectable-menu-item<%>) (menu:can-restore<%>)]{
|
|
|
|
}
|
|
@definterface[menu:can-restore-underscore<%> (labelled-menu-item<%>)]{
|
|
These menus can save and restore the underscores (indicated
|
|
via the \& characters in the original labels) in their
|
|
labels.
|
|
|
|
If the preference @scheme['framework:menu-bindings]
|
|
is @scheme[#f], calls
|
|
@method[menu:can-restore-underscore<%> erase-underscores]
|
|
during initialization.
|
|
@defmethod*[(((erase-underscores) void))]{
|
|
Erases the underscores in the label of this menu, but
|
|
remembers them so they can be restores with
|
|
@method[menu:can-restore-underscore<%> restore-underscores].
|
|
|
|
}
|
|
@defmethod*[(((restore-underscores) void))]{
|
|
Restores underscores in the menu's label to their original
|
|
state.
|
|
|
|
|
|
}
|
|
}
|
|
@defmixin[menu:can-restore-underscore-mixin (labelled-menu-item<%>) (menu:can-restore-underscore<%>)]{
|
|
|
|
}
|
|
@defclass[menu:can-restore-menu-item% (menu:can-restore-mixin menu-item%) ()]{}
|
|
@defclass[menu:can-restore-checkable-menu-item% (menu:can-restore-mixin checkable-menu-item%) ()]{}
|
|
@defclass[menu:can-restore-underscore-menu% (menu:can-restore-underscore-mixin menu%) ()]{}
|
|
|
|
@(include-extracted (lib "main.ss" "framework") #rx"^menu:")
|