1 /* 2 * DQt - D bindings for the Qt Toolkit 3 * 4 * GNU Lesser General Public License Usage 5 * This file may be used under the terms of the GNU Lesser 6 * General Public License version 3 as published by the Free Software 7 * Foundation and appearing in the file LICENSE.LGPL3 included in the 8 * packaging of this file. Please review the following information to 9 * ensure the GNU Lesser General Public License version 3 requirements 10 * will be met: https://www.gnu.org/licenses/lgpl-3.0.html. 11 */ 12 module qt.widgets.abstractspinbox; 13 extern(C++): 14 15 import qt.config; 16 import qt.core.coreevent; 17 import qt.core.flags; 18 import qt.core.namespace; 19 import qt.core.size; 20 import qt.core.string; 21 import qt.core.variant; 22 import qt.gui.event; 23 import qt.helpers; 24 import qt.widgets.lineedit; 25 import qt.widgets.styleoption; 26 import qt.widgets.widget; 27 version(QT_NO_VALIDATOR){}else 28 import qt.gui.validator; 29 30 /+ QT_REQUIRE_CONFIG(spinbox); +/ 31 32 33 34 extern(C++, class) struct QAbstractSpinBoxPrivate; 35 36 /// Binding for C++ class [QAbstractSpinBox](https://doc.qt.io/qt-6/qabstractspinbox.html). 37 class /+ Q_WIDGETS_EXPORT +/ QAbstractSpinBox : QWidget 38 { 39 mixin(Q_OBJECT); 40 41 /+ Q_PROPERTY(bool wrapping READ wrapping WRITE setWrapping) 42 Q_PROPERTY(bool frame READ hasFrame WRITE setFrame) 43 Q_PROPERTY(Qt::Alignment alignment READ alignment WRITE setAlignment) 44 Q_PROPERTY(bool readOnly READ isReadOnly WRITE setReadOnly) 45 Q_PROPERTY(ButtonSymbols buttonSymbols READ buttonSymbols WRITE setButtonSymbols) 46 Q_PROPERTY(QString specialValueText READ specialValueText WRITE setSpecialValueText) 47 Q_PROPERTY(QString text READ text) 48 Q_PROPERTY(bool accelerated READ isAccelerated WRITE setAccelerated) 49 Q_PROPERTY(CorrectionMode correctionMode READ correctionMode WRITE setCorrectionMode) 50 Q_PROPERTY(bool acceptableInput READ hasAcceptableInput) 51 Q_PROPERTY(bool keyboardTracking READ keyboardTracking WRITE setKeyboardTracking) 52 Q_PROPERTY(bool showGroupSeparator READ isGroupSeparatorShown WRITE setGroupSeparatorShown) +/ 53 public: 54 /+ explicit +/this(QWidget parent = null); 55 ~this(); 56 57 enum StepEnabledFlag { StepNone = 0x00, StepUpEnabled = 0x01, 58 StepDownEnabled = 0x02 } 59 /+ Q_DECLARE_FLAGS(StepEnabled, StepEnabledFlag) +/ 60 alias StepEnabled = QFlags!(StepEnabledFlag); 61 enum ButtonSymbols { UpDownArrows, PlusMinus, NoButtons } 62 /+ Q_ENUM(ButtonSymbols) +/ 63 64 final ButtonSymbols buttonSymbols() const; 65 final void setButtonSymbols(ButtonSymbols bs); 66 67 enum CorrectionMode { CorrectToPreviousValue, CorrectToNearestValue } 68 /+ Q_ENUM(CorrectionMode) +/ 69 70 final void setCorrectionMode(CorrectionMode cm); 71 final CorrectionMode correctionMode() const; 72 73 final bool hasAcceptableInput() const; 74 final QString text() const; 75 76 final QString specialValueText() const; 77 final void setSpecialValueText(ref const(QString) txt); 78 79 final bool wrapping() const; 80 final void setWrapping(bool w); 81 82 final void setReadOnly(bool r); 83 final bool isReadOnly() const; 84 85 final void setKeyboardTracking(bool kt); 86 final bool keyboardTracking() const; 87 88 final void setAlignment(/+ Qt:: +/qt.core.namespace.Alignment flag); 89 final /+ Qt:: +/qt.core.namespace.Alignment alignment() const; 90 91 final void setFrame(bool); 92 final bool hasFrame() const; 93 94 final void setAccelerated(bool on); 95 final bool isAccelerated() const; 96 97 final void setGroupSeparatorShown(bool shown); 98 final bool isGroupSeparatorShown() const; 99 100 override QSize sizeHint() const; 101 override QSize minimumSizeHint() const; 102 final void interpretText(); 103 override bool event(QEvent event); 104 105 override QVariant inputMethodQuery(/+ Qt:: +/qt.core.namespace.InputMethodQuery) const; 106 107 /+ virtual +/ QValidator.State validate(ref QString input, ref int pos) const; 108 /+ virtual +/ void fixup(ref QString input) const; 109 110 /+ virtual +/ void stepBy(int steps); 111 112 enum StepType { 113 DefaultStepType, 114 AdaptiveDecimalStepType 115 } 116 /+ Q_ENUM(StepType) +/ 117 118 public /+ Q_SLOTS +/: 119 @QSlot final void stepUp(); 120 @QSlot final void stepDown(); 121 @QSlot final void selectAll(); 122 /+ virtual +/ @QSlot void clear(); 123 protected: 124 override void resizeEvent(QResizeEvent event); 125 override void keyPressEvent(QKeyEvent event); 126 override void keyReleaseEvent(QKeyEvent event); 127 /+ #if QT_CONFIG(wheelevent) +/ 128 override void wheelEvent(QWheelEvent event); 129 /+ #endif +/ 130 override void focusInEvent(QFocusEvent event); 131 override void focusOutEvent(QFocusEvent event); 132 /+ #if QT_CONFIG(contextmenu) +/ 133 override void contextMenuEvent(QContextMenuEvent event); 134 /+ #endif +/ 135 override void changeEvent(QEvent event); 136 override void closeEvent(QCloseEvent event); 137 override void hideEvent(QHideEvent event); 138 override void mousePressEvent(QMouseEvent event); 139 override void mouseReleaseEvent(QMouseEvent event); 140 override void mouseMoveEvent(QMouseEvent event); 141 override void timerEvent(QTimerEvent event); 142 override void paintEvent(QPaintEvent event); 143 override void showEvent(QShowEvent event); 144 /+ virtual +/ void initStyleOption(QStyleOptionSpinBox* option) const; 145 146 final QLineEdit lineEdit() const; 147 final void setLineEdit(QLineEdit edit); 148 149 /+ virtual +/ StepEnabled stepEnabled() const; 150 /+ Q_SIGNALS +/public: 151 @QSignal final void editingFinished(); 152 protected: 153 this(ref QAbstractSpinBoxPrivate dd, QWidget parent = null); 154 155 private: 156 /+ Q_PRIVATE_SLOT(d_func(), void _q_editorTextChanged(const QString &)) 157 Q_PRIVATE_SLOT(d_func(), void _q_editorCursorPositionChanged(int, int)) 158 159 Q_DECLARE_PRIVATE(QAbstractSpinBox) +/ 160 /+ Q_DISABLE_COPY(QAbstractSpinBox) +/ 161 /+ friend class QAccessibleAbstractSpinBox; +/ 162 mixin(CREATE_CONVENIENCE_WRAPPERS); 163 } 164 /+pragma(inline, true) QFlags!(QAbstractSpinBox.StepEnabled.enum_type) operator |(QAbstractSpinBox.StepEnabled.enum_type f1, QAbstractSpinBox.StepEnabled.enum_type f2)/+noexcept+/{return QFlags!(QAbstractSpinBox.StepEnabled.enum_type)(f1)|f2;}+/ 165 /+pragma(inline, true) QFlags!(QAbstractSpinBox.StepEnabled.enum_type) operator |(QAbstractSpinBox.StepEnabled.enum_type f1, QFlags!(QAbstractSpinBox.StepEnabled.enum_type) f2)/+noexcept+/{return f2|f1;}+/ 166 /+pragma(inline, true) QFlags!(QAbstractSpinBox.StepEnabled.enum_type) operator &(QAbstractSpinBox.StepEnabled.enum_type f1, QAbstractSpinBox.StepEnabled.enum_type f2)/+noexcept+/{return QFlags!(QAbstractSpinBox.StepEnabled.enum_type)(f1)&f2;}+/ 167 /+pragma(inline, true) QFlags!(QAbstractSpinBox.StepEnabled.enum_type) operator &(QAbstractSpinBox.StepEnabled.enum_type f1, QFlags!(QAbstractSpinBox.StepEnabled.enum_type) f2)/+noexcept+/{return f2&f1;}+/ 168 /+pragma(inline, true) void operator +(QAbstractSpinBox.StepEnabled.enum_type f1, QAbstractSpinBox.StepEnabled.enum_type f2)/+noexcept+/;+/ 169 /+pragma(inline, true) void operator +(QAbstractSpinBox.StepEnabled.enum_type f1, QFlags!(QAbstractSpinBox.StepEnabled.enum_type) f2)/+noexcept+/;+/ 170 /+pragma(inline, true) void operator +(int f1, QFlags!(QAbstractSpinBox.StepEnabled.enum_type) f2)/+noexcept+/;+/ 171 /+pragma(inline, true) void operator -(QAbstractSpinBox.StepEnabled.enum_type f1, QAbstractSpinBox.StepEnabled.enum_type f2)/+noexcept+/;+/ 172 /+pragma(inline, true) void operator -(QAbstractSpinBox.StepEnabled.enum_type f1, QFlags!(QAbstractSpinBox.StepEnabled.enum_type) f2)/+noexcept+/;+/ 173 /+pragma(inline, true) void operator -(int f1, QFlags!(QAbstractSpinBox.StepEnabled.enum_type) f2)/+noexcept+/;+/ 174 /+pragma(inline, true) QIncompatibleFlag operator |(QAbstractSpinBox.StepEnabled.enum_type f1, int f2)/+noexcept+/{return QIncompatibleFlag(int(f1)|f2);}+/ 175 /+pragma(inline, true) void operator +(int f1, QAbstractSpinBox.StepEnabled.enum_type f2)/+noexcept+/;+/ 176 /+pragma(inline, true) void operator +(QAbstractSpinBox.StepEnabled.enum_type f1, int f2)/+noexcept+/;+/ 177 /+pragma(inline, true) void operator -(int f1, QAbstractSpinBox.StepEnabled.enum_type f2)/+noexcept+/;+/ 178 /+pragma(inline, true) void operator -(QAbstractSpinBox.StepEnabled.enum_type f1, int f2)/+noexcept+/;+/ 179 /+ Q_DECLARE_OPERATORS_FOR_FLAGS(QAbstractSpinBox::StepEnabled) +/