ImagingTools Core SDK
CAccountInfoEditorComp.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>
7#if QT_VERSION >= 0x050000 && QT_VERSION < 0x060000
8#include <QtWidgets/QAction>
9#else
10#include <QtGui/QAction>
11#endif
12
13// ACF includes
14#include <ifile/IFilePersistence.h>
15#include <iimg/CBitmap.h>
16#include <imod/CModelProxy.h>
17#include <iqtgui/TDesignerGuiObserverCompBase.h>
18#include <iqtgui/IGuiObject.h>
19
20// ImtCore includes
21#include <imtauth/IAccountInfo.h>
22#include <imtauth/IAddress.h>
23#include <imtbase/IObjectCollection.h>
24#include <imtbase/TModelUpdateBinder.h>
25#include <GeneratedFiles/imtauthgui/ui_CAccountInfoEditorComp.h>
26
27
28namespace imtauthgui
29{
30
31
37 public iqtgui::TDesignerGuiObserverCompBase<
38 Ui::CAccountInfoEditorComp, imtauth::IAccountInfo>
39{
40 Q_OBJECT
41public:
42 typedef iqtgui::TDesignerGuiObserverCompBase<
43 Ui::CAccountInfoEditorComp, imtauth::IAccountInfo> BaseClass;
44
45 I_BEGIN_COMPONENT(CAccountInfoEditorComp);
46 I_ASSIGN(m_accountPictureGuiCompPtr, "AccountPictureView", "Account picture view", true, "ImageView");
47 I_ASSIGN_TO(m_accountPictureObserverCompPtr, m_accountPictureGuiCompPtr, true);
48 I_ASSIGN(m_personContactEditorCompPtr, "PersonContactEditor", "Person contact editor", true, "ContactInfoEditor");
49 I_ASSIGN_TO(m_personContactEditorObserverCompPtr, m_personContactEditorCompPtr, true);
50 I_ASSIGN(m_companyContactEditorCompPtr, "CompanyContactEditor", "Company contact editor", true, "ContactInfoEditor");
51 I_ASSIGN_TO(m_companyContactEditorObserverCompPtr, m_companyContactEditorCompPtr, true);
52 I_ASSIGN(m_bitmapLoaderCompPtr, "BitmapLoader", "Bitmap loader", true, "BitmapLoader");
53 I_END_COMPONENT;
54
56
57protected:
58 // reimplemented (iqtgui::TGuiObserverWrap)
59 virtual void UpdateGui(const istd::IChangeable::ChangeSet& changeSet) override;
60 virtual void OnGuiModelAttached() override;
61 virtual void OnGuiModelDetached() override;
62 virtual void UpdateModel() const override;
63
64 // reimplemented (iqtgui::CGuiComponentBase)
65 virtual void OnGuiCreated() override;
66 virtual void OnGuiDestroyed() override;
67
68 // reimplemented (icomp::CComponentBase)
69 virtual void OnComponentCreated() override;
70 virtual void OnComponentDestroyed() override;
71
72private:
73 void SetCompanyAddressVisibility(bool visibility) const;
74 void SetupCompanyAddress() const;
75 void OnAddressUpdated(const istd::IChangeable::ChangeSet& changeSet, const imtauth::IAddress* addressPtr);
76 imtauth::IAddress* GetCompanyAddress();
77
78private Q_SLOTS:
79 void on_ContactCombo_currentIndexChanged(int index);
80 void on_AccountTypeCombo_currentIndexChanged(int index);
81 void on_AccountNameEdit_editingFinished();
82 void on_AccountDescriptionEdit_editingFinished();
83 void on_CountryEdit_editingFinished();
84 void on_CityEdit_editingFinished();
85 void on_PostalCodeEdit_editingFinished();
86 void on_StreetEdit_editingFinished();
87
88 void on_LoadPicture_triggered(QAction *action);
89 void on_RemovePicture_triggered(QAction *action);
90
91private:
92 I_REF(iqtgui::IGuiObject, m_accountPictureGuiCompPtr);
93 I_REF(imod::IObserver, m_accountPictureObserverCompPtr);
94 I_REF(iqtgui::IGuiObject, m_personContactEditorCompPtr);
95 I_REF(imod::IObserver, m_personContactEditorObserverCompPtr);
96 I_REF(iqtgui::IGuiObject, m_companyContactEditorCompPtr);
97 I_REF(imod::IObserver, m_companyContactEditorObserverCompPtr);
98 I_REF(ifile::IFilePersistence, m_bitmapLoaderCompPtr);
99
100 QAction m_loadAccountPictureAction;
101 QAction m_removeAccountPictureAction;
102
103 imod::CModelProxy m_accountPictureModelProxy;
104 imod::TModelWrap<iimg::CBitmap> m_emptyAccountPicture;
105
106 bool m_blockComboChanged;
107
109};
110
111
112} // namespace imtauthgui
113
114
Authentication UI Components Module.