| Value | Meaning |
|---|---|
| FREE_FORM0 | Allow any character |
| ALPHA1 | Allow only alphabetic characters |
| DIGITS2 | Allow only digits |
| NUMBER3 | Edited field expects numbers |
| PHONE4 | Edited field expects phone number |
| URL5 | Edited field expects URL |
| EMAIL6 | Edited field expects email address |
| NAME7 | Edited field expects the name of a person |
| PASSWORD8 | Like GTK_INPUT_PURPOSE_FREE_FORM, but characters are hidden |
| PIN9 | Like GTK_INPUT_PURPOSE_DIGITS, but characters are hidden |
Describes primary purpose of the input widget. This information is useful for on-screen keyboards and similar input methods to decide which keys should be presented to the user.
Note that the purpose is not meant to impose a totally strict rule about allowed characters, and does not replace input validation. It is fine for an on-screen keyboard to let the user override the character set restriction that is expressed by the purpose. The application is expected to validate the entry contents, even if it specified a purpose.
The difference between GTK_INPUT_PURPOSE_DIGITS and GTK_INPUT_PURPOSE_NUMBER is that the former accepts only digits while the latter also some punctuation (like commas or points, plus, minus) and “e” or “E” as in 3.14E+000.
This enumeration may be extended in the future; input methods should interpret unknown values as “free form”.