ImagingTools Core SDK
CEventItemBase.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/QGraphicsItem>
7
8// ImtCore includes
9#include <imtloggui/IEventItem.h>
10
11
12namespace imtloggui
13{
14
15
16class CEventItemBase:
17 public QGraphicsItem,
18 virtual public IEventItem
19{
20public:
21 typedef QGraphicsItem BaseClass;
22
23 enum MetaInfoType
24 {
25 MIT_TIMESTAMP = idoc::IDocumentMetaInfo::MIT_USER + 100,
26 MIT_SOURCE,
27 MIT_MESSAGE,
28 MIT_STATUS,
29 };
30
31 void SetParams(const ilog::IMessageConsumer::MessagePtr& messagePtr, QGraphicsItem* parentPtr = nullptr);
32
33 // reimplemented (imtloggui::IEventItem)
34 virtual const istd::IInformationProvider* GetInformationProvider() const override;
35 virtual const ilog::IMessageConsumer::MessagePtr GetMessage() const override;
36
37 // reimplemented (idoc::IDocumentMetaInfo)
38 virtual MetaInfoTypes GetMetaInfoTypes(bool allowReadOnly = true) const override;
39 virtual QVariant GetMetaInfo(int metaInfoType) const override;
40 virtual bool SetMetaInfo(int metaInfoType, const QVariant& metaInfo) override;
41 virtual void RemoveMetaInfo(int metaInfoType) override;
42 virtual QByteArray GetMetaInfoId(int metaInfoType) const override;
43 virtual QString GetMetaInfoName(int metaInfoType) const override;
44 virtual QString GetMetaInfoDescription(int metaInfoType) const override;
45 virtual bool IsMetaInfoWritable(int metaInfoType) const override;
46
47private:
48 ilog::IMessageConsumer::MessagePtr m_messagePtr;
49};
50
51
52} // namespace imtloggui
53
54