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.label; 13 extern(C++): 14 15 import qt.config; 16 import qt.core.coreevent; 17 import qt.core.namespace; 18 import qt.core.size; 19 import qt.core.string; 20 import qt.gui.event; 21 import qt.gui.movie; 22 import qt.gui.pixmap; 23 import qt.gui.textdocument; 24 import qt.helpers; 25 import qt.widgets.frame; 26 import qt.widgets.widget; 27 version(QT_NO_PICTURE){}else 28 import qt.gui.picture; 29 30 /+ QT_REQUIRE_CONFIG(label); +/ 31 32 33 34 extern(C++, class) struct QLabelPrivate; 35 36 /// Binding for C++ class [QLabel](https://doc.qt.io/qt-6/qlabel.html). 37 class /+ Q_WIDGETS_EXPORT +/ QLabel : QFrame 38 { 39 mixin(Q_OBJECT); 40 /+ Q_PROPERTY(QString text READ text WRITE setText) 41 Q_PROPERTY(Qt::TextFormat textFormat READ textFormat WRITE setTextFormat) 42 Q_PROPERTY(QPixmap pixmap READ pixmap WRITE setPixmap) 43 Q_PROPERTY(bool scaledContents READ hasScaledContents WRITE setScaledContents) 44 Q_PROPERTY(Qt::Alignment alignment READ alignment WRITE setAlignment) 45 Q_PROPERTY(bool wordWrap READ wordWrap WRITE setWordWrap) 46 Q_PROPERTY(int margin READ margin WRITE setMargin) 47 Q_PROPERTY(int indent READ indent WRITE setIndent) 48 Q_PROPERTY(bool openExternalLinks READ openExternalLinks WRITE setOpenExternalLinks) 49 Q_PROPERTY(Qt::TextInteractionFlags textInteractionFlags READ textInteractionFlags 50 WRITE setTextInteractionFlags) 51 Q_PROPERTY(bool hasSelectedText READ hasSelectedText) 52 Q_PROPERTY(QString selectedText READ selectedText) +/ 53 54 public: 55 /+ explicit +/this(QWidget parent=null, /+ Qt:: +/qt.core.namespace.WindowFlags f=/+ Qt:: +/qt.core.namespace.WindowFlags()); 56 /+ explicit +/this(ref const(QString) text, QWidget parent=null, /+ Qt:: +/qt.core.namespace.WindowFlags f=/+ Qt:: +/qt.core.namespace.WindowFlags()); 57 ~this(); 58 59 final QString text() const; 60 61 /+ #if QT_DEPRECATED_SINCE(6,6) +/ 62 final QPixmap pixmap(/+ Qt:: +/qt.core.namespace.ReturnByValueConstant) const { return pixmap(); } 63 /+ #endif +/ 64 final QPixmap pixmap() const; 65 66 /+ #ifndef QT_NO_PICTURE 67 #if QT_DEPRECATED_SINCE(6,6) +/ 68 version(QT_NO_PICTURE){}else 69 { 70 final QPicture picture(/+ Qt:: +/qt.core.namespace.ReturnByValueConstant) const { return picture(); } 71 /+ #endif +/ 72 final QPicture picture() const; 73 } 74 /+ #endif 75 #if QT_CONFIG(movie) +/ 76 final QMovie movie() const; 77 /+ #endif +/ 78 79 final /+ Qt:: +/qt.core.namespace.TextFormat textFormat() const; 80 final void setTextFormat(/+ Qt:: +/qt.core.namespace.TextFormat); 81 82 /*final QTextDocument.ResourceProvider resourceProvider() const; 83 final void setResourceProvider(ref const(QTextDocument.ResourceProvider) provider);*/ 84 85 final /+ Qt:: +/qt.core.namespace.Alignment alignment() const; 86 final void setAlignment(/+ Qt:: +/qt.core.namespace.Alignment); 87 88 final void setWordWrap(bool on); 89 final bool wordWrap() const; 90 91 final int indent() const; 92 final void setIndent(int); 93 94 final int margin() const; 95 final void setMargin(int); 96 97 final bool hasScaledContents() const; 98 final void setScaledContents(bool); 99 override QSize sizeHint() const; 100 override QSize minimumSizeHint() const; 101 version(QT_NO_SHORTCUT){}else 102 { 103 final void setBuddy(QWidget ); 104 final QWidget buddy() const; 105 } 106 override int heightForWidth(int) const; 107 108 final bool openExternalLinks() const; 109 final void setOpenExternalLinks(bool open); 110 111 final void setTextInteractionFlags(/+ Qt:: +/qt.core.namespace.TextInteractionFlags flags); 112 final /+ Qt:: +/qt.core.namespace.TextInteractionFlags textInteractionFlags() const; 113 114 final void setSelection(int, int); 115 final bool hasSelectedText() const; 116 final QString selectedText() const; 117 final int selectionStart() const; 118 119 public /+ Q_SLOTS +/: 120 @QSlot final void setText(ref const(QString) ); 121 @QSlot final void setPixmap(ref const(QPixmap) ); 122 /+ #ifndef QT_NO_PICTURE +/ 123 version(QT_NO_PICTURE){}else 124 { 125 @QSlot final void setPicture(ref const(QPicture) ); 126 } 127 /+ #endif 128 #if QT_CONFIG(movie) +/ 129 @QSlot final void setMovie(QMovie movie); 130 /+ #endif +/ 131 @QSlot final void setNum(int); 132 @QSlot final void setNum(double); 133 @QSlot final void clear(); 134 135 /+ Q_SIGNALS +/public: 136 @QSignal final void linkActivated(ref const(QString) link); 137 @QSignal final void linkHovered(ref const(QString) link); 138 139 protected: 140 override bool event(QEvent e); 141 override void keyPressEvent(QKeyEvent ev); 142 override void paintEvent(QPaintEvent ); 143 override void changeEvent(QEvent ); 144 override void mousePressEvent(QMouseEvent ev); 145 override void mouseMoveEvent(QMouseEvent ev); 146 override void mouseReleaseEvent(QMouseEvent ev); 147 version(QT_NO_CONTEXTMENU){}else 148 { 149 override void contextMenuEvent(QContextMenuEvent ev); 150 } 151 override void focusInEvent(QFocusEvent ev); 152 override void focusOutEvent(QFocusEvent ev); 153 override bool focusNextPrevChild(bool next); 154 155 156 private: 157 /+ Q_DISABLE_COPY(QLabel) +/ 158 /+ Q_DECLARE_PRIVATE(QLabel) +/ 159 /+ #if QT_CONFIG(movie) 160 Q_PRIVATE_SLOT(d_func(), void _q_movieUpdated(const QRect&)) 161 Q_PRIVATE_SLOT(d_func(), void _q_movieResized(const QSize&)) 162 #endif 163 Q_PRIVATE_SLOT(d_func(), void _q_linkHovered(const QString &)) 164 165 #ifndef QT_NO_SHORTCUT 166 Q_PRIVATE_SLOT(d_func(), void _q_buddyDeleted()) 167 #endif +/ 168 /+ friend class QTipLabel; +/ 169 /+ friend class QMessageBoxPrivate; +/ 170 /+ friend class QBalloonTip; +/ 171 mixin(CREATE_CONVENIENCE_WRAPPERS); 172 } 173