RadioButtons 

                   (System Library)

Description:              This module draws a set of labeled radio buttons with (optional) title and border.

Returns:                    Nothing

Usage:                       Steady State

Format:                      \System\RadioButtons(X1, Y1, X2, Y2, Labels, Variable [, FocusID, Border, Title, BtnsOnLeft, AlignTitle])

Parameters:             X1    { numeric }  { required }  { no default: }

                                      Any numeric expression giving the X coordinate on the screen of one side of the radio buttons.

                                    Y1    { numeric }  { required }  { no default: }

                                      Any numeric expression giving the Y coordinate on the screen of either the top or bottom of the radio buttons.

                                    X2    { numeric }  { required }  { no default: }

                                      Any numeric expression giving the X coordinate on the screen of the side of the radio buttons opposite to X1.

                                    Y2    { numeric }  { required }  { no default: }

                                      Any numeric expression giving the Y coordinate on the screen of the top or bottom of the radio buttons, whichever is the opposite to Y1.

                                    Labels    { array of text }  { required }  { no default: }

                                      An array of text expressions used to label the buttons. The number of labels determines the number of buttons.

                                    Variable    { numeric }  { required }  { default: 0 }

                                      A variable whose value will be set to the index from 0 of the selected button. If the value of this variable is initially invalid, it will default to 0.

                                    FocusID    { numeric }  { optional }  { default: 1 }

                                      An optional parameter that is any numeric expression for the focus number of the first radio button; each radio button following will have a focus ID number equal to the next number in sequence. If this value is 0, the radio buttons will display the current setting of Select, but its value will not be able to be changed and the buttons will appear grayed out. The default value is 1.

                                    Border    { Boolean }  { optional }  { default: TRUE }

                                      An optional parameter that is any logical expression; if true (non-0) the buttons will have a raised border, if false (0) there will be no border around the buttons. The default is true.

                                    Title    { text }  { optional }  { default: "" }

                                      An optional parameter that is any text expression to be used as a title with the radio buttons. The default value is to have no title.

                                    BtnsOnLeft    { Boolean }  { optional }  { default: TRUE }

                                      An optional parameter that is any logical expression; if true (non-0) the radio buttons will appear to the left of their labels, if false (0) they will be to the right. The default value is true.

                                    AlignTitle    { Boolean }  { optional }  { default: TRUE }

                                      An optional parameter that is any logical expression; if true (non-0) the title is drawn within the radio buttons' boundaries, if false(0) the buttons fill their bounding area and the title is added at the top (i.e. it extends past the top boundary). The default is true.

Comments:               This module is a member of the System Library, and must therefore be prefaced by \System\, as shown in the "Format" section. If the application you are developing is a script application, the System variable must be declared in APPMOD.SRC and need not be prefaced by a backslash in the function call.

                             The parameters X1, Y1, X2 and Y2 define the outline of the buttons including their border, if there is one; if the area is too small to fully display the buttons they will extend beyond their right and bottom boundaries. Buttons and their border will never overlap each other and will always be shown in their entirety, although the labels may be clipped or entirely deleted.

                             For any optional parameter that is to be set, all optional parameters preceding the desired one must be present, although they may be invalid.

Example:

System\RadioButtons(10, 10, 300, 210 { Outline of buttons },

                    Types { An array of labels }, 

                    Selected { Selected btn (from 0)}, 

                    4 { First btn's focus ID }, 

                    1 { Show border }, 

                    "PLC Types" { Title of the buttons }, 

                    0 { Buttons on the right }); 

See Also:

Checkbox | Droplist | ListBox | Spinbox | SplitList | ToolBar | VScrollbar