#ifndef AMMTASKSWIDGET_H #define AMMTASKSWIDGET_H #include #include #include #include "module.h" #include "connectortoserver.h" #include "taskTreePreparation.h" namespace Ui { class AMMtasksWidget; } class AMMtasksWidget : public QWidget { Q_OBJECT public: enum TypeList { listCommon = 0, listForTrainee }; public: explicit AMMtasksWidget(ConnectorToServer* connectorToServer, TypeList type, QWidget *parent = nullptr); ~AMMtasksWidget(); public: void deactivate() { accessAssignTask = false; //taskTreePreparation->stopParser(); treeWidget->clear(); loginTraineeSelected = ""; idTraineeSelected = 0; } bool getAccessAssignTask(){return accessAssignTask;} public: void resizeEvent(QResizeEvent *event) override; protected: void changeEvent(QEvent * event) override; private Q_SLOTS: void on_treeWidget_currentItemChanged(QTreeWidgetItem *current, QTreeWidgetItem *previous); void on_btnUpdateTasks_clicked(); void on_btnDelete_clicked(); void on_btnOnlyActive_clicked(); public Q_SLOTS: void slot_AssignTaskAMMtoTrainee(); public Q_SLOTS: //Слот обработки сигнала необходимости обновления интерфейса void slot_NeedUpdateUI(); //слот обработки сигнала о выборе обучаемого void slot_traineeSelected(QString login); void slot_UpdateTasksAMMforTrainee(int trainee_id); Q_SIGNALS: void signal_currentItemChanged(); private: Module* searchModuleByID(int id); void preparationTreeWidget(); void reSetHeadTreeWidget(); void loadTasksAMM(bool flRequestFromDB = true); Q_SIGNALS: void signal_prepareListItems(QByteArray array, QList* listAllModules, bool flOnlyActive); void signal_prepareListItemsForTrainee(QList listTask, QList* listAllModules); public Q_SLOTS: void slot_listItemsReady(QList listItems); private: Ui::AMMtasksWidget *ui; ConnectorToServer* connectorToServer; QTreeWidget* treeWidget; TypeList type; private: QList listAllModules; QString loginTraineeSelected; int idTraineeSelected; QThread* threadPreparation; QThread* threadAnimation; TaskTreePreparation* taskTreePreparation; WaitAnimationWidget *waitAnimationWidget; bool accessAssignTask; bool flOnlyActive; QByteArray arrayAMM; }; #endif // AMMTASKSWIDGET_H