Files
RRJServer/InstructorsAndTrainees/tasks/tasktreepreparation.h

67 lines
1.7 KiB
C++

#ifndef TASKTREEPREPARATION_H
#define TASKTREEPREPARATION_H
#include <QObject>
#include <QTreeWidgetItem>
#include <QDomElement>
#include "module.h"
#include "tasksAmmFim.h"
enum ColumnsTreeAMM{
clmnAMM_PMorDM = 0,
clmnAMM_code,
clmnAMM_ID,
clmnAMM_status,
clmnAMM_count
};
enum ColumnsTreeFIM{
clmnFIM_Title = 0,
clmnFIM_ID,
clmnFIM_status,
clmnFIM_count
};
class TaskTreePreparation : public QObject
{
Q_OBJECT
public:
explicit TaskTreePreparation(QObject *parent = nullptr);
~TaskTreePreparation();
public:
void stopParser();
private:
QTreeWidgetItem* addModuleToTreeWidgetAMM(Module* module, bool flOnlyActive = false, QTreeWidgetItem* parentItem = nullptr);
void loadAMMtasksFromXML(QByteArray array);
void domElementParserAMM(QDomElement element, Module* moduleParent);
void deleteAllModulsAMM();
void loadFIMtasksFromXML(QByteArray array);
void deleteAllTaskAmmFim();
public Q_SLOTS:
void slot_prepareAMMListItems(QByteArray array, QList<Module*>* listAllModulesAMM, bool flOnlyActive);
void slot_prepareAMMListItemsForTrainee(QList<TaskAmmFim> listTask, QList<Module*>* listAllModulesAMM);
void slot_prepareFIMListItems(QByteArray array, QList<TaskAmmFim*>* listTaskAmmFim);
void slot_prepareFIMListItemsForTrainee(QList<TaskAmmFim> listTask, QList<TaskAmmFim*>* listTaskAmmFim);
Q_SIGNALS:
void signal_listAMMItemsReady(QList<QTreeWidgetItem*> listItemsAMM);
void signal_listFIMItemsReady(QList<QTreeWidgetItem*> listItemsFIM);
private:
QList<QTreeWidgetItem*> listItems;
QList<Module*>* listAllModulesAMM;
QList<TaskAmmFim*>* listTaskAmmFim;
bool flagStop;
};
#endif // TASKTREEPREPARATION_H