Add docs for Administration Panel and some silent updates

This commit is contained in:
E. Kozlovskaya 2021-01-05 22:13:46 +07:00
parent 2ee7eeecae
commit 73f3071be5
4 changed files with 84 additions and 9 deletions

View file

@ -51,10 +51,6 @@ void AdministrationPanel::resizeEvent(QResizeEvent *event) {
QMainWindow::resizeEvent(event); QMainWindow::resizeEvent(event);
} }
void AdministrationPanel::doLogout() {
close();
}
void AdministrationPanel::addAdministration() { void AdministrationPanel::addAdministration() {
QStringList items = { QStringList items = {
"Administrator", "Administrator",

View file

@ -13,45 +13,124 @@
#include "viewmodels/workersviewmodel.h" #include "viewmodels/workersviewmodel.h"
#include "viewmodels/professionsviewmodel.h" #include "viewmodels/professionsviewmodel.h"
/**
* @brief В данной неймспейсе QTFramework хранит MOC-объект, позволяющий работать с интерфейсом
*
*/
namespace Ui { class AdministrationPanel; } namespace Ui { class AdministrationPanel; }
/**
* @brief Класс интерфейса панели администрации
*
*/
class AdministrationPanel : public QMainWindow { class AdministrationPanel : public QMainWindow {
private: private:
Q_OBJECT Q_OBJECT
//! Статический объект разметки интерфейса
Ui::AdministrationPanel *ui; Ui::AdministrationPanel *ui;
//! ViewModel для отображения администрации системы
AdministrationViewModel *avm; AdministrationViewModel *avm;
//! ViewModel для отображения рабочих системы
WorkersViewModel *wvm; WorkersViewModel *wvm;
//! ViewModel для отображения префессий системы
ProfessionsViewModel *pvm; ProfessionsViewModel *pvm;
//! Объект пользователя администрации
User *mUser; User *mUser;
public: public:
/**
* @brief Стандартный конструктор объекта интерфейса
*
* @param parent [ignored]
*/
explicit AdministrationPanel(QWidget *parent = nullptr); explicit AdministrationPanel(QWidget *parent = nullptr);
/**
* @brief Стандартный деструктор объекта интерфейса
*
*/
~AdministrationPanel(); ~AdministrationPanel();
/**
* @brief Устанавливает пользователя, который в данный момент работает с панелью
*
* @param user указатель на объект пользователя
*/
void setUser(User *user); void setUser(User *user);
signals: signals:
/**
* @brief Сигнал, сообщающий о необходимости перерисовки таблиц
*
*/
void invalidateTables(); void invalidateTables();
public slots: public slots:
/**
* @brief Переопределение реакции на событие изменения размера.
* Устанавливает ширину заголовков таблиц.
*
* @param event [ignored]
*/
void resizeEvent(QResizeEvent *event); void resizeEvent(QResizeEvent *event);
void doLogout(); /**
* @brief Слот для события создания пользователя администрации
*
*/
void addAdministration(); void addAdministration();
/**
* @brief Слот для события создания пользователя рабочего
*
*/
void addWorker(); void addWorker();
/**
* @brief Слот для события создания профессии
*
*/
void addProfession(); void addProfession();
/**
* @brief Слот для события редактирования пользователя администрации
*
*/
void editAdministration(); void editAdministration();
/**
* @brief Слот для события редактирования пользователя рабочего
*
*/
void editWorker(); void editWorker();
/**
* @brief Общий слот для события редактирования пользователяпо его уникальному идентификатору
*
*/
void editUser(UID uid); void editUser(UID uid);
/**
* @brief Слот для события редактирования профессии
*
*/
void editProfession(); void editProfession();
/**
* @brief Слот для события удаления пользователя администрации
*
*/
void removeAdministration(); void removeAdministration();
/**
* @brief Слот для события удаления пользователя рабочего
*
*/
void removeWorker(); void removeWorker();
/**
* @brief Слот для события удаления профессии
*
*/
void removeProfession(); void removeProfession();
/**
* @brief Слот для события запроса пеерисовки таблицы
*
*/
void onTablesInvalidation(); void onTablesInvalidation();
}; };

View file

@ -272,7 +272,7 @@
<sender>btnLogout</sender> <sender>btnLogout</sender>
<signal>clicked()</signal> <signal>clicked()</signal>
<receiver>AdministrationPanel</receiver> <receiver>AdministrationPanel</receiver>
<slot>doLogout()</slot> <slot>close()</slot>
<hints> <hints>
<hint type="sourcelabel"> <hint type="sourcelabel">
<x>137</x> <x>137</x>

View file

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorProject> <!DOCTYPE QtCreatorProject>
<!-- Written by QtCreator 4.13.3, 2021-01-05T16:44:40. --> <!-- Written by QtCreator 4.13.3, 2021-01-05T22:10:39. -->
<qtcreator> <qtcreator>
<data> <data>
<variable>EnvironmentId</variable> <variable>EnvironmentId</variable>
@ -169,7 +169,7 @@
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value> <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value> <value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">true</value> <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
<valuelist type="QVariantList" key="QtProjectManager.QMakeBuildStep.SelectedAbis"/> <valuelist type="QVariantList" key="QtProjectManager.QMakeBuildStep.SelectedAbis"/>
</valuemap> </valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1"> <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">