From 73f3071be5491230fb68855b19e4e500a543c207 Mon Sep 17 00:00:00 2001 From: "E. Kozlovskaya" Date: Tue, 5 Jan 2021 22:13:46 +0700 Subject: [PATCH] Add docs for Administration Panel and some silent updates --- iFacility/administrationpanel.cpp | 4 -- iFacility/administrationpanel.h | 83 ++++++++++++++++++++++++++++++- iFacility/administrationpanel.ui | 2 +- iFacilityProject.pro.user | 4 +- 4 files changed, 84 insertions(+), 9 deletions(-) diff --git a/iFacility/administrationpanel.cpp b/iFacility/administrationpanel.cpp index b2c15e6..7c4abef 100644 --- a/iFacility/administrationpanel.cpp +++ b/iFacility/administrationpanel.cpp @@ -51,10 +51,6 @@ void AdministrationPanel::resizeEvent(QResizeEvent *event) { QMainWindow::resizeEvent(event); } -void AdministrationPanel::doLogout() { - close(); -} - void AdministrationPanel::addAdministration() { QStringList items = { "Administrator", diff --git a/iFacility/administrationpanel.h b/iFacility/administrationpanel.h index fdcbad5..34110c3 100644 --- a/iFacility/administrationpanel.h +++ b/iFacility/administrationpanel.h @@ -13,45 +13,124 @@ #include "viewmodels/workersviewmodel.h" #include "viewmodels/professionsviewmodel.h" +/** + * @brief В данной неймспейсе QTFramework хранит MOC-объект, позволяющий работать с интерфейсом + * + */ namespace Ui { class AdministrationPanel; } +/** + * @brief Класс интерфейса панели администрации + * + */ class AdministrationPanel : public QMainWindow { private: Q_OBJECT + //! Статический объект разметки интерфейса Ui::AdministrationPanel *ui; + //! ViewModel для отображения администрации системы AdministrationViewModel *avm; + //! ViewModel для отображения рабочих системы WorkersViewModel *wvm; + //! ViewModel для отображения префессий системы ProfessionsViewModel *pvm; + //! Объект пользователя администрации User *mUser; public: + /** + * @brief Стандартный конструктор объекта интерфейса + * + * @param parent [ignored] + */ explicit AdministrationPanel(QWidget *parent = nullptr); + /** + * @brief Стандартный деструктор объекта интерфейса + * + */ ~AdministrationPanel(); + /** + * @brief Устанавливает пользователя, который в данный момент работает с панелью + * + * @param user указатель на объект пользователя + */ void setUser(User *user); signals: + /** + * @brief Сигнал, сообщающий о необходимости перерисовки таблиц + * + */ void invalidateTables(); public slots: + /** + * @brief Переопределение реакции на событие изменения размера. + * Устанавливает ширину заголовков таблиц. + * + * @param event [ignored] + */ void resizeEvent(QResizeEvent *event); - void doLogout(); - + /** + * @brief Слот для события создания пользователя администрации + * + */ void addAdministration(); + /** + * @brief Слот для события создания пользователя рабочего + * + */ void addWorker(); + /** + * @brief Слот для события создания профессии + * + */ void addProfession(); + /** + * @brief Слот для события редактирования пользователя администрации + * + */ void editAdministration(); + /** + * @brief Слот для события редактирования пользователя рабочего + * + */ void editWorker(); + /** + * @brief Общий слот для события редактирования пользователяпо его уникальному идентификатору + * + */ void editUser(UID uid); + /** + * @brief Слот для события редактирования профессии + * + */ void editProfession(); + /** + * @brief Слот для события удаления пользователя администрации + * + */ void removeAdministration(); + /** + * @brief Слот для события удаления пользователя рабочего + * + */ void removeWorker(); + /** + * @brief Слот для события удаления профессии + * + */ void removeProfession(); + /** + * @brief Слот для события запроса пеерисовки таблицы + * + */ void onTablesInvalidation(); }; diff --git a/iFacility/administrationpanel.ui b/iFacility/administrationpanel.ui index 54acd8c..5c21593 100644 --- a/iFacility/administrationpanel.ui +++ b/iFacility/administrationpanel.ui @@ -272,7 +272,7 @@ btnLogout clicked() AdministrationPanel - doLogout() + close() 137 diff --git a/iFacilityProject.pro.user b/iFacilityProject.pro.user index 9d4ce91..5269724 100644 --- a/iFacilityProject.pro.user +++ b/iFacilityProject.pro.user @@ -1,6 +1,6 @@ - + EnvironmentId @@ -169,7 +169,7 @@ true QtProjectManager.QMakeBuildStep - true + false