ImagingTools Core SDK
CStandardAccountMenuComp.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// ACF includes
6#include <iauth/ILogin.h>
7#include <iqtgui/IDialog.h>
8#include <iqtgui/TDesignerGuiCompBase.h>
9
10// ImtCore includes
11#include <imtbase/TModelUpdateBinder.h>
12#include <GeneratedFiles/imtauthgui/ui_CStandardAccountMenuComp.h>
13
14
15namespace imtauthgui
16{
17
18
19class CStandardAccountMenuComp: public iqtgui::TDesignerGuiCompBase<Ui::CStandardAccountMenuComp>
20{
21public:
22 typedef iqtgui::TDesignerGuiCompBase<Ui::CStandardAccountMenuComp> BaseClass;
23
24 I_BEGIN_COMPONENT(CStandardAccountMenuComp);
25 I_ASSIGN(m_accountPreviewAttrPtr, "AccountIcon", "Account icon", true, ":/Icons/Account");
26 I_ASSIGN(m_preferencesIconAttrPtr, "PreferencesIcon", "Preferences icon", true, ":/Icons/Settings");
27 I_ASSIGN(m_logoutIconAttrPtr, "LogoutIcon", "Logout icon", true, ":/Icons/Exit");
28 I_ASSIGN(m_iconSizeAttrPtr, "IconSize", "Size of icons", true, 32);
29 I_ASSIGN(m_loginCompPtr, "Login", "Login", false, "Login");
30 I_ASSIGN(m_preferencesDialogCompPtr, "PreferencesDialog", "Preferences dialog", false, "Preferences");
31 I_END_COMPONENT;
32
33 CStandardAccountMenuComp();
34
35protected:
36 // reimplemented (iqtgui::CGuiComponentBase)
37 virtual void OnGuiCreated() override;
38 virtual void OnGuiDestroyed() override;
39 virtual void OnGuiDesignChanged() override;
40
41 // reimplemented (QObject)
42 virtual bool eventFilter(QObject* watched, QEvent* event) override;
43
44private:
45 void OnLoginUpdate(const istd::IChangeable::ChangeSet& changeSet, const iauth::ILogin* objectPtr);
46
47private:
48 I_ATTR(QByteArray, m_accountPreviewAttrPtr);
49 I_ATTR(QByteArray, m_preferencesIconAttrPtr);
50 I_ATTR(QByteArray, m_logoutIconAttrPtr);
51 I_ATTR(int, m_iconSizeAttrPtr);
52 I_REF(iauth::ILogin, m_loginCompPtr);
53 I_REF(iqtgui::IDialog, m_preferencesDialogCompPtr);
54
56};
57
58
59} // namespace imtauthgui
60
61
Authentication UI Components Module.