diff options
Diffstat (limited to 'src/main-view/DictTableDelegatePainter.h')
-rw-r--r-- | src/main-view/DictTableDelegatePainter.h | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/src/main-view/DictTableDelegatePainter.h b/src/main-view/DictTableDelegatePainter.h new file mode 100644 index 0000000..985ecac --- /dev/null +++ b/src/main-view/DictTableDelegatePainter.h @@ -0,0 +1,36 @@ +#ifndef DICT_TABLE_DELEGATE_PAINTER_H +#define DICT_TABLE_DELEGATE_PAINTER_H + +#include <QtWidgets> + +#include "FieldContentPainter.h" + +class DictTableDelegatePainter: public FieldContentPainter +{ +private: + static QTextOption getTextOption(); + +private: + static const int ThumbnailSize = 25; + +public: + DictTableDelegatePainter(QPainter* painter, const QRect& contentRect, + const QFontMetrics& fontMetrics); + void startDrawing(); + void endDrawing(); + void drawText(const QString& text); + void drawImage(const QString& filePath); + +private: + void initLoopParams(); + QString getElidedText(const QString& text); + +private: + QPainter* painter; + QRect contentRect; + QFontMetrics fontMetrics; + int offset; + bool textFitstoRect; +}; +#endif + |