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.abstractslider; 13 extern(C++): 14 15 import qt.config; 16 import qt.core.coreevent; 17 import qt.core.namespace; 18 import qt.gui.event; 19 import qt.helpers; 20 import qt.widgets.widget; 21 22 /+ QT_REQUIRE_CONFIG(abstractslider); +/ 23 24 25 26 extern(C++, class) struct QAbstractSliderPrivate; 27 28 /// Binding for C++ class [QAbstractSlider](https://doc.qt.io/qt-6/qabstractslider.html). 29 class /+ Q_WIDGETS_EXPORT +/ QAbstractSlider : QWidget 30 { 31 mixin(Q_OBJECT); 32 33 /+ Q_PROPERTY(int minimum READ minimum WRITE setMinimum) 34 Q_PROPERTY(int maximum READ maximum WRITE setMaximum) 35 Q_PROPERTY(int singleStep READ singleStep WRITE setSingleStep) 36 Q_PROPERTY(int pageStep READ pageStep WRITE setPageStep) 37 Q_PROPERTY(int value READ value WRITE setValue NOTIFY valueChanged USER true) 38 Q_PROPERTY(int sliderPosition READ sliderPosition WRITE setSliderPosition NOTIFY sliderMoved) 39 Q_PROPERTY(bool tracking READ hasTracking WRITE setTracking) 40 Q_PROPERTY(Qt::Orientation orientation READ orientation WRITE setOrientation) 41 Q_PROPERTY(bool invertedAppearance READ invertedAppearance WRITE setInvertedAppearance) 42 Q_PROPERTY(bool invertedControls READ invertedControls WRITE setInvertedControls) 43 Q_PROPERTY(bool sliderDown READ isSliderDown WRITE setSliderDown DESIGNABLE false) +/ 44 45 public: 46 /+ explicit +/this(QWidget parent = null); 47 ~this(); 48 49 final /+ Qt:: +/qt.core.namespace.Orientation orientation() const; 50 51 final void setMinimum(int); 52 final int minimum() const; 53 54 final void setMaximum(int); 55 final int maximum() const; 56 57 final void setSingleStep(int); 58 final int singleStep() const; 59 60 final void setPageStep(int); 61 final int pageStep() const; 62 63 final void setTracking(bool enable); 64 final bool hasTracking() const; 65 66 final void setSliderDown(bool); 67 final bool isSliderDown() const; 68 69 final void setSliderPosition(int); 70 final int sliderPosition() const; 71 72 final void setInvertedAppearance(bool); 73 final bool invertedAppearance() const; 74 75 final void setInvertedControls(bool); 76 final bool invertedControls() const; 77 78 enum SliderAction { 79 SliderNoAction, 80 SliderSingleStepAdd, 81 SliderSingleStepSub, 82 SliderPageStepAdd, 83 SliderPageStepSub, 84 SliderToMinimum, 85 SliderToMaximum, 86 SliderMove 87 } 88 89 final int value() const; 90 91 final void triggerAction(SliderAction action); 92 93 public /+ Q_SLOTS +/: 94 @QSlot final void setValue(int); 95 @QSlot final void setOrientation(/+ Qt:: +/qt.core.namespace.Orientation); 96 @QSlot final void setRange(int min, int max); 97 98 /+ Q_SIGNALS +/public: 99 @QSignal final void valueChanged(int value); 100 101 @QSignal final void sliderPressed(); 102 @QSignal final void sliderMoved(int position); 103 @QSignal final void sliderReleased(); 104 105 @QSignal final void rangeChanged(int min, int max); 106 107 @QSignal final void actionTriggered(int action); 108 109 protected: 110 override bool event(QEvent e); 111 112 final void setRepeatAction(SliderAction action, int thresholdTime = 500, int repeatTime = 50); 113 final SliderAction repeatAction() const; 114 115 enum SliderChange { 116 SliderRangeChange, 117 SliderOrientationChange, 118 SliderStepsChange, 119 SliderValueChange 120 } 121 /+ virtual +/ void sliderChange(SliderChange change); 122 123 override void keyPressEvent(QKeyEvent ev); 124 override void timerEvent(QTimerEvent ); 125 /+ #if QT_CONFIG(wheelevent) +/ 126 override void wheelEvent(QWheelEvent e); 127 /+ #endif +/ 128 override void changeEvent(QEvent e); 129 130 131 protected: 132 this(ref QAbstractSliderPrivate dd, QWidget parent = null); 133 134 private: 135 /+ Q_DISABLE_COPY(QAbstractSlider) +/ 136 /+ Q_DECLARE_PRIVATE(QAbstractSlider) +/ 137 mixin(CREATE_CONVENIENCE_WRAPPERS); 138 } 139