Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.trolltech.qt.gui
Class QValidator

    java.lang.Object
      com.trolltech.qt.internal.QSignalEmitterInternal
          com.trolltech.qt.QSignalEmitter
              com.trolltech.qt.QtJambiObject
                  com.trolltech.qt.core.QObject
                      com.trolltech.qt.gui.QValidator

All Implemented Interfaces:
  QtJambiInterface

Direct Known Subclasses:
  QDoubleValidator, QIntValidator, QRegExpValidator

    public abstract class QValidator

extends QObject

The QValidator class provides validation of input text. The class itself is abstract. Two subclasses, `QIntValidator` and `QDoubleValidator`, provide basic numeric-range checking, and `QRegExpValidator` provides general checking using a custom regular expression.

If the built-in validators aren't sufficient, you can subclass QValidator. The class has two virtual functions: `validate()` and `fixup()`.

`validate()` must be implemented by every subclass. It returns `Invalid` , `Intermediate` or `Acceptable` depending on whether its argument is valid (for the subclass's definition of valid).

These three states require some explanation. An `Invalid` string is clearly invalid. `Intermediate` is less obvious: the concept of validity is difficult to apply when the string is incomplete (still being edited). QValidator defines `Intermediate` as the property of a string that is neither clearly invalid nor acceptable as a final result. `Acceptable` means that the string is acceptable as a final result. One might say that any string that is a plausible intermediate state during entry of an `Acceptable` string is `Intermediate` .

Here are some examples:

- For a line edit that accepts integers from 10 to 1000 inclusive, 42 and 123 are `Acceptable` , the empty string and 5 are `Intermediate` , and "asdf" and 1114 is `Invalid` .
- For an editable combobox that accepts URLs, any well-formed URL is `Acceptable` , "http://www.trolltech.com/," is `Intermediate` (it might be a cut and paste action that accidentally took in a comma at the end), the empty string is `Intermediate` (the user might select and delete all of the text in preparation for entering a new URL) and "http:///./" is `Invalid` .
- For a spin box that accepts lengths, "11cm" and "1in" are `Acceptable` , "11" and the empty string are `Intermediate` , and "http://www.trolltech.com" and "hour" are `Invalid` .

`fixup()` is provided for validators that can repair some user errors. The default implementation does nothing. `QLineEdit`, for example, will call `fixup()` if the user presses Enter (or Return) and the content is not currently valid. This allows the `fixup()` function the opportunity of performing some magic to make an `Invalid` string `Acceptable` .

A validator has a locale, set with `setLocale()`. It is typically used to parse localized data. For example, `QIntValidator` and `QDoubleValidator` use it to parse localized representations of integers and doubles.

QValidator is typically used with `QLineEdit`, `QSpinBox` and `QComboBox`.

See also:
  `QIntValidator`, `QDoubleValidator`, `QRegExpValidator`, and Line Edits Example.

Nested Class Summary
`static class` | `QValidator.QValidationData`
`static class` | `QValidator.State` This enum type defines the states in which a validated string can exist.

Nested classes/interfaces inherited from class com.trolltech.qt.QSignalEmitter
`QSignalEmitter.AbstractSignal, QSignalEmitter.Signal0, QSignalEmitter.Signal1, QSignalEmitter.Signal2, QSignalEmitter.Signal3, QSignalEmitter.Signal4, QSignalEmitter.Signal5, QSignalEmitter.Signal6, QSignalEmitter.Signal7, QSignalEmitter.Signal8, QSignalEmitter.Signal9`

Nested classes/interfaces inherited from class com.trolltech.qt.internal.QSignalEmitterInternal
`com.trolltech.qt.internal.QSignalEmitterInternal.AbstractSignalInternal`

Field Summary

Fields inherited from class com.trolltech.qt.internal.QSignalEmitterInternal
`currentSender`

Constructor Summary
`QValidator(QObject parent)` Sets up the validator.

Method Summary
`java.lang.String` | `fixup(java.lang.String arg__1)` This function attempts to change `input` to be valid according to this validator's rules.
`QLocale` | `locale()` Returns the locale for the validator.
`void` | `setLocale(QLocale locale)` Sets the `locale` that will be used for the validator.
`abstract QValidator.State` | `validate(QValidator.QValidationData arg__1)` This virtual function returns `Invalid` if `input` is invalid according to this validator's rules, `Intermediate` if it is likely that a little more editing will make the input acceptable (e.g.

Methods inherited from class com.trolltech.qt.core.QObject
`childEvent, children, connectSlotsByName, customEvent, disposeLater, dumpObjectInfo, dumpObjectTree, dynamicPropertyNames, event, eventFilter, findChild, findChild, findChild, findChildren, findChildren, findChildren, findChildren, indexOfProperty, installEventFilter, isWidgetType, killTimer, moveToThread, objectName, parent, properties, property, removeEventFilter, setObjectName, setParent, setProperty, startTimer, timerEvent, toString, userProperty`

Methods inherited from class com.trolltech.qt.QtJambiObject
`dispose, disposed, equals, finalize, reassignNativeResources, tr, tr, tr`

Methods inherited from class com.trolltech.qt.QSignalEmitter
`blockSignals, disconnect, disconnect, signalsBlocked, signalSender, thread`

Methods inherited from class com.trolltech.qt.internal.QSignalEmitterInternal
`__qt_signalInitialization`

Methods inherited from class java.lang.Object
`clone, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Methods inherited from interface com.trolltech.qt.QtJambiInterface
`disableGarbageCollection, nativeId, nativePointer, reenableGarbageCollection, setJavaOwnership`

Constructor Detail

### QValidator

    public QValidator(QObject parent)

  Sets up the validator. The `parent` parameter is passed on to the `QObject` constructor.

Method Detail

### locale

    public final QLocale locale()

  Returns the locale for the validator. The locale is by default initialized to the same as QLocale().

See also:
  `setLocale()`, and QLocale::QLocale().

### setLocale

    public final void setLocale(QLocale locale)

  Sets the `locale` that will be used for the validator. Unless setLocale has been called, the validator will use the default locale set with `QLocale::setDefault()`. If a default locale has not been set, it is the operating system's locale.

See also:
  `locale()`, and `QLocale::setDefault()`.

### fixup

    public java.lang.String fixup(java.lang.String arg__1)

  This function attempts to change `input` to be valid according to this validator's rules. It need not result in a valid string: callers of this function must re-test afterwards; the default does nothing.

  Reimplementations of this function can change `input` even if they do not produce a valid string. For example, an ISBN validator might want to delete every character except digits and "-", even if the result is still not a valid ISBN; a surname validator might want to remove whitespace from the start and end of the string, even if the resulting string is not in the list of accepted surnames.

### validate

    public abstract QValidator.State validate(QValidator.QValidationData arg__1)

  This virtual function returns `Invalid` if `input` is invalid according to this validator's rules, `Intermediate` if it is likely that a little more editing will make the input acceptable (e.g. the user types "4" into a widget which accepts integers between 10 and 99), and `Acceptable` if the input is valid.

  The function can change both `input` and `pos` (the cursor position) if required.

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD