/** * @RDE_HEADER@ * LtsWidget - a QLabel which elides the text if necessary * $Id$ * $HeadURL$ * $Author$ * Created by Christian Ehrlicher, NLE, 2018-12-17 */ #pragma once #include #include namespace LtsWidgets { class LTSWIDGETS_EXPORT LtsElidedLabel : public QLabel { Q_OBJECT public: Q_PROPERTY(Qt::TextElideMode ElideMode READ elideMode WRITE setElideMode) using QLabel::QLabel; void setElideMode(Qt::TextElideMode elideMode); Qt::TextElideMode elideMode() const { return m_elideMode; } protected: void paintEvent(QPaintEvent *e) override; void resizeEvent(QResizeEvent *e) override; private: void updateCachedTexts(); private: Qt::TextElideMode m_elideMode = Qt::ElideRight; QString m_cachedElidedText; QString m_cachedText; }; } // namespace LtsWidgets