com.trolltech.qt.gui
Class QAbstractSpinBox

java.lang.Object
  extended by com.trolltech.qt.internal.QSignalEmitterInternal
      extended by com.trolltech.qt.QSignalEmitter
          extended by com.trolltech.qt.QtJambiObject
              extended by com.trolltech.qt.core.QObject
                  extended by com.trolltech.qt.gui.QWidget
                      extended by com.trolltech.qt.gui.QAbstractSpinBox
All Implemented Interfaces:
QPaintDeviceInterface, QtJambiInterface
Direct Known Subclasses:
QDateTimeEdit, QDoubleSpinBox, QSpinBox

public class QAbstractSpinBox
extends QWidget

The QAbstractSpinBox class provides a spinbox and a line edit to display values. The class is designed as a common super class for widgets like QSpinBox, QDoubleSpinBox and QDateTimeEdit

Here are the main properties of the class:

  1. text: The text that is displayed in the QAbstractSpinBox.
  2. alignment: The alignment of the text in the QAbstractSpinBox.
  3. wrapping: Whether the QAbstractSpinBox wraps from the minimum value to the maximum value and vica versa.
QAbstractSpinBox provides a virtual stepBy() function that is called whenever the user triggers a step. This function takes an integer value to signify how many steps were taken. E.g. Pressing Qt::Key_Down will trigger a call to stepBy(-1).

QAbstractSpinBox also provide a virtual function stepEnabled() to determine whether stepping up/down is allowed at any point. This function returns a bitset of StepEnabled.

See also:
QAbstractSlider, QSpinBox, QDoubleSpinBox, QDateTimeEdit, and Spin Boxes Example.


Nested Class Summary
static class QAbstractSpinBox.ButtonSymbols
          This enum type describes the symbols that can be displayed on the buttons in a spin box.
static class QAbstractSpinBox.CorrectionMode
          This enum type describes the mode the spinbox will use to correct an Intermediate value if editing finishes.
static class QAbstractSpinBox.StepEnabled
           
static class QAbstractSpinBox.StepEnabledFlag
           
 
Nested classes/interfaces inherited from class com.trolltech.qt.gui.QWidget
QWidget.RenderFlag, QWidget.RenderFlags
 
Nested classes/interfaces inherited from class com.trolltech.qt.QSignalEmitter
QSignalEmitter.AbstractSignal, QSignalEmitter.PrivateSignal0, QSignalEmitter.PrivateSignal1, QSignalEmitter.PrivateSignal2, QSignalEmitter.PrivateSignal3, QSignalEmitter.PrivateSignal4, QSignalEmitter.PrivateSignal5, QSignalEmitter.PrivateSignal6, QSignalEmitter.PrivateSignal7, QSignalEmitter.PrivateSignal8, QSignalEmitter.PrivateSignal9, 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
 QSignalEmitter.Signal0 editingFinished
          This signal is emitted editing is finished.
 
Fields inherited from class com.trolltech.qt.gui.QWidget
customContextMenuRequested
 
Fields inherited from class com.trolltech.qt.internal.QSignalEmitterInternal
currentSender
 
Constructor Summary
QAbstractSpinBox()
          Constructs an abstract spinbox with the given parent with default wrapping, and alignment properties.
QAbstractSpinBox(QWidget parent)
          Constructs an abstract spinbox with the given parent with default wrapping, and alignment properties.
 
Method Summary
 Qt.Alignment alignment()
          This property holds the alignment of the spin box.
 QAbstractSpinBox.ButtonSymbols buttonSymbols()
          This property holds the current button symbol mode.
 void clear()
          Clears the lineedit of all text but prefix and suffix.
 QAbstractSpinBox.CorrectionMode correctionMode()
          This property holds the mode to correct an Intermediate value if editing finishes.
 java.lang.String fixup(java.lang.String input)
          This virtual function is called by the QAbstractSpinBox if the input is not validated to QValidator::Acceptable when Return is pressed or interpretText() is called.
 boolean hasAcceptableInput()
          This property holds whether the input satisfies the current validation.
 boolean hasFrame()
          This property holds whether the spin box draws itself with a frame.
protected  void initStyleOption(QStyleOptionSpinBox option)
          Initialize option with the values from this QSpinBox.
 void interpretText()
          This function interprets the text of the spin box.
 boolean isAccelerated()
          This property holds whether the spin box will accelerate the frequency of the steps when pressing the step Up/Down buttons.
 boolean isReadOnly()
          This property holds whether the spin box is read only.
 boolean keyboardTracking()
          This property holds whether keyboard tracking is enabled for the spinbox.
protected  QLineEdit lineEdit()
          This function returns a pointer to the line edit of the spin box.
 void selectAll()
          Selects all the text in the spinbox except the prefix and suffix.
 void setAccelerated(boolean on)
          This property holds whether the spin box will accelerate the frequency of the steps when pressing the step Up/Down buttons.
 void setAlignment(Qt.Alignment flag)
          This property holds the alignment of the spin box.
 void setAlignment(Qt.AlignmentFlag[] flag)
          This is an overloaded method provided for convenience.
 void setButtonSymbols(QAbstractSpinBox.ButtonSymbols bs)
          This property holds the current button symbol mode.
 void setCorrectionMode(QAbstractSpinBox.CorrectionMode cm)
          This property holds the mode to correct an Intermediate value if editing finishes.
 void setFrame(boolean arg__1)
          This property holds whether the spin box draws itself with a frame.
 void setKeyboardTracking(boolean kt)
          This property holds whether keyboard tracking is enabled for the spinbox.
protected  void setLineEdit(QLineEdit edit)
          Sets the line edit of the spinbox to be lineEdit instead of the current line edit widget.
 void setReadOnly(boolean r)
          This property holds whether the spin box is read only.
 void setSpecialValueText(java.lang.String txt)
          This property holds the special-value text.
 void setWrapping(boolean w)
          This property holds whether the spin box is circular.
 java.lang.String specialValueText()
          This property holds the special-value text.
 void stepBy(int steps)
          Virtual function that is called whenever the user triggers a step.
 void stepDown()
          Steps down by one linestep Calling this slot is analogous to calling stepBy(-1);
protected  QAbstractSpinBox.StepEnabled stepEnabled()
          Virtual function that determines whether stepping up and down is legal at any given time.
 void stepUp()
          Steps up by one linestep Calling this slot is analogous to calling stepBy(1);
 java.lang.String text()
          This property holds the spin box's text, including any prefix and suffix.
 QValidator.State validate(QValidator.QValidationData input)
          This virtual function is called by the QAbstractSpinBox to determine whether input is valid.
 boolean wrapping()
          This property holds whether the spin box is circular.
 
Methods inherited from class com.trolltech.qt.gui.QWidget
acceptDrops, accessibleDescription, accessibleName, actionEvent, actions, activateWindow, addAction, addActions, adjustSize, autoFillBackground, backgroundRole, baseSize, changeEvent, childAt, childAt, childrenRect, childrenRegion, clearFocus, clearMask, close, closeEvent, contentsRect, contextMenuEvent, contextMenuPolicy, cursor, depth, destroy, destroy, destroy, dragEnterEvent, dragLeaveEvent, dragMoveEvent, dropEvent, effectiveWinId, ensurePolished, enterEvent, focusInEvent, focusNextChild, focusNextPrevChild, focusOutEvent, focusPolicy, focusPreviousChild, focusProxy, focusWidget, font, fontInfo, fontMetrics, foregroundRole, frameGeometry, frameSize, geometry, getContentsMargins, grabKeyboard, grabMouse, grabMouse, grabShortcut, grabShortcut, graphicsProxyWidget, hasFocus, hasMouseTracking, height, heightForWidth, heightMM, hide, hideEvent, inputContext, inputMethodEvent, inputMethodQuery, insertAction, insertActions, isActiveWindow, isAncestorOf, isEnabled, isEnabledTo, isFullScreen, isHidden, isMaximized, isMinimized, isModal, isVisible, isVisibleTo, isWindow, isWindowModified, keyboardGrabber, keyPressEvent, keyReleaseEvent, languageChange, layout, layoutDirection, leaveEvent, locale, logicalDpiX, logicalDpiY, lower, mapFrom, mapFromGlobal, mapFromParent, mapTo, mapToGlobal, mapToParent, mask, maximumHeight, maximumSize, maximumWidth, metric, minimumHeight, minimumSize, minimumSizeHint, minimumWidth, mouseDoubleClickEvent, mouseGrabber, mouseMoveEvent, mousePressEvent, mouseReleaseEvent, move, move, moveEvent, nativeParentWidget, nextInFocusChain, normalGeometry, numColors, overrideWindowFlags, overrideWindowFlags, overrideWindowState, paintEngine, paintEvent, paintingActive, palette, parentWidget, physicalDpiX, physicalDpiY, pos, raise, rect, releaseKeyboard, releaseMouse, releaseShortcut, removeAction, render, render, render, render, render, render, render, render, render, repaint, repaint, repaint, repaint, resetInputContext, resize, resize, resizeEvent, restoreGeometry, saveGeometry, scroll, scroll, setAcceptDrops, setAccessibleDescription, setAccessibleName, setAttribute, setAttribute, setAutoFillBackground, setBackgroundRole, setBaseSize, setBaseSize, setContentsMargins, setContentsMargins, setContextMenuPolicy, setCursor, setDisabled, setEnabled, setFixedHeight, setFixedSize, setFixedSize, setFixedWidth, setFocus, setFocus, setFocusPolicy, setFocusProxy, setFont, setForegroundRole, setGeometry, setGeometry, setHidden, setInputContext, setLayout, setLayoutDirection, setLocale, setMask, setMask, setMaximumHeight, setMaximumSize, setMaximumSize, setMaximumWidth, setMinimumHeight, setMinimumSize, setMinimumSize, setMinimumWidth, setMouseTracking, setPalette, setParent, setParent, setParent, setShortcutAutoRepeat, setShortcutAutoRepeat, setShortcutEnabled, setShortcutEnabled, setSizeIncrement, setSizeIncrement, setSizePolicy, setSizePolicy, setStatusTip, setStyle, setStyleSheet, setTabOrder, setToolTip, setUpdatesEnabled, setVisible, setWhatsThis, setWindowFilePath, setWindowFlags, setWindowFlags, setWindowIcon, setWindowIconText, setWindowModality, setWindowModified, setWindowOpacity, setWindowRole, setWindowState, setWindowState, setWindowTitle, show, showEvent, showFullScreen, showMaximized, showMinimized, showNormal, size, sizeHint, sizeIncrement, sizePolicy, stackUnder, statusTip, style, styleSheet, tabletEvent, testAttribute, toolTip, underMouse, unsetCursor, unsetLayoutDirection, unsetLocale, update, update, update, update, updateGeometry, updateMicroFocus, updatesEnabled, visibleRegion, whatsThis, wheelEvent, width, widthMM, window, windowFilePath, windowFlags, windowIcon, windowIconText, windowModality, windowOpacity, windowRole, windowState, windowTitle, windowType, winId, x, y
 
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
 

Field Detail

editingFinished

public final QSignalEmitter.Signal0 editingFinished
This signal is emitted editing is finished. This happens when the spinbox loses focus and when enter is pressed.

Constructor Detail

QAbstractSpinBox

public QAbstractSpinBox()
Constructs an abstract spinbox with the given parent with default wrapping, and alignment properties.


QAbstractSpinBox

public QAbstractSpinBox(QWidget parent)
Constructs an abstract spinbox with the given parent with default wrapping, and alignment properties.

Method Detail

alignment

public final Qt.Alignment alignment()
This property holds the alignment of the spin box. Possible Values are Qt::AlignLeft , Qt::AlignRight , and Qt::AlignHCenter .

By default, the alignment is Qt::AlignLeft

Attempting to set the alignment to an illegal flag combination does nothing.

See also:
Qt::Alignment.


buttonSymbols

public final QAbstractSpinBox.ButtonSymbols buttonSymbols()
This property holds the current button symbol mode. The possible values can be either UpDownArrows or PlusMinus. The default is UpDownArrows.

Note that some styles might render PlusMinus and UpDownArrows identically.

See also:
ButtonSymbols .


correctionMode

public final QAbstractSpinBox.CorrectionMode correctionMode()
This property holds the mode to correct an Intermediate value if editing finishes. The default mode is QAbstractSpinBox::CorrectToPreviousValue .

See also:
acceptableInput, validate(), and fixup().


hasAcceptableInput

public final boolean hasAcceptableInput()
This property holds whether the input satisfies the current validation.

See also:
validate(), fixup(), and correctionMode.


hasFrame

public final boolean hasFrame()
This property holds whether the spin box draws itself with a frame. If enabled (the default) the spin box draws itself inside a frame, otherwise the spin box draws itself without any frame.


interpretText

public final void interpretText()
This function interprets the text of the spin box. If the value has changed since last interpretation it will emit signals.


isAccelerated

public final boolean isAccelerated()
This property holds whether the spin box will accelerate the frequency of the steps when pressing the step Up/Down buttons. If enabled the spin box will increase/decrease the value faster the longer you hold the button down.


isReadOnly

public final boolean isReadOnly()
This property holds whether the spin box is read only. In read-only mode, the user can still copy the text to the clipboard, or drag and drop the text; but cannot edit it.

The QLineEdit in the QAbstractSpinBox does not show a cursor in read-only mode.

See also:
QLineEdit::readOnly.


keyboardTracking

public final boolean keyboardTracking()
This property holds whether keyboard tracking is enabled for the spinbox. If keyboard tracking is enabled (the default), the spinbox emits the valueChanged() signal while the new value is being entered from the keyboard.

E.g. when the user enters the value 600 by typing 6, 0, and 0, the spinbox emits 3 signals with the values 6, 60, and 600 respectively.

If keyboard tracking is disabled, the spinbox doesn't emit the valueChanged() signal while typing. It emits the signal later, when the return key is pressed, when keyboard focus is lost, or when other spinbox functionality is used, e.g. pressing an arrow key.


lineEdit

protected final QLineEdit lineEdit()
This function returns a pointer to the line edit of the spin box.

See also:
setLineEdit().


selectAll

public final void selectAll()
Selects all the text in the spinbox except the prefix and suffix.


setAccelerated

public final void setAccelerated(boolean on)
This property holds whether the spin box will accelerate the frequency of the steps when pressing the step Up/Down buttons. If enabled the spin box will increase/decrease the value faster the longer you hold the button down.


setAlignment

public final void setAlignment(Qt.AlignmentFlag[] flag)
This is an overloaded method provided for convenience.


setAlignment

public final void setAlignment(Qt.Alignment flag)
This property holds the alignment of the spin box. Possible Values are Qt::AlignLeft , Qt::AlignRight , and Qt::AlignHCenter .

By default, the alignment is Qt::AlignLeft

Attempting to set the alignment to an illegal flag combination does nothing.

See also:
Qt::Alignment.


setButtonSymbols

public final void setButtonSymbols(QAbstractSpinBox.ButtonSymbols bs)
This property holds the current button symbol mode. The possible values can be either UpDownArrows or PlusMinus. The default is UpDownArrows.

Note that some styles might render PlusMinus and UpDownArrows identically.

See also:
ButtonSymbols .


setCorrectionMode

public final void setCorrectionMode(QAbstractSpinBox.CorrectionMode cm)
This property holds the mode to correct an Intermediate value if editing finishes. The default mode is QAbstractSpinBox::CorrectToPreviousValue .

See also:
acceptableInput, validate(), and fixup().


setFrame

public final void setFrame(boolean arg__1)
This property holds whether the spin box draws itself with a frame. If enabled (the default) the spin box draws itself inside a frame, otherwise the spin box draws itself without any frame.


setKeyboardTracking

public final void setKeyboardTracking(boolean kt)
This property holds whether keyboard tracking is enabled for the spinbox. If keyboard tracking is enabled (the default), the spinbox emits the valueChanged() signal while the new value is being entered from the keyboard.

E.g. when the user enters the value 600 by typing 6, 0, and 0, the spinbox emits 3 signals with the values 6, 60, and 600 respectively.

If keyboard tracking is disabled, the spinbox doesn't emit the valueChanged() signal while typing. It emits the signal later, when the return key is pressed, when keyboard focus is lost, or when other spinbox functionality is used, e.g. pressing an arrow key.


setLineEdit

protected final void setLineEdit(QLineEdit edit)
Sets the line edit of the spinbox to be lineEdit instead of the current line edit widget. lineEdit can not be 0.

QAbstractSpinBox takes ownership of the new lineEdit

If QLineEdit::validator() for the lineEdit returns 0, the internal validator of the spinbox will be set on the line edit.

See also:
lineEdit().


setReadOnly

public final void setReadOnly(boolean r)
This property holds whether the spin box is read only. In read-only mode, the user can still copy the text to the clipboard, or drag and drop the text; but cannot edit it.

The QLineEdit in the QAbstractSpinBox does not show a cursor in read-only mode.

See also:
QLineEdit::readOnly.


setSpecialValueText

public final void setSpecialValueText(java.lang.String txt)
This property holds the special-value text. If set, the spin box will display this text instead of a numeric value whenever the current value is equal to minimum(). Typical use is to indicate that this choice has a special (default) meaning.

For example, if your spin box allows the user to choose a scale factor (or zoom level) for displaying an image, and your application is able to automatically choose one that will enable the image to fit completely within the display window, you can set up the spin box like this:

The following code example is written in c++.

    QSpinBox *zoomSpinBox = new QSpinBox;
    zoomSpinBox->setRange(0, 1000);
    zoomSpinBox->setSingleStep(10);
    zoomSpinBox->setSuffix("%");
    zoomSpinBox->setSpecialValueText(tr("Automatic"));
    zoomSpinBox->setValue(100);
 
The user will then be able to choose a scale from 1% to 1000% or select "Auto" to leave it up to the application to choose. Your code must then interpret the spin box value of 0 as a request from the user to scale the image to fit inside the window.

All values are displayed with the prefix and suffix (if set), except for the special value, which only shows the special value text. This special text is passed in the QSpinBox::valueChanged() signal that passes a QString.

To turn off the special-value text display, call this function with an empty string. The default is no special-value text, i.e. the numeric value is shown as usual.

If no special-value text is set, specialValueText() returns an empty string.


setWrapping

public final void setWrapping(boolean w)
This property holds whether the spin box is circular. If wrapping is true stepping up from maximum() value will take you to the minimum() value and vica versa. Wrapping only make sense if you have minimum() and maximum() values set.
        QSpinBox spinBox = new QSpinBox(this);
        spinBox.setRange(0, 100);
        spinBox.setWrapping(true);
        spinBox.setValue(100);
        spinBox.stepBy(1);
        // value is 0

See also:
QSpinBox::minimum(), and QSpinBox::maximum().


specialValueText

public final java.lang.String specialValueText()
This property holds the special-value text. If set, the spin box will display this text instead of a numeric value whenever the current value is equal to minimum(). Typical use is to indicate that this choice has a special (default) meaning.

For example, if your spin box allows the user to choose a scale factor (or zoom level) for displaying an image, and your application is able to automatically choose one that will enable the image to fit completely within the display window, you can set up the spin box like this:

The following code example is written in c++.

    QSpinBox *zoomSpinBox = new QSpinBox;
    zoomSpinBox->setRange(0, 1000);
    zoomSpinBox->setSingleStep(10);
    zoomSpinBox->setSuffix("%");
    zoomSpinBox->setSpecialValueText(tr("Automatic"));
    zoomSpinBox->setValue(100);
 
The user will then be able to choose a scale from 1% to 1000% or select "Auto" to leave it up to the application to choose. Your code must then interpret the spin box value of 0 as a request from the user to scale the image to fit inside the window.

All values are displayed with the prefix and suffix (if set), except for the special value, which only shows the special value text. This special text is passed in the QSpinBox::valueChanged() signal that passes a QString.

To turn off the special-value text display, call this function with an empty string. The default is no special-value text, i.e. the numeric value is shown as usual.

If no special-value text is set, specialValueText() returns an empty string.


stepDown

public final void stepDown()
Steps down by one linestep Calling this slot is analogous to calling stepBy(-1);

See also.
stepBy(), and stepUp().


stepUp

public final void stepUp()
Steps up by one linestep Calling this slot is analogous to calling stepBy(1);

See also.
stepBy(), and stepDown().


text

public final java.lang.String text()
This property holds the spin box's text, including any prefix and suffix. There is no default text.


wrapping

public final boolean wrapping()
This property holds whether the spin box is circular. If wrapping is true stepping up from maximum() value will take you to the minimum() value and vica versa. Wrapping only make sense if you have minimum() and maximum() values set.
        QSpinBox spinBox = new QSpinBox(this);
        spinBox.setRange(0, 100);
        spinBox.setWrapping(true);
        spinBox.setValue(100);
        spinBox.stepBy(1);
        // value is 0

See also:
QSpinBox::minimum(), and QSpinBox::maximum().


clear

public void clear()
Clears the lineedit of all text but prefix and suffix.


fixup

public java.lang.String fixup(java.lang.String input)
This virtual function is called by the QAbstractSpinBox if the input is not validated to QValidator::Acceptable when Return is pressed or interpretText() is called. It will try to change the text so it is valid. Reimplemented in the various subclasses.


stepBy

public void stepBy(int steps)
Virtual function that is called whenever the user triggers a step. The steps parameter indicates how many steps were taken, e.g. Pressing Qt::Key_Down will trigger a call to stepBy(-1), whereas pressing Qt::Key_Prior will trigger a call to stepBy(10).

If you subclass QAbstractSpinBox you must reimplement this function. Note that this function is called even if the resulting value will be outside the bounds of minimum and maximum. It's this function's job to handle these situations.


stepEnabled

protected QAbstractSpinBox.StepEnabled stepEnabled()
Virtual function that determines whether stepping up and down is legal at any given time.

The up arrow will be painted as disabled unless (stepEnabled() & StepUpEnabled ) != 0.

The default implementation will return (StepUpEnabled | StepDownEnabled ) if wrapping is turned on. Else it will return StepDownEnabled if value is > minimum() or'ed with StepUpEnabled if value < maximum().

If you subclass QAbstractSpinBox you will need to reimplement this function.

See also:
QSpinBox::minimum(), QSpinBox::maximum(), and wrapping().


validate

public QValidator.State validate(QValidator.QValidationData input)
This virtual function is called by the QAbstractSpinBox to determine whether input is valid. The pos parameter indicates the position in the string. Reimplemented in the various subclasses.


initStyleOption

protected void initStyleOption(QStyleOptionSpinBox option)
Initialize option with the values from this QSpinBox. This method is useful for subclasses when they need a QStyleOptionSpinBox, but don't want to fill in all the information themselves.