summaryrefslogtreecommitdiff
path: root/src/main-view/DictTableDelegatePainter.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/main-view/DictTableDelegatePainter.h')
-rw-r--r--src/main-view/DictTableDelegatePainter.h36
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
+