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.radiobutton;
13 extern(C++):
14 
15 import qt.config;
16 import qt.core.coreevent;
17 import qt.core.point;
18 import qt.core.size;
19 import qt.core.string;
20 import qt.gui.event;
21 import qt.helpers;
22 import qt.widgets.abstractbutton;
23 import qt.widgets.styleoption;
24 import qt.widgets.widget;
25 
26 /+ QT_REQUIRE_CONFIG(radiobutton); +/
27 
28 
29 
30 extern(C++, class) struct QRadioButtonPrivate;
31 
32 /// Binding for C++ class [QRadioButton](https://doc.qt.io/qt-6/qradiobutton.html).
33 class /+ Q_WIDGETS_EXPORT +/ QRadioButton : QAbstractButton
34 {
35     mixin(Q_OBJECT);
36 
37 public:
38     /+ explicit +/this(QWidget parent = null);
39     /+ explicit +/this(ref const(QString) text, QWidget parent = null);
40     ~this();
41 
42     override QSize sizeHint() const;
43     override QSize minimumSizeHint() const;
44 
45 protected:
46     override bool event(QEvent e);
47     override bool hitButton(ref const(QPoint) ) const;
48     override void paintEvent(QPaintEvent );
49     override void mouseMoveEvent(QMouseEvent );
50     /+ virtual +/ void initStyleOption(QStyleOptionButton* button) const;
51 
52 
53 private:
54     /+ Q_DECLARE_PRIVATE(QRadioButton) +/
55     /+ Q_DISABLE_COPY(QRadioButton) +/
56     /+ friend class QAccessibleButton; +/
57     mixin(CREATE_CONVENIENCE_WRAPPERS);
58 }
59