55 lines
1.5 KiB
Racket
55 lines
1.5 KiB
Racket
#lang scribble/doc
|
|
@(require "common.ss")
|
|
|
|
@defclass/title[menu-bar% object% (menu-item-container<%>)]{
|
|
|
|
A @scheme[menu-bar%] object is created for a particular
|
|
@scheme[frame%] object. A frame can have at most one menu bar;
|
|
@|MismatchExn| when a new menu bar is created for a frame that
|
|
already has a menu bar.
|
|
|
|
|
|
|
|
@defconstructor[([parent (or/c (is-a?/c frame%) (one-of/c 'root))]
|
|
[demand-callback ((is-a?/c menu-bar%) . -> . any) (lambda (m) (void))])]{
|
|
|
|
Creates a menu bar in the specified frame. The menu bar is initially
|
|
empty. If @indexed-scheme['root] is supplied as @scheme[parent], the
|
|
menu bar becomes active only when no other frames are shown. A
|
|
@scheme['root] @scheme[parent] is allowed only when
|
|
@scheme[current-eventspace-has-menu-root?] returns @scheme[#t], and
|
|
only if no such menu bar has been created before, otherwise
|
|
@|MismatchExn|.
|
|
|
|
The @scheme[demand-callback] procedure is called by the default
|
|
@method[menu-item-container<%> on-demand] method with the object itself.
|
|
|
|
}
|
|
|
|
|
|
@defmethod[(enable [enable? any/c])
|
|
void?]{
|
|
|
|
Enables or disables the menu bar (i.e., all of its menus). Each
|
|
menu's @method[labelled-menu-item<%> is-enabled?] method returns
|
|
@scheme[#f] only if the menu is specifically disabled (in addition to
|
|
the menu bar).
|
|
|
|
}
|
|
|
|
|
|
@defmethod[(get-frame)
|
|
(is-a?/c frame%)]{
|
|
|
|
Returns the menu bar's frame.
|
|
|
|
}
|
|
|
|
|
|
@defmethod[(is-enabled?)
|
|
boolean?]{
|
|
|
|
Returns @scheme[#t] if the menu bar is enabled, @scheme[#f] otherwise.
|
|
|
|
}}
|