Using input widgets

This section contains some hints that might be useful when working with SALOME GUI input widgets.

Spin boxes

This type of widgets is used for numeric (integer or floating-point) data input. Spin boxes are used in standard SALOME modules if the input value has a clearly defined input range (and precision in case of a floating-point value).

Input precision has a specific semantics in SALOME floating-point spin boxes:

  • Positive precision value means that a number in the fixed-point format (corresponding to the “f” format specifier for C printf function) is expected. Positive precision value is the maximum allowed number of digits after the decimal separator.
  • Negative precision value means that a number either in the fixed-point or the scientific (exponetial) format is expected. This is similar to the behavior of the “g” format specifier for C printf function. Negative precision value is the maximum allowed number of significant digits in mantissa (note that one digit is always before the decimal separator).

To make the user aware of an input value constraints applied by some SALOME operations, the following basic capabilties are provided by spin boxes:

  • The text input manually in a spin box by the user is checked to be a number of valid type (integer or floating-point).
  • The text is converted to a number and checked to be within the valid range.
  • Additionally, for floating-point data the input text is checked against the precision rules described above.

If the input text in a spin box does not meet the constraints, the user is shown a message in a tooltip near the spin box just as he types in it. The tooltip contains information about the valid data range. For a floating-point input, the tooltip also contains information about the expected precision.

In standard SALOME modules the precision value can be adjusted through Setting Preferences of the correspodning modules, and the tooltip contains a reference to the corresponding parameter in the preferences.

On-line documentation for each standard SALOME module contains the list of user preferences that can be used for tuning floating-point precision for different types of input quantities.

Spin boxes and SALOME Notebook

Apart from the numeric input, spin boxes in some SALOME modules accept the names of Notebook variables (see Using NoteBook page for more details about Notebook).

If a spin box accepts variable names, then it is additionally checked whether the manually input text represents a variable name. Variable names should comply with the common naming rules for Python variables. If the input is neither a valid number nor a variable name, the tooltip informs the user that variable names are also acceptable in this spin box.