{"size": 1660, "ext": "scrbl", "max_stars_repo_path": "gui-doc/scribblings/gui/menu-bar-class.scrbl", "max_stars_repo_name": "jjsimpso/gui", "max_stars_repo_stars_event_min_datetime": "2015-03-17T22:11:52.000Z", "max_stars_repo_stars_event_max_datetime": "2022-03-12T15:09:34.000Z", "max_issues_repo_path": "gui-doc/scribblings/gui/menu-bar-class.scrbl", "max_issues_repo_name": "jjsimpso/gui", "max_issues_repo_issues_event_min_datetime": "2015-01-09T15:53:25.000Z", "max_issues_repo_issues_event_max_datetime": "2022-03-31T16:21:29.000Z", "max_forks_repo_path": "gui-doc/scribblings/gui/menu-bar-class.scrbl", "max_forks_repo_name": "jjsimpso/gui", "max_forks_repo_forks_event_min_datetime": "2015-01-08T13:03:07.000Z", "max_forks_repo_forks_event_max_datetime": "2022-03-26T21:49:09.000Z"}
{"max_stars_count": 65, "max_issues_count": 231, "max_forks_count": 89, "avg_line_length": 28.6206896552, "max_line_length": 90, "alphanum_fraction": 0.686746988}
#lang scribble/doc
@(require "common.rkt")

@centered{@image[#:suffixes @list[".png"]]{image/menu-bar}}

@defclass/title[menu-bar% object% (menu-item-container<%>)]{

A @racket[menu-bar%] object is created for a particular
 @racket[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%) '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-racket['root] is supplied as @racket[parent], the
 menu bar becomes active only when no other frames are shown. A
 @racket['root] @racket[parent] is allowed only when
 @racket[current-eventspace-has-menu-root?] returns @racket[#t], and
 only if no such menu bar has been created before, otherwise
 @|MismatchExn|.

The @racket[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
 @racket[#f] only if the menu is specifically disabled (in addition to
 the menu bar).

}


@defmethod[(get-frame)
           (or/c (is-a?/c frame%) 'root)]{

Returns the menu bar's frame, or returns @racket['root] if the menu
bar is shown when no other frames are shown.

}


@defmethod[(is-enabled?)
           boolean?]{

Returns @racket[#t] if the menu bar is enabled, @racket[#f] otherwise.

}}
