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.fontdialog; 13 extern(C++): 14 15 import qt.config; 16 import qt.core.coreevent; 17 import qt.core.flags; 18 import qt.core.object; 19 import qt.core.string; 20 import qt.gui.font; 21 import qt.helpers; 22 import qt.widgets.dialog; 23 import qt.widgets.widget; 24 25 /+ QT_REQUIRE_CONFIG(fontdialog); +/ 26 27 28 extern(C++, class) struct QFontDialogPrivate; 29 30 /// Binding for C++ class [QFontDialog](https://doc.qt.io/qt-6/qfontdialog.html). 31 class /+ Q_WIDGETS_EXPORT +/ QFontDialog : QDialog 32 { 33 mixin(Q_OBJECT); 34 /+ Q_DECLARE_PRIVATE(QFontDialog) +/ 35 /+ Q_PROPERTY(QFont currentFont READ currentFont WRITE setCurrentFont NOTIFY currentFontChanged) 36 Q_PROPERTY(FontDialogOptions options READ options WRITE setOptions) +/ 37 38 public: 39 enum FontDialogOption { 40 NoButtons = 0x00000001, 41 DontUseNativeDialog = 0x00000002, 42 ScalableFonts = 0x00000004, 43 NonScalableFonts = 0x00000008, 44 MonospacedFonts = 0x00000010, 45 ProportionalFonts = 0x00000020 46 } 47 /+ Q_ENUM(FontDialogOption) +/ 48 49 /+ Q_DECLARE_FLAGS(FontDialogOptions, FontDialogOption) +/ 50 alias FontDialogOptions = QFlags!(FontDialogOption); 51 /+ explicit +/this(QWidget parent = null); 52 /+ explicit +/this(ref const(QFont) initial, QWidget parent = null); 53 ~this(); 54 55 final void setCurrentFont(ref const(QFont) font); 56 final QFont currentFont() const; 57 58 final QFont selectedFont() const; 59 60 final void setOption(FontDialogOption option, bool on = true); 61 final bool testOption(FontDialogOption option) const; 62 final void setOptions(FontDialogOptions options); 63 final FontDialogOptions options() const; 64 65 /+ using QDialog::open; +/ 66 final void open(QObject receiver, const(char)* member); 67 68 override void setVisible(bool visible); 69 70 static QFont getFont(bool* ok, QWidget parent = null); 71 static QFont getFont(bool* ok, ref const(QFont) initial, QWidget parent = null, ref const(QString) title = globalInitVar!QString, 72 FontDialogOptions options = FontDialogOptions()); 73 74 /+ Q_SIGNALS +/public: 75 @QSignal final void currentFontChanged(ref const(QFont) font); 76 @QSignal final void fontSelected(ref const(QFont) font); 77 78 protected: 79 override void changeEvent(QEvent event); 80 override void done(int result); 81 override bool eventFilter(QObject object, QEvent event); 82 83 private: 84 /+ Q_DISABLE_COPY(QFontDialog) +/ 85 86 /+ Q_PRIVATE_SLOT(d_func(), void _q_sizeChanged(const QString &)) 87 Q_PRIVATE_SLOT(d_func(), void _q_familyHighlighted(int)) 88 Q_PRIVATE_SLOT(d_func(), void _q_writingSystemHighlighted(int)) 89 Q_PRIVATE_SLOT(d_func(), void _q_styleHighlighted(int)) 90 Q_PRIVATE_SLOT(d_func(), void _q_sizeHighlighted(int)) 91 Q_PRIVATE_SLOT(d_func(), void _q_updateSample()) +/ 92 mixin(CREATE_CONVENIENCE_WRAPPERS); 93 } 94 /+pragma(inline, true) QFlags!(QFontDialog.FontDialogOptions.enum_type) operator |(QFontDialog.FontDialogOptions.enum_type f1, QFontDialog.FontDialogOptions.enum_type f2)/+noexcept+/{return QFlags!(QFontDialog.FontDialogOptions.enum_type)(f1)|f2;}+/ 95 /+pragma(inline, true) QFlags!(QFontDialog.FontDialogOptions.enum_type) operator |(QFontDialog.FontDialogOptions.enum_type f1, QFlags!(QFontDialog.FontDialogOptions.enum_type) f2)/+noexcept+/{return f2|f1;}+/ 96 /+pragma(inline, true) QFlags!(QFontDialog.FontDialogOptions.enum_type) operator &(QFontDialog.FontDialogOptions.enum_type f1, QFontDialog.FontDialogOptions.enum_type f2)/+noexcept+/{return QFlags!(QFontDialog.FontDialogOptions.enum_type)(f1)&f2;}+/ 97 /+pragma(inline, true) QFlags!(QFontDialog.FontDialogOptions.enum_type) operator &(QFontDialog.FontDialogOptions.enum_type f1, QFlags!(QFontDialog.FontDialogOptions.enum_type) f2)/+noexcept+/{return f2&f1;}+/ 98 /+pragma(inline, true) void operator +(QFontDialog.FontDialogOptions.enum_type f1, QFontDialog.FontDialogOptions.enum_type f2)/+noexcept+/;+/ 99 /+pragma(inline, true) void operator +(QFontDialog.FontDialogOptions.enum_type f1, QFlags!(QFontDialog.FontDialogOptions.enum_type) f2)/+noexcept+/;+/ 100 /+pragma(inline, true) void operator +(int f1, QFlags!(QFontDialog.FontDialogOptions.enum_type) f2)/+noexcept+/;+/ 101 /+pragma(inline, true) void operator -(QFontDialog.FontDialogOptions.enum_type f1, QFontDialog.FontDialogOptions.enum_type f2)/+noexcept+/;+/ 102 /+pragma(inline, true) void operator -(QFontDialog.FontDialogOptions.enum_type f1, QFlags!(QFontDialog.FontDialogOptions.enum_type) f2)/+noexcept+/;+/ 103 /+pragma(inline, true) void operator -(int f1, QFlags!(QFontDialog.FontDialogOptions.enum_type) f2)/+noexcept+/;+/ 104 /+pragma(inline, true) QIncompatibleFlag operator |(QFontDialog.FontDialogOptions.enum_type f1, int f2)/+noexcept+/{return QIncompatibleFlag(int(f1)|f2);}+/ 105 /+pragma(inline, true) void operator +(int f1, QFontDialog.FontDialogOptions.enum_type f2)/+noexcept+/;+/ 106 /+pragma(inline, true) void operator +(QFontDialog.FontDialogOptions.enum_type f1, int f2)/+noexcept+/;+/ 107 /+pragma(inline, true) void operator -(int f1, QFontDialog.FontDialogOptions.enum_type f2)/+noexcept+/;+/ 108 /+pragma(inline, true) void operator -(QFontDialog.FontDialogOptions.enum_type f1, int f2)/+noexcept+/;+/ 109 110 /+ Q_DECLARE_OPERATORS_FOR_FLAGS(QFontDialog::FontDialogOptions) +/