ICF 3.1.1.10
Technical documentation of ICF Libraries
CUserControllerGuiComp.h
Go to the documentation of this file.
1/********************************************************************************
2** This file is part of the ICF Framework. Copyright (C) Witold Gantzke & Kirill Lepskiy
3** ICF Framework may be used under the terms of the LGPL License v. 2.1 by the Free Software Foundation.
4********************************************************************************/
5
6#pragma once
7
8
9// ICF includes
15#include <iauth/ILogin.h>
16#include <iauth/IUsersManager.h>
18
19#include <GeneratedFiles/iauthgui/ui_CUserControllerGuiComp.h>
20
21
22namespace iauthgui
23{
24
25
27 public ilog::TLoggerCompWrap<istdgui::TDesignerGuiObserverCompBase<Ui::CUserControllerGuiComp, iauth::IUsersManager>>,
29 virtual public iauth::IPasswordChanger
30{
31 Q_OBJECT
32
33public:
35
36 I_BEGIN_COMPONENT(CUserControllerGuiComp);
37 I_REGISTER_INTERFACE(iauth::IPasswordChanger);
38 I_ASSIGN(m_rightsProviderCompPtr, "RightsProvider", "RightsProvider", false, "RightsProvider");
39 I_ASSIGN_TO(m_rightsProviderModelCompPtr, m_rightsProviderCompPtr, true);
40 I_ASSIGN_TO(m_userLoginCompPtr, m_rightsProviderCompPtr, true);
41 I_ASSIGN(m_userDataLoaderCompPtr, "UserDataLoader", "Loader of user data for import function", false, "UserDataLoader");
42 I_ASSIGN(m_userDataStorerCompPtr, "UserDataStorer", "Storer of user data for export function", false, "UserDataStorer");
43 I_ASSIGN(m_usersManagerRightIdAttrPtr, "UsersManagerRightId", "Right ID for user manager", false, "UsersManager");
44 I_ASSIGN(m_changePasswordRightIdAttrPtr, "ChangePasswordRightsId", "Right ID for changing password", false, "ChangePassword");
45 I_ASSIGN(m_importUsersRightIdAttrPtr, "ImportUsersRightsId", "Right ID importing all users", true, "ImportUsers");
46 I_ASSIGN(m_exportUsersRightIdAttrPtr, "ExportUsersRightsId", "Right ID exporting all users", true, "ExportUsers");
47 I_END_COMPONENT;
48
50
51 // reimplemented (iauth::IPasswordChanger)
52 bool TryChangePassword(iauth::CUser& user) const override;
53
54protected:
57
58 // reimplemented (istdgui::CGuiComponentBase)
59 void OnGuiCreated() override;
60 void OnGuiDestroyed() override;
61 void OnGuiShown() override;
62
63 // reimplemented (imod::CMultiModelDispatcherBase)
64 void OnModelChanged(int modelId, const istd::IChangeable::ChangeSet& changeSet) override;
65
66protected Q_SLOTS:
71
72private:
73 I_REF(iauth::IRightsProvider, m_rightsProviderCompPtr);
74 I_REF(imod::IModel, m_rightsProviderModelCompPtr);
75 I_REF(iauth::ILogin, m_userLoginCompPtr);
76 I_REF(ifile::IFilePersistence, m_userDataLoaderCompPtr);
77 I_REF(ifile::IFilePersistence, m_userDataStorerCompPtr);
78
79 I_ATTR(QByteArray, m_usersManagerRightIdAttrPtr);
80 I_ATTR(QByteArray, m_changePasswordRightIdAttrPtr);
81 I_ATTR(QByteArray, m_importUsersRightIdAttrPtr);
82 I_ATTR(QByteArray, m_exportUsersRightIdAttrPtr);
83
84 mutable class CUserManagerDialog* m_userManagerDialogPtr;
85 mutable class CChangePasswordDialog* m_passwordDialogPtr;
86};
87
88
89} // namespace iauthgui
90
91
void OnGuiDestroyed() override
Called just before GUI is released.
virtual void on_ExportButton_clicked()
void OnGuiCreated() override
Called just after GUI is initialized.
virtual void on_ChangePasswordButton_clicked()
bool TryChangePassword(iauth::CUser &user) const override
Try change user password.
void OnModelChanged(int modelId, const istd::IChangeable::ChangeSet &changeSet) override
Called when some model observed by dispatcher will be changed.
virtual void on_ImportButton_clicked()
ilog::TLoggerCompWrap< istdgui::TDesignerGuiObserverCompBase< Ui::CUserControllerGuiComp, iauth::IUsersManager > > BaseClass
void OnGuiShown() override
Called from widget event filter when slave widget is shown.
virtual void on_UserManagerButton_clicked()
Interface providing loading and saving of data objects.
Wrapper provider of log-functionality for component based implementations.
Generic implementation of a data model changes notifier.
Common interface for model objects, that supports Model/Observer design pattern.
Definition IModel.h:29
Set of change flags (its IDs).
Definition IChangeable.h:38
Contains implementations of GUI components related to right management.

© Witold Gantzke and Kirill Lepskiy