Files
RRJServer/LibInstructorsAndTrainees/tasks/ammtaskswidget.h
2025-12-05 12:20:47 +03:00

114 lines
2.9 KiB
C++
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#ifndef AMMTASKSWIDGET_H
#define AMMTASKSWIDGET_H
#include <QWidget>
#include <QTreeWidget>
#include <QDomNode>
#include "module.h"
#include "connectortoserver.h"
#include "tasktreepreparation.h"
#include "dialogchekertask.h"
#include "dialoglistsubproc.h"
#include "waitanimationwidget.h"
#include "specialmessagebox.h"
namespace Ui {
class AMMtasksWidget;
}
class AMMtasksWidget : public QWidget
{
Q_OBJECT
public:
explicit AMMtasksWidget(ConnectorToServer* connectorToServer, TypeListTreeAMMFIM type, QWidget *parent = nullptr);
~AMMtasksWidget();
public:
void deactivate();
void waitAnimationWidgetShowWithPlay();
void setDocsActualed(bool flActualed);
public:
void resizeEvent(QResizeEvent *event) override;
void closeEvent(QCloseEvent *event) override;
void closeChildDlg();
protected:
void changeEvent(QEvent * event) override;
private Q_SLOTS:
void on_treeWidgetItemClicked(QTreeWidgetItem *item, int column);
void on_btnDelete_clicked();
void on_btnCheck_clicked();
void on_btnAssignTask_clicked();
void on_btnOnlyActive_clicked(); //AMM
void on_treeWidgetDoubleClicked(QTreeWidgetItem *item, int column);
void on_btnDocsUpdating_clicked();
public Q_SLOTS:
//Слот обработки сигнала необходимости обновления интерфейса
void slot_NeedUpdateUI();
//слот обработки сигнала о выборе обучаемого
void slot_traineeSelected(int id_trainee);
void slot_UpdateTasksAMMforTrainee(int trainee_id);
private:
void preparationTreeWidget();
void reSetHeadTreeWidget();
void setWidthColumnsTree();
int calculateWidth_0Column();
void loadTasksAMM(bool flRequestFirst = true);
void assignTaskAMMtoTrainee();
bool selectSubProcForAssignTaskAMM(TaskAmmFim taskNew, QList<SubProc>* listSubProc);
void setCurrentTask(int id);
Q_SIGNALS:
void signal_prepareAMMListItems(QByteArray array, bool flOnlyActive, bool flRequestFirst);
void signal_prepareAMMListItemsForTrainee(QList<TaskAmmFim> listTask);
void signal_stopParserPreparation();
void signal_countTasksAMMforTraineeChanged(int trainee_id, int count);
public Q_SLOTS:
void slot_AMMlistItemsReady(QList<QTreeWidgetItem*> listItems);
public slots:
void slot_UpdateSubProcForDMCode(QString dmCode);
private:
Ui::AMMtasksWidget *ui;
ConnectorToServer* connectorToServer;
QTreeWidget* treeWidget;
TypeListTreeAMMFIM type;
QList<int> listWidthColumn;
int idTraineeSelected;
QThread* threadPreparation;
TaskAMMFIMTreePreparation* taskTreePreparation;
WaitAnimationWidget *waitAnimationWidget;
DialogChekerTask* dlgCheckerTask;
DialogListSubProc* dlgListSubProc;
bool flOnlyActive; //AMM
int lastCurrentID;
TaskAmmFim lastSelectedTask;
};
#endif // AMMTASKSWIDGET_H