#ifndef TASKTREEPREPARATION_H #define TASKTREEPREPARATION_H #include #include #include #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* listAllModulesAMM, bool flOnlyActive); void slot_prepareAMMListItemsForTrainee(QList listTask, QList* listAllModulesAMM); void slot_prepareFIMListItems(QByteArray array, QList* listTaskAmmFim); void slot_prepareFIMListItemsForTrainee(QList listTask, QList* listTaskAmmFim); Q_SIGNALS: void signal_listAMMItemsReady(QList listItemsAMM); void signal_listFIMItemsReady(QList listItemsFIM); private: QList listItems; QList* listAllModulesAMM; QList* listTaskAmmFim; bool flagStop; }; #endif // TASKTREEPREPARATION_H