### Assigning variables in “Window” mode

When the “Main panel window” has been created, the LET command behaves in a different way when any of the following options is set: /PROMPT, /CHOICE, /INDEX, /RANGE, /FILE

Rather than taking the variable value from the keyboard-typed command line, the LET command has no immediate action, but defines a widget in the “Main panel window” (or “sub-panels”). This widget will allow the user to define the variable value using the windowing system. 5 types of widgets are available:

- Text widget
  This is the default widget created when option /PROMPT is present. The content of the text widget will be used to set the variable.
- Slider widget
  This widget is activated when option /RANGE is present. The widget consists both in a numeric area and a slider limited by the given range, and can be used to set a real or integer variable.
- Choice widget
  This widget is activated when option /CHOICE is present. The widget consists in a text widget and a pulldown menu containing all specified choices. The user can select its choice with this menu. If the last choice is a “*”, any other text can also be entered.
- Index widget
  This widget is activated when option /INDEX is present. This widget is similar to the Choice widget, but the returned value is an integer corresponding to the sequence number of the selected choice.
- File widget
  This widget is activated when option /FILE is present. The widget consists in a text widget and a file selection widget with the specified file filter.

The “Main panel window” is actually created with all defined widgets when command GUIGO is typed.