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.fontcombobox; 13 extern(C++): 14 15 import qt.config; 16 import qt.core.coreevent; 17 import qt.core.flags; 18 import qt.core.size; 19 import qt.gui.font; 20 import qt.gui.fontdatabase; 21 import qt.helpers; 22 import qt.widgets.combobox; 23 import qt.widgets.widget; 24 25 /+ QT_REQUIRE_CONFIG(fontcombobox); +/ 26 27 28 extern(C++, class) struct QFontComboBoxPrivate; 29 30 /// Binding for C++ class [QFontComboBox](https://doc.qt.io/qt-6/qfontcombobox.html). 31 class /+ Q_WIDGETS_EXPORT +/ QFontComboBox : QComboBox 32 { 33 mixin(Q_OBJECT); 34 /+ Q_PROPERTY(QFontDatabase::WritingSystem writingSystem READ writingSystem WRITE setWritingSystem) 35 Q_PROPERTY(FontFilters fontFilters READ fontFilters WRITE setFontFilters) 36 Q_PROPERTY(QFont currentFont READ currentFont WRITE setCurrentFont NOTIFY currentFontChanged) +/ 37 38 public: 39 /+ explicit +/this(QWidget parent = null); 40 ~this(); 41 42 final void setWritingSystem(QFontDatabase.WritingSystem); 43 final QFontDatabase.WritingSystem writingSystem() const; 44 45 enum FontFilter { 46 AllFonts = 0, 47 ScalableFonts = 0x1, 48 NonScalableFonts = 0x2, 49 MonospacedFonts = 0x4, 50 ProportionalFonts = 0x8 51 } 52 /+ Q_DECLARE_FLAGS(FontFilters, FontFilter) +/ 53 alias FontFilters = QFlags!(FontFilter); /+ Q_FLAG(FontFilters) +/ 54 55 final void setFontFilters(FontFilters filters); 56 final FontFilters fontFilters() const; 57 58 final QFont currentFont() const; 59 override QSize sizeHint() const; 60 61 public /+ Q_SLOTS +/: 62 @QSlot final void setCurrentFont(ref const(QFont) f); 63 64 /+ Q_SIGNALS +/public: 65 @QSignal final void currentFontChanged(ref const(QFont) f); 66 67 protected: 68 override bool event(QEvent e); 69 70 private: 71 /+ Q_DISABLE_COPY(QFontComboBox) +/ 72 /+ Q_DECLARE_PRIVATE(QFontComboBox) +/ 73 /+ Q_PRIVATE_SLOT(d_func(), void _q_currentChanged(const QString &)) 74 Q_PRIVATE_SLOT(d_func(), void _q_updateModel()) +/ 75 mixin(CREATE_CONVENIENCE_WRAPPERS); 76 } 77 /+pragma(inline, true) QFlags!(QFontComboBox.FontFilters.enum_type) operator |(QFontComboBox.FontFilters.enum_type f1, QFontComboBox.FontFilters.enum_type f2)/+noexcept+/{return QFlags!(QFontComboBox.FontFilters.enum_type)(f1)|f2;}+/ 78 /+pragma(inline, true) QFlags!(QFontComboBox.FontFilters.enum_type) operator |(QFontComboBox.FontFilters.enum_type f1, QFlags!(QFontComboBox.FontFilters.enum_type) f2)/+noexcept+/{return f2|f1;}+/ 79 /+pragma(inline, true) QFlags!(QFontComboBox.FontFilters.enum_type) operator &(QFontComboBox.FontFilters.enum_type f1, QFontComboBox.FontFilters.enum_type f2)/+noexcept+/{return QFlags!(QFontComboBox.FontFilters.enum_type)(f1)&f2;}+/ 80 /+pragma(inline, true) QFlags!(QFontComboBox.FontFilters.enum_type) operator &(QFontComboBox.FontFilters.enum_type f1, QFlags!(QFontComboBox.FontFilters.enum_type) f2)/+noexcept+/{return f2&f1;}+/ 81 /+pragma(inline, true) void operator +(QFontComboBox.FontFilters.enum_type f1, QFontComboBox.FontFilters.enum_type f2)/+noexcept+/;+/ 82 /+pragma(inline, true) void operator +(QFontComboBox.FontFilters.enum_type f1, QFlags!(QFontComboBox.FontFilters.enum_type) f2)/+noexcept+/;+/ 83 /+pragma(inline, true) void operator +(int f1, QFlags!(QFontComboBox.FontFilters.enum_type) f2)/+noexcept+/;+/ 84 /+pragma(inline, true) void operator -(QFontComboBox.FontFilters.enum_type f1, QFontComboBox.FontFilters.enum_type f2)/+noexcept+/;+/ 85 /+pragma(inline, true) void operator -(QFontComboBox.FontFilters.enum_type f1, QFlags!(QFontComboBox.FontFilters.enum_type) f2)/+noexcept+/;+/ 86 /+pragma(inline, true) void operator -(int f1, QFlags!(QFontComboBox.FontFilters.enum_type) f2)/+noexcept+/;+/ 87 /+pragma(inline, true) QIncompatibleFlag operator |(QFontComboBox.FontFilters.enum_type f1, int f2)/+noexcept+/{return QIncompatibleFlag(int(f1)|f2);}+/ 88 /+pragma(inline, true) void operator +(int f1, QFontComboBox.FontFilters.enum_type f2)/+noexcept+/;+/ 89 /+pragma(inline, true) void operator +(QFontComboBox.FontFilters.enum_type f1, int f2)/+noexcept+/;+/ 90 /+pragma(inline, true) void operator -(int f1, QFontComboBox.FontFilters.enum_type f2)/+noexcept+/;+/ 91 /+pragma(inline, true) void operator -(QFontComboBox.FontFilters.enum_type f1, int f2)/+noexcept+/;+/ 92 93 /+ Q_DECLARE_OPERATORS_FOR_FLAGS(QFontComboBox::FontFilters) +/