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 QRegExpValidator

    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
                          com.trolltech.qt.gui.QRegExpValidator

All Implemented Interfaces:
  QtJambiInterface

    public class QRegExpValidator

extends QValidator

The `QRegExpValidator` class is used to check a string against a regular expression. `QRegExpValidator` uses a regular expression (regexp) to determine whether an input string is `Acceptable` , `Intermediate` , or `Invalid` . The regexp can either be supplied when the `QRegExpValidator` is constructed, or at a later time.

When `QRegExpValidator` determines whether a string is `Acceptable` or not, the regexp is treated as if it begins with the start of string assertion (^) and ends with the end of string assertion ($); the match is against the entire input string, or from the given position if a start position greater than zero is given.

If a string is a prefix of an `Acceptable` string, it is considered `Intermediate` . For example, "" and "A" are `Intermediate` for the regexp [A-Z][0-9] (whereas "_" would be `Invalid` ).

For a brief introduction to Qt's regexp engine, see `QRegExp`.

Example of use:

        // regexp: optional '-' followed by between 1 and 3 digits
        QRegExp rx = new QRegExp("-?\\d{1,3}");
        QValidator validator = new QRegExpValidator(rx, this);

        QLineEdit edit = new QLineEdit(this);
        edit.setValidator(validator);

Below we present some examples of validators. In practice they would normally be associated with a widget as in the example above.

        // integers 1 to 9999
        QRegExp rx = new QRegExp("[1-9]\\d{0,3}");
        // the validator treats the regexp as "^[1-9]\\d{0,3}$"
        QRegExpValidator v = new QRegExpValidator(rx, null);
        String s;
        int pos = 0;

        s = "0";     v.validate(new QValidator.QValidationData(s, pos));    // returns Invalid
        s = "12345"; v.validate(new QValidator.QValidationData(s, pos));    // returns Invalid
        s = "1";     v.validate(new QValidator.QValidationData(s, pos));    // returns Acceptable

        rx.setPattern("\\S+");            // one or more non-whitespace characters
        v.setRegExp(rx);
        s = "myfile.txt";  v.validate(new QValidator.QValidationData(s, pos)); // Returns Acceptable
        s = "my file.txt"; v.validate(new QValidator.QValidationData(s, pos)); // Returns Invalid

        // A, B or C followed by exactly five digits followed by W, X, Y or Z
        rx.setPattern("[A-C]\\d{5}[W-Z]");
        v.setRegExp(rx);
        s = "a12345Z"; v.validate(new QValidator.QValidationData(s, pos));        // Returns Invalid
        s = "A12345Z"; v.validate(new QValidator.QValidationData(s, pos));        // Returns Acceptable
        s = "B12";     v.validate(new QValidator.QValidationData(s, pos));        // Returns Intermediate

        // match most 'readme' files
        rx.setPattern("read\\S?me(\\.(txt|asc|1st))?");
        rx.setCaseSensitivity(Qt.CaseSensitivity.CaseInsensitive);
        v.setRegExp(rx);
        s = "readme";      v.validate(new QValidator.QValidationData(s, pos)); // Returns Acceptable
        s = "README.1ST";  v.validate(new QValidator.QValidationData(s, pos)); // Returns Acceptable
        s = "read me.txt"; v.validate(new QValidator.QValidationData(s, pos)); // Returns Invalid
        s = "readm";       v.validate(new QValidator.QValidationData(s, pos)); // Returns Intermediate

See also:
  `QRegExp`, `QIntValidator`, `QDoubleValidator`, and Settings Editor Example.

Nested Class Summary

Nested classes/interfaces inherited from class com.trolltech.qt.gui.QValidator
`QValidator.QValidationData, QValidator.State`

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
`QRegExpValidator(QObject parent)` Constructs a validator with a `parent` object that accepts any string (including an empty one) as valid.
`QRegExpValidator(QRegExp rx, QObject parent)` Constructs a validator with a `parent` object that accepts all strings that match the regular expression `rx`.

Method Summary
`QRegExp` | `regExp()` This property holds the regular expression used for validation.
`void` | `setRegExp(QRegExp rx)` This property holds the regular expression used for validation.

Methods inherited from class com.trolltech.qt.gui.QValidator
`fixup, locale, setLocale, validate`

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

### QRegExpValidator

    public QRegExpValidator(QObject parent)

  Constructs a validator with a `parent` object that accepts any string (including an empty one) as valid.

### QRegExpValidator

    public QRegExpValidator(QRegExp rx,
                            QObject parent)

  Constructs a validator with a `parent` object that accepts all strings that match the regular expression `rx`.

  The match is made against the entire string; e.g. if the regexp is [A-Fa-f0-9]+ it will be treated as ^[A-Fa-f0-9]+$.

Method Detail

### regExp

    public final QRegExp regExp()

  This property holds the regular expression used for validation. By default, this property contains a regular expression with the pattern `.*` that matches any string.

### setRegExp

    public final void setRegExp(QRegExp rx)

  This property holds the regular expression used for validation. By default, this property contains a regular expression with the pattern `.*` that matches any string.

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