This command builds upon the Say example, by adding multiple buttons, action parameters and a text-field control.
The user can enter text into a text-field control and choose what voice is used to speak the string.
$ Suitcase --name="War Games" \
--control-title="Shall we play a game?" \
--control-type="text-field" \
--control-identifier="say.textfield" \
--control-title="Daniel" \
--control-type="button" \
--control-group-identifier="g.btns" \
--control-action="/usr/bin/say" \
--control-action-parameter="-v,Daniel,say.textfield" \
--control-title="Samantha" \
--control-type="button" \
--control-group-identifier="g.btns" \
--control-action="/usr/bin/say" \
--control-action-parameter="-v,Samantha,say.textfield" \
--control-title="Veena" \
--control-type="button" \
--control-group-identifier="g.btns" \
--control-action="/usr/bin/say" \
--control-action-parameter="-v,Veena,say.textfield"
--name="War Games"
Sets the name of the running Suitcase, this is also used for the main window title if --window-title is not set.
--control-title="Shall we play a game?"
--control-type="text-field"
--control-identifier="say.textfield"
These 3 lines define the text-field. The first two we encountered in the Say example, --control-title and --control-type set the placeholder text and control type respectively. The third option, --control-identifier, sets the contol’s identifier. An identifier can be used by other controls and actions to reference a control during execution.
In this example the identifier value, “say.textfield”, is used to read the value of the text-field and pass it to the say command.
--control-title="Daniel"
--control-type="button"
--control-group-identifier="g.btns"
--control-action="/usr/bin/say"
--control-action-parameter="-v,Daniel,say.textfield"
The next three blocks of options define the buttons, they have the titles, Daniel, Samantha and Veena. The --control-title, --control-type and --control-action are simular to those detailed in the basic Say example.
--control-group-identifier="g.btns"
A group identifier option, --control-group-identifier allows controls to be physically grouped on screen. Any controls tagged with the same group identifier will appear next to each other in the Suitcase window.
--control-action="/usr/bin/say"
--control-action-parameter="-v,Daniel,say.textfield"
In this control’s action declaration, the parameters are specified in the --control-action-parameter option and not inline as with other examples. The --control-action-parameter takes a comma separated list of parameters.
One of the parameters listed is the control identifier (--control-identifier) from the text-field declaration. This will be substituted for the value of the text-field before being passed to the say command.
The -v Daniel parameters select the voice used to speak the text.