ImagingTools Core SDK
CLoginEventFactoryComp.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 <QtGui/QPixmap>
7
8// ImtCore includes
9#include <imtloggui/CEventFactoryCompBase.h>
10
11
12namespace imtloggui
13{
14
15
16class CLoginEventFactoryComp: public CEventFactoryCompBase
17{
18public:
19 typedef CEventFactoryCompBase BaseClass;
20
21 I_BEGIN_COMPONENT(CLoginEventFactoryComp)
22 I_ASSIGN(m_loginIconAttrPtr, "LoginIcon", "Icon for login event", true, "");
23 I_ASSIGN(m_logoutIconAttrPtr, "LogoutIcon", "Icon for logout event", true, "");
24 I_ASSIGN(m_iconSizeAttrPtr, "IconSize", "Size of icons", true, 24);
25 I_END_COMPONENT
26
27 // reimplemented (imtloggui::IEventItemFactory)
28 virtual IEventItem* CreateInstance(const ilog::IMessageConsumer::MessagePtr& messagePtr) const override;
29
30private:
31 I_ATTR(QByteArray, m_loginIconAttrPtr);
32 I_ATTR(QByteArray, m_logoutIconAttrPtr);
33 I_ATTR(int, m_iconSizeAttrPtr);
34
35private:
36 mutable QPixmap m_loginIcon;
37 mutable QPixmap m_logoutIcon;
38};
39
40
41} // namespace imtloggui
42
43