#ifndef AMMTASKSWIDGET_H #define AMMTASKSWIDGET_H #include #include #include #include "module.h" #include "connectortoserver.h" namespace Ui { class AMMtasksWidget; } class AMMtasksWidget : public QWidget { Q_OBJECT private: enum ColumnsTree{ clmn_PMorDM = 0, clmn_ID }; public: explicit AMMtasksWidget(ConnectorToServer* connectorToServer, QWidget *parent = nullptr); ~AMMtasksWidget(); public: void clearTree() { treeWidget->clear(); } private Q_SLOTS: void on_treeWidget_currentItemChanged(QTreeWidgetItem *current, QTreeWidgetItem *previous); void on_btnUpdateTasks_clicked(); void on_btnAssignTaskToTrainee_clicked(); public Q_SLOTS: //Слот обработки сигнала необходимости обновления интерфейса void slot_NeedUpdateUI(); //слот обработки сигнала о выборе обучаемого void slot_traineeSelected(QString login); private: void loadAMMtasksFromXML(QByteArray array); void domElementParser(QDomElement element, Module* moduleParent); void deleteAllModuls(); Module* searchModuleByID(int id); void preparationTreeWidget(); void reSetHeadTreeWidget(); void fillTree(); void addModuleToTreeWidget(Module* module, QTreeWidgetItem* parentItem = nullptr); void loadTasksAMM(); private: Ui::AMMtasksWidget *ui; ConnectorToServer* connectorToServer; QTreeWidget* treeWidget; private: QList listAllModules; QString loginTraineeSelected; }; #endif // AMMTASKSWIDGET_H