8.2 Prompting for values
prompt-with-list
should handle the majority of cases. The simplest form just passes a list to the function and expects a single item to be returned.(prompt-with-list '(:red :yellow :blue) "Select a color:")
Figure 8.5 A dialog prompting for a selection from a list
You can also specify the interaction style that you would like for your dialog, which can be any of the interactions accepted by a choice. The specification of the interaction style to this choice is made using the keyword argument:interaction
:
(prompt-with-list '(:red :yellow :blue) "Select a color:" :interaction :multiple-selection)By default, the dialog is created using a list-panel to display the items, but the keyword argument
:choice-class
can be specified with any choice pane. Thus, for instance, you can present a list of buttons.(prompt-with-list '(:red :yellow :blue) "Select a color:" :interaction :multiple-selection :choice-class 'button-panel)
Figure 8.6 Selection from a button panel
Finally, as with any of the prompting functions, you can specify additional arguments to the pane that has been created in the dialog. Thus to create a column of buttons instead of the default row, use:
(prompt-with-list '(:red :yellow :blue) "Select a color:" :interaction :multiple-selection :choice-class 'button-panel :pane-args '(:layout-class column-layout))
Figure 8.7 Selection from a column of buttons
Generated with Harlequin WebMaker