23 if (FullText_ == text)
37 if (ElideMode_ == mode)
51 const auto& cm = contentsMargins ();
53 auto result = QLabel::sizeHint ();
54 const auto textWidth = fontMetrics ().horizontalAdvance (FullText_) + 1;
55 result.setWidth (
std::max (result.width (), textWidth + cm.left () + cm.right ()));
61 QLabel::changeEvent (ev);
64 case QEvent::FontChange:
65 case QEvent::StyleChange:
66 case QEvent::ApplicationFontChange:
67 case QEvent::LayoutDirectionChange:
77 QLabel::resizeEvent (ev);
81 void ElidingLabel::UpdateElide ()
83 const auto& fm = fontMetrics ();
85 const auto& elided = fm.elidedText (FullText_, ElideMode_, contentsRect ().width ());
constexpr detail::AggregateType< detail::AggregateFunction::Max, Ptr > max
QString GetFullText() const
QSize sizeHint() const override
void SetElideMode(Qt::TextElideMode)
void changeEvent(QEvent *) override
void SetFullText(const QString &)
ElidingLabel(QWidget *=nullptr)
Qt::TextElideMode GetElideMode() const
void resizeEvent(QResizeEvent *) override