ImagingTools Core SDK
CLoginEventItem.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 <QtCore/QRect>
7#include <QtGui/QFont>
8#include <QtGui/QPixmap>
9
10// ImtCore includes
11#include <imtloggui/CEventItemBase.h>
12
13
14namespace imtloggui
15{
16
17
18class CLoginEventItem: public CEventItemBase
19{
20public:
21 typedef CEventItemBase BaseClass;
22
23 enum MetaInfoType
24 {
25 MIT_ACTION = idoc::IDocumentMetaInfo::MIT_USER + 200,
26 MIT_USER_NAME
27 };
28
29 void SetParams(
30 const QPixmap& iconLogin,
31 const QPixmap& iconLogout,
32 const ilog::IMessageConsumer::MessagePtr& messagePtr,
33 QGraphicsItem* parentPtr = nullptr);
34
35 // reimplemented (idoc::IDocumentMetaInfo)
36 virtual MetaInfoTypes GetMetaInfoTypes(bool allowReadOnly = true) const override;
37 virtual QVariant GetMetaInfo(int metaInfoType) const override;
38 virtual QByteArray GetMetaInfoId(int metaInfoType) const override;
39 virtual QString GetMetaInfoName(int metaInfoType) const override;
40
41 // reimplemented (QGraphicsItem)
42 virtual QRectF boundingRect() const override;
43 virtual void paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget = nullptr) override;
44
45private:
46 QFont m_font;
47 QPixmap m_iconLogin;
48 QPixmap m_iconLogout;
49 mutable QRectF m_boundingRect;
50 mutable QRectF m_labelRect;
51};
52
53
54} // namespace imtloggui
55
56