summaryrefslogtreecommitdiff
path: root/src/main-view/DictTableDelegatePainter.h
diff options
context:
space:
mode:
authorJedidiah Barber <contact@jedbarber.id.au>2021-07-14 11:49:10 +1200
committerJedidiah Barber <contact@jedbarber.id.au>2021-07-14 11:49:10 +1200
commitd24f813f3f2a05c112e803e4256b53535895fc98 (patch)
tree601e6ae9a1cd44bcfdcf91739a5ca36aedd827c9 /src/main-view/DictTableDelegatePainter.h
Initial mirror commitHEADmaster
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
+