ImagingTools Core SDK
CTaskItemDelegate.h
1// SPDX-License-Identifier: LGPL-2.1-or-later OR GPL-2.0-or-later OR GPL-3.0-or-later OR LicenseRef-ImtCore-Commercial
2#pragma once
3
4
5// Qt includes
6#include <QtWidgets/QItemDelegate>
7
8
9namespace imthypegui
10{
11
12
13class CTaskItemDelegate: public QItemDelegate
14{
15public:
16 typedef QItemDelegate BaseClass;
17
18 enum DataRole
19 {
20 DR_TASK_UUID = Qt::UserRole,
21 DR_TYPE_ID,
22 DR_TYPE_NAME,
23 DR_TASK_NAME,
24 DR_TASK_USERID,
25 DR_TASK_INPUTID,
26 DR_TASK_PREVIEW_OBJECT,
27 DR_TASK_PROCESSING_STATE,
28 DR_TASK_PROCESSING_STATE_ICON,
29 DR_TASK_ENABLED,
30 DR_LAST = DR_TASK_ENABLED
31 };
32
33 CTaskItemDelegate(QObject* parent = nullptr);
34
35protected:
36 // reimplemented (QItemDelegate)
37 virtual QSize sizeHint(const QStyleOptionViewItem& option, const QModelIndex& index) const override;
38 virtual void paint(QPainter* painter, const QStyleOptionViewItem& option, const QModelIndex& index) const override;
39 virtual QWidget* createEditor(QWidget* parent, const QStyleOptionViewItem& option, const QModelIndex& index) const override;
40};
41
42
43class CMicroTaskItemDelegate : public CTaskItemDelegate
44{
45public:
46 typedef CTaskItemDelegate BaseClass;
47
48 CMicroTaskItemDelegate(QObject* parent = nullptr);
49
50protected:
51 // reimplemented (QItemDelegate)
52 virtual void paint(QPainter* painter, const QStyleOptionViewItem& option, const QModelIndex& index) const override;
53};
54
55
56} // namespace imthypegui
57
58