Inherited methods:

from list-control<%>

append

clear

find-string

get-number

get-selection

get-string

get-string-selection

set-selection

set-string-selection

from control<%>

command

get-font

from window<%>

accept-drop-files

client->screen

enable

focus

get-client-size

get-cursor

get-handle

get-height

get-label

get-plain-label

get-size

get-width

get-x

get-y

has-focus?

is-enabled?

is-shown?

on-drop-file

on-focus

on-move

on-size

on-subwindow-char

on-subwindow-event

on-superwindow-enable

on-superwindow-show

popup-menu

refresh

screen->client

set-cursor

set-label

show

from area<%>

get-graphical-min-size

get-parent

get-top-level-window

min-height

min-width

stretchable-height

stretchable-width

from subarea<%>

horiz-margin

vert-margin

Version: 4.1

choice% : class?

  superclass: object%

  extends: 

list-control<%>

A choice item allows the user to select one string item from a pop-up list of items. Unlike a list box, only the currently selection is visible until the user pops-up the menu of choices.

Whenever the selection of a choice item is changed by the user, the choice item’s callback procedure is invoked. A callback procedure is provided as an initialization argument when each choice item is created.

See also list-box%.

(new choice%

 

[label label]

 

 

 

[choices choices]

 

 

 

[parent parent]

 

 

 [

[callback callback]

 

 

 

[style style]

 

 

 

[selection selection]

 

 

 

[font font]

 

 

 

[enabled enabled]

 

 

 

[vert-margin vert-margin]

 

 

 

[horiz-margin horiz-margin]

 

 

 

[min-width min-width]

 

 

 

[min-height min-height]

 

 

 

[stretchable-width stretchable-width]

 

 

 

[stretchable-height stretchable-height]])

 

  (is-a?/c choice%)

  label : (or/c label-string? false/c)

  choices : (listof label-string?)

  

parent

 

:

 

(or/c (is-a?/c frame%) (is-a?/c dialog%)

      (is-a?/c panel%) (is-a?/c pane%))

  

callback

 

:

 

((is-a?/c choice%) (is-a?/c control-event%) . -> . any)

 

 

 

=

 

(lambda (c e) (void))

  

style

 

:

 

(listof (one-of/c 'horizontal-label 'vertical-label

                  'deleted))

 

 

 

=

 

null

  selection : exact-nonnegative-integer? = 0

  font : (is-a?/c font%) = normal-control-font

  enabled : any/c = #t

  vert-margin : (integer-in 0 1000) = 2

  horiz-margin : (integer-in 0 1000) = 2

  min-width : (integer-in 0 10000) = graphical-minimum-width

  min-height : (integer-in 0 10000) = graphical-minimum-height

  stretchable-width : any/c = #f

  stretchable-height : any/c = #f

Creates a choice item. If label is a string, it is used as the label for the choice item.

If & occurs in label, it is specially parsed as for button%.

The choices list specifies the initial list of user-selectable items for the control. The initial set of choices determines the control’s minimum graphical width (see Geometry Management for more information).

The callback procedure is called (with the event type 'choice) when the user selects a choice item (or re-selects the currently selected item).

If style includes 'vertical-label, then the choice item is created with a label above the control; if style does not include 'vertical-label (and optionally includes 'horizontal-label), then the label is created to the left of the choice item. If style includes 'deleted, then the choice item is created as hidden, and it does not affect its parent’s geometry; the choice item can be made active later by calling parent’s add-child method.

By default, the first choice (if any) is initially selected. If selection is positive, it is passed to set-selection to set the initial choice selection. Although selection normally must be less than the length of choices, it can be 0 when choices is empty.

The font argument determines the font for the control. For information about the enabled argument, see window<%>. For information about the horiz-margin and vert-margin arguments, see subarea<%>. For information about the min-width, min-height, stretchable-width, and stretchable-height arguments, see area<%>.