#ifndef FIMTASKSWIDGET_H #define FIMTASKSWIDGET_H #include #include #include "tasksAmmFim.h" #include "connectortoserver.h" namespace Ui { class FIMtasksWidget; } class FIMtasksWidget : public QWidget { Q_OBJECT public: enum TypeList { listCommon = 0, listForTrainee }; private: enum ColumnsTree{ clmn_Title = 0, clmn_ID, clmn_count }; public: explicit FIMtasksWidget(ConnectorToServer* connectorToServer, TypeList type, QWidget *parent = nullptr); ~FIMtasksWidget(); public: void clearTree() { treeWidget->clear(); loginTraineeSelected = ""; idTraineeSelected = 0; } public: void resizeEvent(QResizeEvent *event) override; 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); void slot_UpdateTasksFIMforTrainee(int trainee_id); private: TaskAmmFim* getTaskByID(int id); void loadFIMtasksFromXML(QByteArray array); void fillTree(); void prepareListTasksForTrainee(QList listTask); void preparationTreeWidget(); void reSetHeadTreeWidget(); void loadTasksFIM(); void deleteAllTaskAmmFim(); void updateTaskItem(QTreeWidgetItem *itemTask); private: Ui::FIMtasksWidget *ui; ConnectorToServer* connectorToServer; QTreeWidget* treeWidget; TypeList type; private: QString userName; QList listTaskAmmFim; QString loginTraineeSelected; int idTraineeSelected; QThread* threadAnimation; WaitAnimationWidget *waitAnimationWidget; }; #endif // FIMTASKSWIDGET_H