3.38 popup-menu%

► |  | The Racket Graphical Interface Toolkit

1 | Windowing
2 | Widget Gallery
3 | Windowing Classes
4 | Windowing Functions
5 | Editors
6 | Snip and Style Classes
7 | Editor Classes
8 | Editor Functions
9 | WXME Decoding
10 | Preferences
11 | Dynamic Loading
12 | Startup Actions
13 | Init Libraries
14 | Platform Dependencies
| Index

▼ | 3 | Windowing Classes

3.1 | area<%>
3.2 | area-container<%>
3.3 | area-container-window<%>
3.4 | button%
3.5 | canvas<%>
3.6 | canvas%
3.7 | check-box%
3.8 | checkable-menu-item%
3.9 | choice%
3.10 | clipboard-client%
3.11 | clipboard<%>
3.12 | combo-field%
3.13 | control<%>
3.14 | column-control-event%
3.15 | control-event%
3.16 | cursor%
3.17 | dialog%
3.18 | event%
3.19 | frame%
3.20 | gauge%
3.21 | group-box-panel%
3.22 | grow-box-spacer-pane%
3.23 | horizontal-pane%
3.24 | horizontal-panel%
3.25 | key-event%
3.26 | labelled-menu-item<%>
3.27 | list-box%
3.28 | list-control<%>
3.29 | menu%
3.30 | menu-bar%
3.31 | menu-item<%>
3.32 | menu-item%
3.33 | menu-item-container<%>
3.34 | message%
3.35 | mouse-event%
3.36 | pane%
3.37 | panel%
3.38 | popup-menu%
3.39 | printer-dc%
3.40 | radio-box%
3.41 | selectable-menu-item<%>
3.42 | separator-menu-item%
3.43 | scroll-event%
3.44 | slider%
3.45 | subarea<%>
3.46 | subwindow<%>
3.47 | tab-panel%
3.48 | text-field%
3.49 | timer%
3.50 | top-level-window<%>
3.51 | vertical-pane%
3.52 | vertical-panel%
3.53 | window<%>

On this page:

new
get-font
get-popup-target
set-min-width

Inherited methods:
from menu-item-container<%>
get-items
on-demand

top ← prev up next →

class popup-menu% : class?
superclass: object%
extends: | menu-item-container<%>

A popup-menu% object is created without a parent. Dynamically display a popup-menu% with popup-menu in window<%> or popup-menu in editor-admin%.

A popup menu is not a control. A choice% control, however, displays a single value that the user selects from a popup menu. A choice% control’s popup menu is built into the control, and it is not accessible to the programmer.

> > constructor
> > (new popup-menu% |
> > | [ | [title title] |
> > |  | [popdown-callback popdown-callback] |
> > |  | [demand-callback demand-callback] |
> > |  | [font font]]) |
> → (is-a?/c popup-menu%)
> title : (or/c label-string? #f) = #f
> | popdown-callback |  | : |  |
> ((is-a?/c popup-menu%) (is-a?/c control-event%)
> . -> . any)
> |  |  | = |  | (lambda (p e) (void))
> | demand-callback |  | : |  | ((is-a?/c popup-menu%) . -> . any)
> |  |  | = |  | (lambda (p) (void))
> font : (is-a?/c font%) = normal-control-font

If title is not #f, it is used as a displayed title at the top of the popup menu.

If title contains &, it is handled specially, the same as for menu% titles. A popup menu mnemonic is not useful, but it is supported for consistency with other menu labels.

The popdown-callback procedure is invoked when a popup menu is dismissed. If the popup menu is dismissed without an item being selected, popdown-callback is given a control-event% object with the event type 'menu-popdown-none. If the popup menu is dismissed via an item selection, the item’s callback is invoked first, and then popdown-callback is given a control-event% object with the event type 'menu-popdown.

The demand-callback procedure is called by the default on-demand method with the object itself.

The font argument determines the font for the popup menu’s items.

> method (send a-popup-menu get-font) → (is-a?/c font%)

Returns the font used for the popup menu’s items, which is optionally supplied when a popup menu is created.

> method (send a-popup-menu get-popup-target)
> → (or/c (is-a?/c window<%>) (is-a?/c editor<%>) #f)

Returns the context in which the popup menu is currently displayed, or #f if it is not popped up in any window.

The context is set before the on-demand method is called, and it is not removed until after the popup-menu’s callback is invoked. (Consequently, it is also set while an item callback is invoked, if the user selected an item.)

> method (send a-popup-menu set-min-width width) → void?
> width : dimension-integer?

Sets the popup menu’s minimum width in pixels.
top ← prev up next →