Files
qt6-migration-pipeline/Lts/Common/LtsWidgets/lts_elided_label.h
T

37 lines
654 B
C++
Executable File

#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;
};
}