Files
qt5-legatus-legacy/Lts/Common/LtsWidgets/lts_elided_label.h
T
2026-08-13 18:33:10 +02:00

43 lines
849 B
C++
Executable File

/**
* @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 <QLabel>
#include <LtsWidgets/lts_widgets_export.h>
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