mirror of
https://gitea.msk.dinamika-avia.ru/Constanta-Design/RRJServer.git
synced 2026-03-27 19:45:43 +03:00
Вынес подготовку дерева FIM в отдельный поток
This commit is contained in:
@@ -63,8 +63,8 @@ InstructorsAndTraineesWidget::InstructorsAndTraineesWidget(QWidget *parent) :
|
||||
|
||||
connect(connectorToServer,&ConnectorToServer::signal_ConnectedToServer,this,&InstructorsAndTraineesWidget::slot_ConnectedToServer);
|
||||
|
||||
ammTasksWidget = new AMMtasksWidget(connectorToServer, AMMtasksWidget::TypeList::listCommon, this);
|
||||
fimTasksWidget = new FIMtasksWidget(connectorToServer, FIMtasksWidget::TypeList::listCommon, this);
|
||||
ammTasksWidget = new AMMtasksWidget(connectorToServer, TypeListTreeAMMFIM::listCommon, this);
|
||||
fimTasksWidget = new FIMtasksWidget(connectorToServer, TypeListTreeAMMFIM::listCommon, this);
|
||||
|
||||
connect(connectorToServer, &ConnectorToServer::signal_UpdateTasksFIM, fimTasksWidget, &FIMtasksWidget::slot_NeedUpdateUI);
|
||||
connect(connectorToServer, &ConnectorToServer::signal_UpdateTasksAMM, ammTasksWidget, &AMMtasksWidget::slot_NeedUpdateUI);
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
#include "ammtaskswidget.h"
|
||||
#include "ui_ammtaskswidget.h"
|
||||
|
||||
AMMtasksWidget::AMMtasksWidget(ConnectorToServer* connectorToServer, TypeList type, QWidget *parent) :
|
||||
AMMtasksWidget::AMMtasksWidget(ConnectorToServer* connectorToServer, TypeListTreeAMMFIM type, QWidget *parent) :
|
||||
QWidget(parent),
|
||||
ui(new Ui::AMMtasksWidget),
|
||||
connectorToServer(connectorToServer),
|
||||
@@ -32,13 +32,13 @@ AMMtasksWidget::AMMtasksWidget(ConnectorToServer* connectorToServer, TypeList ty
|
||||
preparationTreeWidget();
|
||||
|
||||
threadPreparation = new QThread();
|
||||
taskTreePreparation = new TaskTreePreparation();
|
||||
taskTreePreparation = new TaskAMMFIMTreePreparation(type);
|
||||
taskTreePreparation->moveToThread(threadPreparation);
|
||||
threadPreparation->start();
|
||||
threadPreparation->setPriority(QThread::HighestPriority);
|
||||
connect(this, &AMMtasksWidget::signal_prepareAMMListItems, taskTreePreparation, &TaskTreePreparation::slot_prepareAMMListItems);
|
||||
connect(this, &AMMtasksWidget::signal_prepareAMMListItemsForTrainee, taskTreePreparation, &TaskTreePreparation::slot_prepareAMMListItemsForTrainee);
|
||||
connect(taskTreePreparation, &TaskTreePreparation::signal_listAMMItemsReady, this, &AMMtasksWidget::slot_AMMlistItemsReady);
|
||||
connect(this, &AMMtasksWidget::signal_prepareAMMListItems, taskTreePreparation, &TaskAMMFIMTreePreparation::slot_prepareAMMListItems);
|
||||
connect(this, &AMMtasksWidget::signal_prepareAMMListItemsForTrainee, taskTreePreparation, &TaskAMMFIMTreePreparation::slot_prepareAMMListItemsForTrainee);
|
||||
connect(taskTreePreparation, &TaskAMMFIMTreePreparation::signal_listAMMItemsReady, this, &AMMtasksWidget::slot_AMMlistItemsReady);
|
||||
|
||||
waitAnimationWidget = new WaitAnimationWidget;
|
||||
QMovie *movie = new QMovie(":/resources/icons/762.gif");
|
||||
@@ -54,7 +54,7 @@ AMMtasksWidget::AMMtasksWidget(ConnectorToServer* connectorToServer, TypeList ty
|
||||
ui->btnAssignTask->setObjectName("btnAssignTask");
|
||||
ui->btnAssignTask->setEnabled(false);
|
||||
|
||||
if(type == TypeList::listCommon)
|
||||
if(type == TypeListTreeAMMFIM::listCommon)
|
||||
{
|
||||
ui->horizontalLayout_3->addWidget(ui->btnAssignTask);
|
||||
ui->horizontalLayout_3->addWidget(ui->btnOnlyActive);
|
||||
@@ -85,9 +85,9 @@ AMMtasksWidget::~AMMtasksWidget()
|
||||
|
||||
delete threadPreparation;
|
||||
|
||||
delete taskTreePreparation;
|
||||
delete taskTreePreparation;
|
||||
delete waitAnimationWidget;
|
||||
delete treeWidget;
|
||||
delete treeWidget;
|
||||
|
||||
delete ui;
|
||||
}
|
||||
@@ -113,7 +113,7 @@ void AMMtasksWidget::resizeEvent(QResizeEvent *event)
|
||||
treeWidget->setColumnWidth(ColumnsTreeAMM::clmnAMM_status, 110);
|
||||
|
||||
int widthPMorDM;
|
||||
if(type == TypeList::listCommon)
|
||||
if(type == TypeListTreeAMMFIM::listCommon)
|
||||
widthPMorDM = width - (250 + 10);
|
||||
else
|
||||
widthPMorDM = width - (410 + 10);
|
||||
@@ -130,11 +130,11 @@ void AMMtasksWidget::changeEvent(QEvent *event)
|
||||
|
||||
reSetHeadTreeWidget();
|
||||
|
||||
if(type == TypeList::listCommon)
|
||||
if(type == TypeListTreeAMMFIM::listCommon)
|
||||
{
|
||||
//slot_NeedUpdateUI();
|
||||
}
|
||||
else if(type == TypeList::listForTrainee)
|
||||
else if(type == TypeListTreeAMMFIM::listForTrainee)
|
||||
if(idTraineeSelected)
|
||||
slot_UpdateTasksAMMforTrainee(idTraineeSelected);
|
||||
}
|
||||
@@ -154,7 +154,7 @@ void AMMtasksWidget::on_treeWidget_currentItemChanged(QTreeWidgetItem *current,
|
||||
|
||||
int id = current->text(ColumnsTreeAMM::clmnAMM_ID).toInt();
|
||||
|
||||
Module* module = searchModuleByID(id);
|
||||
Module* module = taskTreePreparation->getModuleAMMbyID(id);
|
||||
|
||||
if(module)
|
||||
{
|
||||
@@ -196,7 +196,7 @@ void AMMtasksWidget::slot_traineeSelected(QString login)
|
||||
loginTraineeSelected = login;
|
||||
idTraineeSelected = connectorToServer->getIdTraineeByLogin(loginTraineeSelected);
|
||||
|
||||
if(type == TypeList::listForTrainee)
|
||||
if(type == TypeListTreeAMMFIM::listForTrainee)
|
||||
{
|
||||
waitAnimationWidget->showWithPlay();
|
||||
connectorToServer->sendQueryToDB(TypeQueryToDB::TYPE_QUERY_GET_TASKS_AMM_FOR_TRAINEE, idTraineeSelected);
|
||||
@@ -206,12 +206,12 @@ void AMMtasksWidget::slot_traineeSelected(QString login)
|
||||
void AMMtasksWidget::slot_UpdateTasksAMMforTrainee(int trainee_id)
|
||||
{
|
||||
qDebug() << "slot_UpdateTasksAMMforTrainee" << QThread::currentThreadId();
|
||||
if(type == TypeList::listForTrainee)
|
||||
if(type == TypeListTreeAMMFIM::listForTrainee)
|
||||
{
|
||||
if(idTraineeSelected == trainee_id)
|
||||
{
|
||||
QList<TaskAmmFim> listTask = connectorToServer->getListTasksAMMforTrainee(trainee_id);
|
||||
signal_prepareAMMListItemsForTrainee(listTask, &listAllModules);
|
||||
signal_prepareAMMListItemsForTrainee(listTask);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -223,10 +223,12 @@ void AMMtasksWidget::loadTasksAMM(bool flRequestFromDB)
|
||||
|
||||
waitAnimationWidget->showWithPlay();
|
||||
|
||||
if(flRequestFromDB)
|
||||
/*QByteArray array*/arrayAMM = connectorToServer->getListTaskAmmArray();
|
||||
QByteArray arrayAMM;
|
||||
|
||||
emit signal_prepareAMMListItems(/*array*/arrayAMM, &listAllModules, flOnlyActive);
|
||||
if(flRequestFromDB)
|
||||
arrayAMM = connectorToServer->getListTaskAmmArray();
|
||||
|
||||
emit signal_prepareAMMListItems(arrayAMM, flOnlyActive);
|
||||
}
|
||||
|
||||
void AMMtasksWidget::slot_AMMlistItemsReady(QList<QTreeWidgetItem *> listItems)
|
||||
@@ -246,27 +248,13 @@ void AMMtasksWidget::slot_AMMlistItemsReady(QList<QTreeWidgetItem *> listItems)
|
||||
ui->btnOnlyActive->setEnabled(true);
|
||||
}
|
||||
|
||||
Module *AMMtasksWidget::searchModuleByID(int id)
|
||||
{
|
||||
Module* ptrModule = nullptr;
|
||||
|
||||
for(Module* module: listAllModules)
|
||||
{
|
||||
ptrModule = module->getModuleByID(id);
|
||||
if(ptrModule)
|
||||
return ptrModule;
|
||||
}
|
||||
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
void AMMtasksWidget::preparationTreeWidget()
|
||||
{
|
||||
treeWidget->setColumnCount(clmnAMM_count);
|
||||
|
||||
reSetHeadTreeWidget();
|
||||
|
||||
if(type == TypeList::listCommon)
|
||||
if(type == TypeListTreeAMMFIM::listCommon)
|
||||
{
|
||||
treeWidget->setColumnHidden(ColumnsTreeAMM::clmnAMM_ID, true);
|
||||
treeWidget->setColumnHidden(ColumnsTreeAMM::clmnAMM_status, true);
|
||||
@@ -277,7 +265,7 @@ void AMMtasksWidget::reSetHeadTreeWidget()
|
||||
{
|
||||
QStringList listHeaders;
|
||||
|
||||
if(type == TypeList::listForTrainee)
|
||||
if(type == TypeListTreeAMMFIM::listForTrainee)
|
||||
listHeaders = QStringList{tr("Task AMM"), tr("DM code"), tr("ID"), tr("Status")};
|
||||
else
|
||||
listHeaders = QStringList{tr("PM/DM"), tr("Code"), tr("ID"), tr("Status")};
|
||||
@@ -286,11 +274,6 @@ void AMMtasksWidget::reSetHeadTreeWidget()
|
||||
treeWidget->setHeaderLabels(listHeaders);
|
||||
}
|
||||
|
||||
void AMMtasksWidget::on_btnUpdateTasks_clicked()
|
||||
{
|
||||
connectorToServer->sendQueryTasksXML("amm");
|
||||
}
|
||||
|
||||
void AMMtasksWidget::assignTaskAMMtoTrainee()
|
||||
{
|
||||
QTreeWidgetItem *current = treeWidget->currentItem();
|
||||
@@ -300,7 +283,7 @@ void AMMtasksWidget::assignTaskAMMtoTrainee()
|
||||
|
||||
int id = current->text(ColumnsTreeAMM::clmnAMM_ID).toInt();
|
||||
|
||||
Module* module = searchModuleByID(id);
|
||||
Module* module = taskTreePreparation->getModuleAMMbyID(id);
|
||||
|
||||
if(module)
|
||||
{
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
#include <QDomNode>
|
||||
#include "module.h"
|
||||
#include "connectortoserver.h"
|
||||
#include "taskTreePreparation.h"
|
||||
#include "tasktreepreparation.h"
|
||||
|
||||
namespace Ui {
|
||||
class AMMtasksWidget;
|
||||
@@ -17,15 +17,7 @@ class AMMtasksWidget : public QWidget
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
enum TypeList
|
||||
{
|
||||
listCommon = 0,
|
||||
listForTrainee
|
||||
};
|
||||
|
||||
|
||||
public:
|
||||
explicit AMMtasksWidget(ConnectorToServer* connectorToServer, TypeList type, QWidget *parent = nullptr);
|
||||
explicit AMMtasksWidget(ConnectorToServer* connectorToServer, TypeListTreeAMMFIM type, QWidget *parent = nullptr);
|
||||
~AMMtasksWidget();
|
||||
|
||||
public:
|
||||
@@ -38,7 +30,6 @@ protected:
|
||||
|
||||
private Q_SLOTS:
|
||||
void on_treeWidget_currentItemChanged(QTreeWidgetItem *current, QTreeWidgetItem *previous);
|
||||
void on_btnUpdateTasks_clicked();
|
||||
void on_btnDelete_clicked();
|
||||
void on_btnCheck_clicked();
|
||||
void on_btnAssignTask_clicked();
|
||||
@@ -54,15 +45,14 @@ public Q_SLOTS:
|
||||
void slot_UpdateTasksAMMforTrainee(int trainee_id);
|
||||
|
||||
private:
|
||||
Module* searchModuleByID(int id);
|
||||
void preparationTreeWidget();
|
||||
void reSetHeadTreeWidget();
|
||||
void loadTasksAMM(bool flRequestFromDB = true);
|
||||
void assignTaskAMMtoTrainee();
|
||||
|
||||
Q_SIGNALS:
|
||||
void signal_prepareAMMListItems(QByteArray array, QList<Module*>* listAllModules, bool flOnlyActive);
|
||||
void signal_prepareAMMListItemsForTrainee(QList<TaskAmmFim> listTask, QList<Module*>* listAllModules);
|
||||
void signal_prepareAMMListItems(QByteArray array, bool flOnlyActive);
|
||||
void signal_prepareAMMListItemsForTrainee(QList<TaskAmmFim> listTask);
|
||||
public Q_SLOTS:
|
||||
void slot_AMMlistItemsReady(QList<QTreeWidgetItem*> listItems);
|
||||
|
||||
@@ -70,20 +60,16 @@ private:
|
||||
Ui::AMMtasksWidget *ui;
|
||||
ConnectorToServer* connectorToServer;
|
||||
QTreeWidget* treeWidget;
|
||||
TypeList type;
|
||||
TypeListTreeAMMFIM type;
|
||||
|
||||
private:
|
||||
QList<Module*> listAllModules;
|
||||
QString loginTraineeSelected;
|
||||
int idTraineeSelected;
|
||||
|
||||
QThread* threadPreparation;
|
||||
TaskTreePreparation* taskTreePreparation;
|
||||
TaskAMMFIMTreePreparation* taskTreePreparation;
|
||||
WaitAnimationWidget *waitAnimationWidget;
|
||||
|
||||
bool flOnlyActive; //AMM
|
||||
|
||||
QByteArray arrayAMM; //AMM
|
||||
};
|
||||
|
||||
#endif // AMMTASKSWIDGET_H
|
||||
|
||||
@@ -9,7 +9,7 @@ DialogCheckTask::DialogCheckTask(ConnectorToServer* connectorToServer, QWidget *
|
||||
{
|
||||
ui->setupUi(this);
|
||||
|
||||
fimTasksWidget = new FIMtasksWidget(nullptr, FIMtasksWidget::TypeList::listOneTask, this);
|
||||
fimTasksWidget = new FIMtasksWidget(nullptr, TypeListTreeAMMFIM::listOneTask, this);
|
||||
|
||||
ui->verticalLayout_3->addWidget(fimTasksWidget);
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
#include "tasksAmmFim.h"
|
||||
#include "dialogchecktask.h"
|
||||
|
||||
FIMtasksWidget::FIMtasksWidget(ConnectorToServer* connectorToServer, TypeList type, QWidget *parent) :
|
||||
FIMtasksWidget::FIMtasksWidget(ConnectorToServer* connectorToServer, TypeListTreeAMMFIM type, QWidget *parent) :
|
||||
QWidget(parent),
|
||||
ui(new Ui::FIMtasksWidget),
|
||||
connectorToServer(connectorToServer),
|
||||
@@ -34,13 +34,13 @@ FIMtasksWidget::FIMtasksWidget(ConnectorToServer* connectorToServer, TypeList ty
|
||||
preparationTreeWidget();
|
||||
|
||||
threadPreparation = new QThread();
|
||||
taskTreePreparation = new TaskTreePreparation();
|
||||
taskTreePreparation = new TaskAMMFIMTreePreparation(type);
|
||||
taskTreePreparation->moveToThread(threadPreparation);
|
||||
threadPreparation->start();
|
||||
threadPreparation->setPriority(QThread::HighestPriority);
|
||||
connect(this, &FIMtasksWidget::signal_prepareFIMListItems, taskTreePreparation, &TaskTreePreparation::slot_prepareFIMListItems);
|
||||
connect(this, &FIMtasksWidget::signal_prepareFIMListItemsForTrainee, taskTreePreparation, &TaskTreePreparation::slot_prepareFIMListItemsForTrainee);
|
||||
connect(taskTreePreparation, &TaskTreePreparation::signal_listFIMItemsReady, this, &FIMtasksWidget::slot_FIMlistItemsReady);
|
||||
connect(this, &FIMtasksWidget::signal_prepareFIMListItems, taskTreePreparation, &TaskAMMFIMTreePreparation::slot_prepareFIMListItems);
|
||||
connect(this, &FIMtasksWidget::signal_prepareFIMListItemsForTrainee, taskTreePreparation, &TaskAMMFIMTreePreparation::slot_prepareFIMListItemsForTrainee);
|
||||
connect(taskTreePreparation, &TaskAMMFIMTreePreparation::signal_listFIMItemsReady, this, &FIMtasksWidget::slot_FIMlistItemsReady);
|
||||
|
||||
waitAnimationWidget = new WaitAnimationWidget;
|
||||
QMovie *movie = new QMovie(":/resources/icons/762.gif");
|
||||
@@ -54,7 +54,7 @@ FIMtasksWidget::FIMtasksWidget(ConnectorToServer* connectorToServer, TypeList ty
|
||||
ui->btnAssignTask->setObjectName("btnAssignTask");
|
||||
ui->btnAssignTask->setEnabled(false);
|
||||
|
||||
if(type == TypeList::listCommon)
|
||||
if(type == TypeListTreeAMMFIM::listCommon)
|
||||
{
|
||||
ui->horizontalLayout_3->addWidget(ui->btnAssignTask);
|
||||
ui->horizontalLayout_3->addWidget(ui->btnCheck);
|
||||
@@ -64,7 +64,7 @@ FIMtasksWidget::FIMtasksWidget(ConnectorToServer* connectorToServer, TypeList ty
|
||||
ui->btnDelete->setVisible(false);
|
||||
ui->btnCheck->setVisible(false);
|
||||
}
|
||||
else if(type == TypeList::listOneTask)
|
||||
else if(type == TypeListTreeAMMFIM::listOneTask)
|
||||
{
|
||||
ui->btnDelete->setVisible(false);
|
||||
ui->btnCheck->setVisible(false);
|
||||
@@ -82,8 +82,6 @@ FIMtasksWidget::FIMtasksWidget(ConnectorToServer* connectorToServer, TypeList ty
|
||||
|
||||
FIMtasksWidget::~FIMtasksWidget()
|
||||
{
|
||||
//deleteAllTaskAmmFim(); //TODO
|
||||
|
||||
waitAnimationWidget->hideWithStop();
|
||||
taskTreePreparation->stopParser();
|
||||
|
||||
@@ -92,9 +90,9 @@ FIMtasksWidget::~FIMtasksWidget()
|
||||
|
||||
delete threadPreparation;
|
||||
|
||||
delete taskTreePreparation;
|
||||
delete taskTreePreparation;
|
||||
delete waitAnimationWidget;
|
||||
delete treeWidget;
|
||||
delete treeWidget;
|
||||
|
||||
delete ui;
|
||||
}
|
||||
@@ -109,9 +107,9 @@ void FIMtasksWidget::deactivate()
|
||||
|
||||
void FIMtasksWidget::setOneTaskFim(TaskAmmFim* task)
|
||||
{
|
||||
listTaskAmmFim.append(task);
|
||||
//fillTree();
|
||||
//TODO
|
||||
QList<TaskAmmFim> listTask;
|
||||
listTask.append(*task);
|
||||
emit signal_prepareFIMListItemsForTrainee(listTask);
|
||||
}
|
||||
|
||||
void FIMtasksWidget::resizeEvent(QResizeEvent *event)
|
||||
@@ -125,7 +123,7 @@ void FIMtasksWidget::resizeEvent(QResizeEvent *event)
|
||||
treeWidget->setColumnWidth(ColumnsTreeFIM::clmnFIM_status, 110);
|
||||
|
||||
int widthTitle;
|
||||
if(type == TypeList::listCommon)
|
||||
if(type == TypeListTreeAMMFIM::listCommon)
|
||||
widthTitle = width - (0 + 10);
|
||||
else
|
||||
widthTitle = width - (160 + 10);
|
||||
@@ -142,14 +140,13 @@ void FIMtasksWidget::changeEvent(QEvent *event)
|
||||
|
||||
reSetHeadTreeWidget();
|
||||
|
||||
if(type == TypeList::listCommon)
|
||||
if(type == TypeListTreeAMMFIM::listCommon)
|
||||
{
|
||||
//slot_NeedUpdateUI();
|
||||
}
|
||||
else if(type == TypeList::listForTrainee)
|
||||
else if(type == TypeListTreeAMMFIM::listForTrainee)
|
||||
if(idTraineeSelected)
|
||||
slot_UpdateTasksFIMforTrainee(idTraineeSelected);
|
||||
//fillTree();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -169,7 +166,15 @@ void FIMtasksWidget::on_treeWidget_currentItemChanged(QTreeWidgetItem *current,
|
||||
{//Выбрана задача
|
||||
int id = current->text(ColumnsTreeFIM::clmnFIM_ID).toInt();
|
||||
|
||||
TaskAmmFim* task = getTaskByID(id);
|
||||
TaskAmmFim* task = taskTreePreparation->getTaskFIMbyID(id);
|
||||
|
||||
if(task == nullptr)
|
||||
{
|
||||
ui->btnAssignTask->setEnabled(false);
|
||||
|
||||
ui->btnDelete->setEnabled(false);
|
||||
ui->btnCheck->setEnabled(false);
|
||||
}
|
||||
|
||||
code = task->title;
|
||||
|
||||
@@ -191,114 +196,6 @@ void FIMtasksWidget::on_treeWidget_currentItemChanged(QTreeWidgetItem *current,
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef OLD_FILL
|
||||
void FIMtasksWidget::fillTree()
|
||||
{
|
||||
//Обновление дерева
|
||||
treeWidget->clear();
|
||||
|
||||
for(int i = 0; i < listTaskAmmFim.count(); i++)
|
||||
{/*Задачи*/
|
||||
TaskAmmFim* task = listTaskAmmFim.at(i);
|
||||
|
||||
QTreeWidgetItem* itemTask = new QTreeWidgetItem();
|
||||
|
||||
itemTask->setText(0, task->title);
|
||||
itemTask->setText(1, QString::number(task->id));
|
||||
//itemTask->setFlags(itemTask->flags() | Qt::ItemIsUserCheckable);
|
||||
//itemTask->setCheckState(0, Qt::Checked);
|
||||
|
||||
if(task->status == "completed")
|
||||
{
|
||||
itemTask->setText(2, tr("completed"));
|
||||
itemTask->setIcon(2, QIcon(QStringLiteral(":/resources/icons/circleGreen.png")));
|
||||
}
|
||||
else if(task->status == "failed")
|
||||
{
|
||||
itemTask->setText(2, tr("failed"));
|
||||
itemTask->setIcon(2, QIcon(QStringLiteral(":/resources/icons/circleRed.png")));
|
||||
}
|
||||
else if(task->status == "checkup")
|
||||
{
|
||||
itemTask->setText(2, tr("checkup"));
|
||||
itemTask->setIcon(2, QIcon(QStringLiteral(":/resources/icons/circleYellow.png")));
|
||||
}
|
||||
else
|
||||
{
|
||||
itemTask->setText(2, tr("new"));
|
||||
itemTask->setIcon(2, QIcon(QStringLiteral(":/resources/icons/circleGray.png")));
|
||||
}
|
||||
|
||||
|
||||
itemTask->setIcon(0, QIcon(":/resources/icons/procedure.png"));
|
||||
itemTask->setToolTip(0, task->title);
|
||||
|
||||
treeWidget->addTopLevelItem(itemTask);
|
||||
|
||||
for (int j = 0; j < task->malfunctionList.count(); j++)
|
||||
{/*Неисправности*/
|
||||
Malfunction malfunction = task->malfunctionList.at(j);
|
||||
|
||||
QTreeWidgetItem* itemMalfunction = new QTreeWidgetItem();
|
||||
|
||||
itemMalfunction->setText(0, malfunction.description);
|
||||
if(type == TypeList::listCommon)
|
||||
{
|
||||
itemMalfunction->setFlags(itemMalfunction->flags() | Qt::ItemIsUserCheckable);
|
||||
itemMalfunction->setCheckState(0, Qt::Checked);
|
||||
}
|
||||
|
||||
itemMalfunction->setIcon(0, QIcon(":/resources/icons/malfunction.png"));
|
||||
itemMalfunction->setToolTip(0, malfunction.description);
|
||||
|
||||
itemTask->addChild(itemMalfunction);
|
||||
|
||||
for (int k = 0; k < malfunction.malfunctionSigns.count(); k++)
|
||||
{/*Сигнализация*/
|
||||
MalfunctionSign sign = malfunction.malfunctionSigns.at(k);
|
||||
|
||||
QTreeWidgetItem* itemSign = new QTreeWidgetItem();
|
||||
|
||||
itemSign->setText(0, sign.description);
|
||||
//itemSign->setFlags(itemSign->flags() | Qt::ItemIsUserCheckable);
|
||||
//itemSign->setCheckState(0, Qt::Checked);
|
||||
itemSign->setIcon(0, QIcon(":/resources/icons/sign.png"));
|
||||
itemSign->setToolTip(0, sign.description);
|
||||
|
||||
itemMalfunction->addChild(itemSign);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
QTreeWidgetItem * item = treeWidget->topLevelItem(0);
|
||||
if(item != nullptr)
|
||||
{
|
||||
treeWidget->setCurrentItem(item);
|
||||
|
||||
if(type == TypeList::listOneTask)
|
||||
{
|
||||
treeWidget->expandAll();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
void FIMtasksWidget::prepareListTasksForTrainee(QList<TaskAmmFim> listTask)
|
||||
{
|
||||
deleteAllTaskAmmFim();
|
||||
|
||||
for(TaskAmmFim task : listTask)
|
||||
{
|
||||
TaskAmmFim* newTask = new TaskAmmFim();
|
||||
*newTask = task;
|
||||
|
||||
listTaskAmmFim.append(newTask);
|
||||
}
|
||||
}
|
||||
*/
|
||||
#endif
|
||||
|
||||
|
||||
void FIMtasksWidget::slot_NeedUpdateUI()
|
||||
{
|
||||
qDebug() << "FIMtasksWidget::slot_NeedUpdateUI thread ID " << QThread::currentThreadId();
|
||||
@@ -311,7 +208,7 @@ void FIMtasksWidget::slot_traineeSelected(QString login)
|
||||
loginTraineeSelected = login;
|
||||
idTraineeSelected = connectorToServer->getIdTraineeByLogin(loginTraineeSelected);
|
||||
|
||||
if(type == TypeList::listForTrainee)
|
||||
if(type == TypeListTreeAMMFIM::listForTrainee)
|
||||
{
|
||||
waitAnimationWidget->showWithPlay();
|
||||
connectorToServer->sendQueryToDB(TypeQueryToDB::TYPE_QUERY_GET_TASKS_FIM_FOR_TRAINEE, idTraineeSelected);
|
||||
@@ -321,15 +218,12 @@ void FIMtasksWidget::slot_traineeSelected(QString login)
|
||||
void FIMtasksWidget::slot_UpdateTasksFIMforTrainee(int trainee_id)
|
||||
{
|
||||
qDebug() << "slot_UpdateTasksFIMforTrainee" << QThread::currentThreadId();
|
||||
if(type == TypeList::listForTrainee)
|
||||
if(type == TypeListTreeAMMFIM::listForTrainee)
|
||||
{
|
||||
if(idTraineeSelected == trainee_id)
|
||||
{
|
||||
QList<TaskAmmFim> listTask = connectorToServer->getListTasksFIMforTrainee(trainee_id);
|
||||
emit signal_prepareFIMListItemsForTrainee(listTask, &listTaskAmmFim);
|
||||
//prepareListTasksForTrainee(listTask);
|
||||
//fillTree();
|
||||
//waitAnimationWidget->hideWithStop();
|
||||
emit signal_prepareFIMListItemsForTrainee(listTask);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -343,12 +237,7 @@ void FIMtasksWidget::loadTasksFIM()
|
||||
|
||||
QByteArray arrayFIM = connectorToServer->getListTaskFimArray();
|
||||
|
||||
//loadFIMtasksFromXML(arrayFIM);
|
||||
//собственно обновление дерева
|
||||
//fillTree();
|
||||
//waitAnimationWidget->hideWithStop();
|
||||
|
||||
emit signal_prepareFIMListItems(arrayFIM, &listTaskAmmFim);
|
||||
emit signal_prepareFIMListItems(arrayFIM);
|
||||
}
|
||||
|
||||
void FIMtasksWidget::slot_FIMlistItemsReady(QList<QTreeWidgetItem *> listItems)
|
||||
@@ -361,21 +250,13 @@ void FIMtasksWidget::slot_FIMlistItemsReady(QList<QTreeWidgetItem *> listItems)
|
||||
|
||||
QTreeWidgetItem * item = treeWidget->topLevelItem(0);
|
||||
if(item != nullptr)
|
||||
{
|
||||
treeWidget->setCurrentItem(item);
|
||||
|
||||
waitAnimationWidget->hideWithStop();
|
||||
}
|
||||
|
||||
TaskAmmFim* FIMtasksWidget::getTaskByID(int id)
|
||||
{
|
||||
for(int i = 0; i < listTaskAmmFim.count(); i++)
|
||||
{/*Задачи*/
|
||||
TaskAmmFim* task = listTaskAmmFim.at(i);
|
||||
if(task->id == id)
|
||||
return task;
|
||||
if(type == TypeListTreeAMMFIM::listOneTask)
|
||||
treeWidget->expandAll();
|
||||
}
|
||||
|
||||
return nullptr;
|
||||
waitAnimationWidget->hideWithStop();
|
||||
}
|
||||
|
||||
void FIMtasksWidget::preparationTreeWidget()
|
||||
@@ -384,7 +265,7 @@ void FIMtasksWidget::preparationTreeWidget()
|
||||
|
||||
reSetHeadTreeWidget();
|
||||
|
||||
if(type == TypeList::listCommon || type == TypeList::listOneTask)
|
||||
if(type == TypeListTreeAMMFIM::listCommon || type == TypeListTreeAMMFIM::listOneTask)
|
||||
{
|
||||
treeWidget->setColumnHidden(ColumnsTreeFIM::clmnFIM_ID, true);
|
||||
treeWidget->setColumnHidden(ColumnsTreeFIM::clmnFIM_status, true);
|
||||
@@ -395,7 +276,7 @@ void FIMtasksWidget::reSetHeadTreeWidget()
|
||||
{
|
||||
QStringList listHeaders;
|
||||
|
||||
if(type == TypeList::listForTrainee)
|
||||
if(type == TypeListTreeAMMFIM::listForTrainee)
|
||||
listHeaders = QStringList{tr("Task FIM"), tr("ID"), tr("Status")};
|
||||
else
|
||||
listHeaders = QStringList{tr("Title"), tr("ID"), tr("Status")};
|
||||
@@ -403,11 +284,6 @@ void FIMtasksWidget::reSetHeadTreeWidget()
|
||||
treeWidget->setHeaderLabels(listHeaders);
|
||||
}
|
||||
|
||||
void FIMtasksWidget::on_btnUpdateTasks_clicked()
|
||||
{
|
||||
connectorToServer->sendQueryTasksXML("fim");
|
||||
}
|
||||
|
||||
void FIMtasksWidget::assignTaskFIMtoTrainee()
|
||||
{
|
||||
QTreeWidgetItem *current = treeWidget->currentItem();
|
||||
@@ -417,7 +293,7 @@ void FIMtasksWidget::assignTaskFIMtoTrainee()
|
||||
|
||||
int id = current->text(ColumnsTreeFIM::clmnFIM_ID).toInt();
|
||||
|
||||
TaskAmmFim* task = getTaskByID(id);
|
||||
TaskAmmFim* task = taskTreePreparation->getTaskFIMbyID(id);
|
||||
|
||||
if(task)
|
||||
{
|
||||
@@ -440,7 +316,7 @@ void FIMtasksWidget::assignTaskFIMtoTrainee()
|
||||
|
||||
connectorToServer->sendQueryToDB(TypeQueryToDB::TYPE_QUERY_ASSIGN_TASK_FIM_TO_TRAINEE, trainee_id, &taskNew);
|
||||
|
||||
updateTaskItem(current); //TODO ?
|
||||
updateTaskItem(current);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -476,7 +352,7 @@ void FIMtasksWidget::on_btnCheck_clicked()
|
||||
|
||||
int id = treeItemCurrent->text(ColumnsTreeFIM::clmnFIM_ID).toInt();
|
||||
|
||||
TaskAmmFim* task = getTaskByID(id);
|
||||
TaskAmmFim* task = taskTreePreparation->getTaskFIMbyID(id);
|
||||
|
||||
DialogCheckTask dlg(connectorToServer, this);
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
#include <QTreeWidget>
|
||||
#include "tasksAmmFim.h"
|
||||
#include "connectortoserver.h"
|
||||
#include "taskTreePreparation.h"
|
||||
#include "tasktreepreparation.h"
|
||||
|
||||
namespace Ui {
|
||||
class FIMtasksWidget;
|
||||
@@ -15,19 +15,11 @@ class FIMtasksWidget : public QWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
enum TypeList
|
||||
{
|
||||
listCommon = 0,
|
||||
listForTrainee,
|
||||
listOneTask
|
||||
};
|
||||
|
||||
private:
|
||||
|
||||
|
||||
public:
|
||||
explicit FIMtasksWidget(ConnectorToServer* connectorToServer, TypeList type, QWidget *parent = nullptr);
|
||||
explicit FIMtasksWidget(ConnectorToServer* connectorToServer, TypeListTreeAMMFIM type, QWidget *parent = nullptr);
|
||||
~FIMtasksWidget();
|
||||
|
||||
public:
|
||||
@@ -41,7 +33,6 @@ protected:
|
||||
|
||||
private Q_SLOTS:
|
||||
void on_treeWidget_currentItemChanged(QTreeWidgetItem *current, QTreeWidgetItem *previous);
|
||||
void on_btnUpdateTasks_clicked();
|
||||
void on_btnDelete_clicked();
|
||||
void on_btnCheck_clicked();
|
||||
void on_btnAssignTask_clicked();
|
||||
@@ -55,25 +46,15 @@ public Q_SLOTS:
|
||||
void slot_UpdateTasksFIMforTrainee(int trainee_id);
|
||||
|
||||
private:
|
||||
TaskAmmFim* getTaskByID(int id);
|
||||
void preparationTreeWidget();
|
||||
void reSetHeadTreeWidget();
|
||||
void loadTasksFIM();
|
||||
void assignTaskFIMtoTrainee();
|
||||
|
||||
|
||||
/*
|
||||
void fillTree();
|
||||
void prepareListTasksForTrainee(QList<TaskAmmFim> listTask);
|
||||
*/
|
||||
|
||||
void updateTaskItem(QTreeWidgetItem *itemTask);
|
||||
|
||||
|
||||
|
||||
Q_SIGNALS:
|
||||
void signal_prepareFIMListItems(QByteArray array, QList<TaskAmmFim*>* listTaskAmmFim);
|
||||
void signal_prepareFIMListItemsForTrainee(QList<TaskAmmFim> listTask, QList<TaskAmmFim*>* listTaskAmmFim);
|
||||
void signal_prepareFIMListItems(QByteArray array);
|
||||
void signal_prepareFIMListItemsForTrainee(QList<TaskAmmFim> listTask);
|
||||
public Q_SLOTS:
|
||||
void slot_FIMlistItemsReady(QList<QTreeWidgetItem*> listItems);
|
||||
|
||||
@@ -81,15 +62,13 @@ private:
|
||||
Ui::FIMtasksWidget *ui;
|
||||
ConnectorToServer* connectorToServer;
|
||||
QTreeWidget* treeWidget;
|
||||
TypeList type;
|
||||
TypeListTreeAMMFIM type;
|
||||
|
||||
private:
|
||||
QList<TaskAmmFim*> listTaskAmmFim;
|
||||
QString loginTraineeSelected;
|
||||
int idTraineeSelected;
|
||||
|
||||
QThread* threadPreparation;
|
||||
TaskTreePreparation* taskTreePreparation;
|
||||
TaskAMMFIMTreePreparation* taskTreePreparation;
|
||||
WaitAnimationWidget *waitAnimationWidget;
|
||||
|
||||
QString userName; //FIM
|
||||
|
||||
@@ -3,26 +3,50 @@
|
||||
#include "tasktreepreparation.h"
|
||||
|
||||
|
||||
TaskTreePreparation::TaskTreePreparation(QObject *parent) :
|
||||
TaskAMMFIMTreePreparation::TaskAMMFIMTreePreparation(TypeListTreeAMMFIM type, QObject *parent) :
|
||||
QObject(parent),
|
||||
listAllModulesAMM(nullptr),
|
||||
listTaskAmmFim(nullptr),
|
||||
flagStop(false)
|
||||
flagStop(false),
|
||||
type(type)
|
||||
{
|
||||
qDebug() << "TaskTreePreparation init thread ID " << QThread::currentThreadId();
|
||||
qDebug() << "TaskAMMFIMTreePreparation init thread ID " << QThread::currentThreadId();
|
||||
}
|
||||
|
||||
TaskTreePreparation::~TaskTreePreparation()
|
||||
TaskAMMFIMTreePreparation::~TaskAMMFIMTreePreparation()
|
||||
{
|
||||
deleteAllModulsAMM();
|
||||
deleteAllTaskFIM();
|
||||
}
|
||||
|
||||
void TaskTreePreparation::stopParser()
|
||||
void TaskAMMFIMTreePreparation::stopParser()
|
||||
{
|
||||
flagStop = true;
|
||||
}
|
||||
|
||||
QTreeWidgetItem *TaskTreePreparation::addModuleToTreeWidgetAMM(Module *module, bool flOnlyActive, QTreeWidgetItem *parentItem)
|
||||
TaskAmmFim* TaskAMMFIMTreePreparation::getTaskFIMbyID(int id)
|
||||
{
|
||||
for(int i = 0; i < listTaskFIM.count(); i++)
|
||||
{/*Задачи*/
|
||||
TaskAmmFim* task = listTaskFIM.at(i);
|
||||
if(task->id == id)
|
||||
return task;
|
||||
}
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
Module* TaskAMMFIMTreePreparation::getModuleAMMbyID(int id)
|
||||
{
|
||||
Module* ptrModule = nullptr;
|
||||
|
||||
for(Module* module: listAllModulesAMM)
|
||||
{
|
||||
ptrModule = module->getModuleByID(id);
|
||||
if(ptrModule)
|
||||
return ptrModule;
|
||||
}
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
QTreeWidgetItem *TaskAMMFIMTreePreparation::addModuleToTreeWidgetAMM(Module *module, bool flOnlyActive, QTreeWidgetItem *parentItem)
|
||||
{
|
||||
QTreeWidgetItem* itemModule = nullptr;
|
||||
|
||||
@@ -71,7 +95,7 @@ QTreeWidgetItem *TaskTreePreparation::addModuleToTreeWidgetAMM(Module *module, b
|
||||
return itemModule;
|
||||
}
|
||||
|
||||
void TaskTreePreparation::loadAMMtasksFromXML(QByteArray array)
|
||||
void TaskAMMFIMTreePreparation::loadAMMtasksFromXML(QByteArray array)
|
||||
{
|
||||
deleteAllModulsAMM();
|
||||
|
||||
@@ -86,9 +110,9 @@ void TaskTreePreparation::loadAMMtasksFromXML(QByteArray array)
|
||||
domElementParserAMM(manifestElement, nullptr);
|
||||
}
|
||||
|
||||
void TaskTreePreparation::loadFIMtasksFromXML(QByteArray array)
|
||||
void TaskAMMFIMTreePreparation::loadFIMtasksFromXML(QByteArray array)
|
||||
{
|
||||
deleteAllTaskAmmFim();
|
||||
deleteAllTaskFIM();
|
||||
|
||||
QDomDocument docTasksDOM;
|
||||
|
||||
@@ -104,6 +128,10 @@ void TaskTreePreparation::loadFIMtasksFromXML(QByteArray array)
|
||||
|
||||
do
|
||||
{/*task*/
|
||||
|
||||
if(flagStop)
|
||||
return;
|
||||
|
||||
QString name = taskElement.nodeName();
|
||||
QDomNamedNodeMap nodeMap = taskElement.attributes();
|
||||
|
||||
@@ -159,41 +187,34 @@ void TaskTreePreparation::loadFIMtasksFromXML(QByteArray array)
|
||||
}
|
||||
}while(! (malfunctionElement = malfunctionElement.nextSiblingElement()).isNull());
|
||||
}
|
||||
listTaskAmmFim->append(task);
|
||||
listTaskFIM.append(task);
|
||||
}
|
||||
}while (! (taskElement = taskElement.nextSiblingElement()).isNull());
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
void TaskTreePreparation::deleteAllTaskAmmFim()
|
||||
void TaskAMMFIMTreePreparation::deleteAllTaskFIM()
|
||||
{
|
||||
//if(type == TypeList::listOneTask)
|
||||
//return;
|
||||
|
||||
for(TaskAmmFim* task: *listTaskAmmFim)
|
||||
for(TaskAmmFim* task: listTaskFIM)
|
||||
delete task;
|
||||
|
||||
listTaskAmmFim->clear();
|
||||
listTaskFIM.clear();
|
||||
}
|
||||
|
||||
|
||||
void TaskTreePreparation::deleteAllModulsAMM()
|
||||
void TaskAMMFIMTreePreparation::deleteAllModulsAMM()
|
||||
{
|
||||
if(listAllModulesAMM == nullptr)
|
||||
return;
|
||||
|
||||
for(Module* module: *listAllModulesAMM)
|
||||
for(Module* module: listAllModulesAMM)
|
||||
{
|
||||
if(module->getType() == ModuleType::TYPE_PM)
|
||||
delete static_cast<PM*>(module);
|
||||
else
|
||||
delete static_cast<DM*>(module);
|
||||
}
|
||||
listAllModulesAMM->clear();
|
||||
listAllModulesAMM.clear();
|
||||
}
|
||||
|
||||
void TaskTreePreparation::domElementParserAMM(QDomElement element, Module* moduleParent)
|
||||
void TaskAMMFIMTreePreparation::domElementParserAMM(QDomElement element, Module* moduleParent)
|
||||
{
|
||||
QString name;
|
||||
|
||||
@@ -296,23 +317,20 @@ void TaskTreePreparation::domElementParserAMM(QDomElement element, Module* modul
|
||||
domElementParserAMM(childElement, module);
|
||||
|
||||
if(moduleParent == nullptr)
|
||||
listAllModulesAMM->append(module);
|
||||
listAllModulesAMM.append(module);
|
||||
|
||||
}while (! (childElement = childElement.nextSiblingElement()).isNull());
|
||||
}
|
||||
|
||||
|
||||
void TaskTreePreparation::slot_prepareAMMListItems(QByteArray array, QList<Module*>* listAllModules, bool flOnlyActive)
|
||||
void TaskAMMFIMTreePreparation::slot_prepareAMMListItems(QByteArray array, bool flOnlyActive)
|
||||
{
|
||||
qDebug() << "TaskTreePreparation::slot_prepareAMMListItems thread ID " << QThread::currentThreadId();
|
||||
|
||||
this->listAllModulesAMM = listAllModules;
|
||||
qDebug() << "TaskAMMFIMTreePreparation::slot_prepareAMMListItems thread ID " << QThread::currentThreadId();
|
||||
|
||||
loadAMMtasksFromXML(array);
|
||||
|
||||
listItems.clear();
|
||||
|
||||
for(Module* module : *this->listAllModulesAMM)
|
||||
for(Module* module : listAllModulesAMM)
|
||||
{
|
||||
QTreeWidgetItem* item = addModuleToTreeWidgetAMM(module, flOnlyActive);
|
||||
listItems.append(item);
|
||||
@@ -321,13 +339,9 @@ void TaskTreePreparation::slot_prepareAMMListItems(QByteArray array, QList<Modul
|
||||
Q_EMIT signal_listAMMItemsReady(listItems);
|
||||
}
|
||||
|
||||
void TaskTreePreparation::slot_prepareAMMListItemsForTrainee(QList<TaskAmmFim> listTask, QList<Module *> *listAllModules)
|
||||
void TaskAMMFIMTreePreparation::slot_prepareAMMListItemsForTrainee(QList<TaskAmmFim> listTask)
|
||||
{
|
||||
qDebug() << "TaskTreePreparation::slot_prepareAMMListItemsForTrainee thread ID " << QThread::currentThreadId();
|
||||
|
||||
this->listAllModulesAMM = listAllModules;
|
||||
|
||||
//loadAMMtasksFromList(listTask);
|
||||
qDebug() << "TaskAMMFIMTreePreparation::slot_prepareAMMListItemsForTrainee thread ID " << QThread::currentThreadId();
|
||||
|
||||
listItems.clear();
|
||||
|
||||
@@ -376,17 +390,15 @@ void TaskTreePreparation::slot_prepareAMMListItemsForTrainee(QList<TaskAmmFim> l
|
||||
Q_EMIT signal_listAMMItemsReady(listItems);
|
||||
}
|
||||
|
||||
void TaskTreePreparation::slot_prepareFIMListItems(QByteArray array, QList<TaskAmmFim *> *listTaskAmmFim)
|
||||
void TaskAMMFIMTreePreparation::slot_prepareFIMListItems(QByteArray array)
|
||||
{
|
||||
qDebug() << "TaskTreePreparation::slot_prepareFIMListItems thread ID " << QThread::currentThreadId();
|
||||
|
||||
this->listTaskAmmFim = listTaskAmmFim;
|
||||
qDebug() << "TaskAMMFIMTreePreparation::slot_prepareFIMListItems thread ID " << QThread::currentThreadId();
|
||||
|
||||
loadFIMtasksFromXML(array);
|
||||
|
||||
listItems.clear();
|
||||
|
||||
for(TaskAmmFim* taskPtr : *this->listTaskAmmFim)
|
||||
for(TaskAmmFim* taskPtr : listTaskFIM)
|
||||
{/*Задачи*/
|
||||
TaskAmmFim task = *taskPtr;
|
||||
|
||||
@@ -422,7 +434,6 @@ void TaskTreePreparation::slot_prepareFIMListItems(QByteArray array, QList<TaskA
|
||||
itemTask->setIcon(0, QIcon(":/resources/icons/procedure.png"));
|
||||
itemTask->setToolTip(0, task.title);
|
||||
|
||||
//treeWidget->addTopLevelItem(itemTask);
|
||||
|
||||
for (int j = 0; j < task.malfunctionList.count(); j++)
|
||||
{/*Неисправности*/
|
||||
@@ -431,7 +442,7 @@ void TaskTreePreparation::slot_prepareFIMListItems(QByteArray array, QList<TaskA
|
||||
QTreeWidgetItem* itemMalfunction = new QTreeWidgetItem();
|
||||
|
||||
itemMalfunction->setText(0, malfunction.description);
|
||||
//if(type == TypeList::listCommon) //TODO
|
||||
if(type == TypeListTreeAMMFIM::listCommon)
|
||||
{
|
||||
itemMalfunction->setFlags(itemMalfunction->flags() | Qt::ItemIsUserCheckable);
|
||||
itemMalfunction->setCheckState(0, Qt::Checked);
|
||||
@@ -463,11 +474,9 @@ void TaskTreePreparation::slot_prepareFIMListItems(QByteArray array, QList<TaskA
|
||||
Q_EMIT signal_listFIMItemsReady(listItems);
|
||||
}
|
||||
|
||||
void TaskTreePreparation::slot_prepareFIMListItemsForTrainee(QList<TaskAmmFim> listTask, QList<TaskAmmFim *> *listTaskAmmFim)
|
||||
void TaskAMMFIMTreePreparation::slot_prepareFIMListItemsForTrainee(QList<TaskAmmFim> listTask)
|
||||
{
|
||||
qDebug() << "TaskTreePreparation::slot_prepareFIMListItemsForTrainee thread ID " << QThread::currentThreadId();
|
||||
|
||||
this->listTaskAmmFim = listTaskAmmFim;
|
||||
qDebug() << "TaskAMMFIMTreePreparation::slot_prepareFIMListItemsForTrainee thread ID " << QThread::currentThreadId();
|
||||
|
||||
listItems.clear();
|
||||
|
||||
@@ -477,7 +486,7 @@ void TaskTreePreparation::slot_prepareFIMListItemsForTrainee(QList<TaskAmmFim> l
|
||||
TaskAmmFim* taskNew = nullptr;
|
||||
taskNew = new TaskAmmFim();
|
||||
*taskNew = task;
|
||||
this->listTaskAmmFim->append(taskNew);
|
||||
listTaskFIM.append(taskNew);
|
||||
|
||||
QTreeWidgetItem* itemTask = new QTreeWidgetItem();
|
||||
|
||||
@@ -511,7 +520,6 @@ void TaskTreePreparation::slot_prepareFIMListItemsForTrainee(QList<TaskAmmFim> l
|
||||
itemTask->setIcon(0, QIcon(":/resources/icons/procedure.png"));
|
||||
itemTask->setToolTip(0, task.title);
|
||||
|
||||
//treeWidget->addTopLevelItem(itemTask);
|
||||
|
||||
for (int j = 0; j < task.malfunctionList.count(); j++)
|
||||
{/*Неисправности*/
|
||||
@@ -520,7 +528,7 @@ void TaskTreePreparation::slot_prepareFIMListItemsForTrainee(QList<TaskAmmFim> l
|
||||
QTreeWidgetItem* itemMalfunction = new QTreeWidgetItem();
|
||||
|
||||
itemMalfunction->setText(0, malfunction.description);
|
||||
//if(type == TypeList::listCommon) //TODO
|
||||
if(type == TypeListTreeAMMFIM::listCommon)
|
||||
{
|
||||
itemMalfunction->setFlags(itemMalfunction->flags() | Qt::ItemIsUserCheckable);
|
||||
itemMalfunction->setCheckState(0, Qt::Checked);
|
||||
|
||||
@@ -22,17 +22,27 @@ enum ColumnsTreeFIM{
|
||||
clmnFIM_count
|
||||
};
|
||||
|
||||
enum TypeListTreeAMMFIM
|
||||
{
|
||||
listCommon = 0,
|
||||
listForTrainee,
|
||||
listOneTask
|
||||
};
|
||||
|
||||
class TaskTreePreparation : public QObject
|
||||
|
||||
class TaskAMMFIMTreePreparation : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit TaskTreePreparation(QObject *parent = nullptr);
|
||||
~TaskTreePreparation();
|
||||
explicit TaskAMMFIMTreePreparation(TypeListTreeAMMFIM type, QObject *parent = nullptr);
|
||||
~TaskAMMFIMTreePreparation();
|
||||
|
||||
public:
|
||||
void stopParser();
|
||||
|
||||
TaskAmmFim* getTaskFIMbyID(int id);
|
||||
Module* getModuleAMMbyID(int id);
|
||||
|
||||
private:
|
||||
QTreeWidgetItem* addModuleToTreeWidgetAMM(Module* module, bool flOnlyActive = false, QTreeWidgetItem* parentItem = nullptr);
|
||||
void loadAMMtasksFromXML(QByteArray array);
|
||||
@@ -40,14 +50,14 @@ private:
|
||||
void deleteAllModulsAMM();
|
||||
|
||||
void loadFIMtasksFromXML(QByteArray array);
|
||||
void deleteAllTaskAmmFim();
|
||||
void deleteAllTaskFIM();
|
||||
|
||||
public Q_SLOTS:
|
||||
void slot_prepareAMMListItems(QByteArray array, QList<Module*>* listAllModulesAMM, bool flOnlyActive);
|
||||
void slot_prepareAMMListItemsForTrainee(QList<TaskAmmFim> listTask, QList<Module*>* listAllModulesAMM);
|
||||
void slot_prepareAMMListItems(QByteArray array, bool flOnlyActive);
|
||||
void slot_prepareAMMListItemsForTrainee(QList<TaskAmmFim> listTask);
|
||||
|
||||
void slot_prepareFIMListItems(QByteArray array, QList<TaskAmmFim*>* listTaskAmmFim);
|
||||
void slot_prepareFIMListItemsForTrainee(QList<TaskAmmFim> listTask, QList<TaskAmmFim*>* listTaskAmmFim);
|
||||
void slot_prepareFIMListItems(QByteArray array);
|
||||
void slot_prepareFIMListItemsForTrainee(QList<TaskAmmFim> listTask);
|
||||
|
||||
Q_SIGNALS:
|
||||
void signal_listAMMItemsReady(QList<QTreeWidgetItem*> listItemsAMM);
|
||||
@@ -57,10 +67,11 @@ Q_SIGNALS:
|
||||
private:
|
||||
QList<QTreeWidgetItem*> listItems;
|
||||
|
||||
QList<Module*>* listAllModulesAMM;
|
||||
QList<TaskAmmFim*>* listTaskAmmFim;
|
||||
QList<Module*> listAllModulesAMM;
|
||||
QList<TaskAmmFim*> listTaskFIM;
|
||||
|
||||
bool flagStop;
|
||||
TypeListTreeAMMFIM type;
|
||||
};
|
||||
|
||||
#endif // TASKTREEPREPARATION_H
|
||||
|
||||
@@ -14,8 +14,8 @@ ViewerTrainees::ViewerTrainees(ConnectorToServer* connectorToServer, QWidget *pa
|
||||
|
||||
ui->horizontalLayout_11->addWidget(treeWidget);
|
||||
|
||||
ammTasksWidget = new AMMtasksWidget(connectorToServer, AMMtasksWidget::TypeList::listForTrainee, this);
|
||||
fimTasksWidget = new FIMtasksWidget(connectorToServer, FIMtasksWidget::TypeList::listForTrainee, this);
|
||||
ammTasksWidget = new AMMtasksWidget(connectorToServer, TypeListTreeAMMFIM::listForTrainee, this);
|
||||
fimTasksWidget = new FIMtasksWidget(connectorToServer, TypeListTreeAMMFIM::listForTrainee, this);
|
||||
|
||||
connect(this, &ViewerTrainees::signal_traineeSelected, fimTasksWidget, &FIMtasksWidget::slot_traineeSelected);
|
||||
connect(this, &ViewerTrainees::signal_traineeSelected, ammTasksWidget, &AMMtasksWidget::slot_traineeSelected);
|
||||
|
||||
Reference in New Issue
Block a user