1 /****************************************************************************
2 **
3 ** DQt - D bindings for the Qt Toolkit
4 **
5 ** GNU Lesser General Public License Usage
6 ** This file may be used under the terms of the GNU Lesser
7 ** General Public License version 3 as published by the Free Software
8 ** Foundation and appearing in the file LICENSE.LGPL3 included in the
9 ** packaging of this file. Please review the following information to
10 ** ensure the GNU Lesser General Public License version 3 requirements
11 ** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
12 **
13 ****************************************************************************/
14 module qt.widgets.lcdnumber;
15 extern(C++):
16
17 import qt.config;
18 import qt.core.coreevent;
19 import qt.core.size;
20 import qt.core.string;
21 import qt.gui.event;
22 import qt.helpers;
23 import qt.widgets.frame;
24 import qt.widgets.widget;
25
26 /+ QT_REQUIRE_CONFIG(lcdnumber); +/
27
28 extern(C++, class) struct QLCDNumberPrivate;
29 class /+ Q_WIDGETS_EXPORT +/ QLCDNumber : QFrame // LCD number widget
30 {
31 mixin(Q_OBJECT);
32 /+ Q_PROPERTY(bool smallDecimalPoint READ smallDecimalPoint WRITE setSmallDecimalPoint)
33 Q_PROPERTY(int digitCount READ digitCount WRITE setDigitCount)
34 Q_PROPERTY(Mode mode READ mode WRITE setMode)
35 Q_PROPERTY(SegmentStyle segmentStyle READ segmentStyle WRITE setSegmentStyle)
36 Q_PROPERTY(double value READ value WRITE display)
37 Q_PROPERTY(int intValue READ intValue WRITE display) +/
38
39 public:
40 /+ explicit +/this(QWidget parent = null);
41 /+ explicit +/this(uint numDigits, QWidget parent = null);
42 ~this();
43
44 enum Mode {
45 Hex, Dec, Oct, Bin
46 }
47 /+ Q_ENUM(Mode) +/
48 enum SegmentStyle {
49 Outline, Filled, Flat
50 }
51 /+ Q_ENUM(SegmentStyle) +/
52
53 final bool smallDecimalPoint() const;
54 final int digitCount() const;
55 final void setDigitCount(int nDigits);
56
57 final bool checkOverflow(double num) const;
58 final bool checkOverflow(int num) const;
59
60 final Mode mode() const;
61 final void setMode(Mode);
62
63 final SegmentStyle segmentStyle() const;
64 final void setSegmentStyle(SegmentStyle);
65
66 final double value() const;
67 final int intValue() const;
68
69 final void setValue(double val)
70 {
71 setProperty("value", val);
72 }
73
74 override QSize sizeHint() const;
75
76 public /+ Q_SLOTS +/:
77 @QSlot final void display(ref const(QString) str);
78 @QSlot final void display(int num);
79 @QSlot final void display(double num);
80 @QSlot final void setHexMode();
81 @QSlot final void setDecMode();
82 @QSlot final void setOctMode();
83 @QSlot final void setBinMode();
84 @QSlot final void setSmallDecimalPoint(bool);
85
86 /+ Q_SIGNALS +/public:
87 @QSignal final void overflow();
88
89 protected:
90 override bool event(QEvent e);
91 override void paintEvent(QPaintEvent );
92
93 public:
94
95 private:
96 /+ Q_DISABLE_COPY(QLCDNumber) +/
97 /+ Q_DECLARE_PRIVATE(QLCDNumber) +/
98 }
99