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.spinbox; 13 extern(C++): 14 15 import qt.config; 16 import qt.core.coreevent; 17 import qt.core.string; 18 import qt.gui.validator; 19 import qt.helpers; 20 import qt.widgets.abstractspinbox; 21 import qt.widgets.widget; 22 23 /+ QT_REQUIRE_CONFIG(spinbox); +/ 24 25 26 extern(C++, class) struct QSpinBoxPrivate; 27 /// Binding for C++ class [QSpinBox](https://doc.qt.io/qt-6/qspinbox.html). 28 class /+ Q_WIDGETS_EXPORT +/ QSpinBox : QAbstractSpinBox 29 { 30 mixin(Q_OBJECT); 31 32 /+ Q_PROPERTY(QString suffix READ suffix WRITE setSuffix) 33 Q_PROPERTY(QString prefix READ prefix WRITE setPrefix) 34 Q_PROPERTY(QString cleanText READ cleanText) 35 Q_PROPERTY(int minimum READ minimum WRITE setMinimum) 36 Q_PROPERTY(int maximum READ maximum WRITE setMaximum) 37 Q_PROPERTY(int singleStep READ singleStep WRITE setSingleStep) 38 Q_PROPERTY(StepType stepType READ stepType WRITE setStepType) 39 Q_PROPERTY(int value READ value WRITE setValue NOTIFY valueChanged USER true) 40 Q_PROPERTY(int displayIntegerBase READ displayIntegerBase WRITE setDisplayIntegerBase) +/ 41 42 public: 43 /+ explicit +/this(QWidget parent = null); 44 ~this(); 45 46 final int value() const; 47 48 final QString prefix() const; 49 final void setPrefix(ref const(QString) prefix); 50 51 final QString suffix() const; 52 final void setSuffix(ref const(QString) suffix); 53 54 final QString cleanText() const; 55 56 final int singleStep() const; 57 final void setSingleStep(int val); 58 59 final int minimum() const; 60 final void setMinimum(int min); 61 62 final int maximum() const; 63 final void setMaximum(int max); 64 65 final void setRange(int min, int max); 66 67 final StepType stepType() const; 68 final void setStepType(StepType stepType); 69 70 final int displayIntegerBase() const; 71 final void setDisplayIntegerBase(int base); 72 73 protected: 74 override bool event(QEvent event); 75 override QValidator.State validate(ref QString input, ref int pos) const; 76 /+ virtual +/ int valueFromText(ref const(QString) text) const; 77 /+ virtual +/ QString textFromValue(int val) const; 78 override void fixup(ref QString str) const; 79 80 81 public /+ Q_SLOTS +/: 82 @QSlot final void setValue(int val); 83 84 /+ Q_SIGNALS +/public: 85 @QSignal final void valueChanged(int); 86 @QSignal final void textChanged(ref const(QString) ); 87 88 private: 89 /+ Q_DISABLE_COPY(QSpinBox) +/ 90 /+ Q_DECLARE_PRIVATE(QSpinBox) +/ 91 mixin(CREATE_CONVENIENCE_WRAPPERS); 92 } 93 94 extern(C++, class) struct QDoubleSpinBoxPrivate; 95 /// Binding for C++ class [QDoubleSpinBox](https://doc.qt.io/qt-6/qdoublespinbox.html). 96 class /+ Q_WIDGETS_EXPORT +/ QDoubleSpinBox : QAbstractSpinBox 97 { 98 mixin(Q_OBJECT); 99 100 /+ Q_PROPERTY(QString prefix READ prefix WRITE setPrefix) 101 Q_PROPERTY(QString suffix READ suffix WRITE setSuffix) 102 Q_PROPERTY(QString cleanText READ cleanText) 103 Q_PROPERTY(int decimals READ decimals WRITE setDecimals) 104 Q_PROPERTY(double minimum READ minimum WRITE setMinimum) 105 Q_PROPERTY(double maximum READ maximum WRITE setMaximum) 106 Q_PROPERTY(double singleStep READ singleStep WRITE setSingleStep) 107 Q_PROPERTY(StepType stepType READ stepType WRITE setStepType) 108 Q_PROPERTY(double value READ value WRITE setValue NOTIFY valueChanged USER true) +/ 109 public: 110 /+ explicit +/this(QWidget parent = null); 111 ~this(); 112 113 final double value() const; 114 115 final QString prefix() const; 116 final void setPrefix(ref const(QString) prefix); 117 118 final QString suffix() const; 119 final void setSuffix(ref const(QString) suffix); 120 121 final QString cleanText() const; 122 123 final double singleStep() const; 124 final void setSingleStep(double val); 125 126 final double minimum() const; 127 final void setMinimum(double min); 128 129 final double maximum() const; 130 final void setMaximum(double max); 131 132 final void setRange(double min, double max); 133 134 final StepType stepType() const; 135 final void setStepType(StepType stepType); 136 137 final int decimals() const; 138 final void setDecimals(int prec); 139 140 override QValidator.State validate(ref QString input, ref int pos) const; 141 /+ virtual +/ double valueFromText(ref const(QString) text) const; 142 /+ virtual +/ QString textFromValue(double val) const; 143 override void fixup(ref QString str) const; 144 145 public /+ Q_SLOTS +/: 146 @QSlot final void setValue(double val); 147 148 /+ Q_SIGNALS +/public: 149 @QSignal final void valueChanged(double); 150 @QSignal final void textChanged(ref const(QString) ); 151 152 private: 153 /+ Q_DISABLE_COPY(QDoubleSpinBox) +/ 154 /+ Q_DECLARE_PRIVATE(QDoubleSpinBox) +/ 155 mixin(CREATE_CONVENIENCE_WRAPPERS); 156 } 157