#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 }; enum TypeListTreeAMMFIM { listCommon = 0, listForTrainee, listOneTask }; class TaskAMMFIMTreePreparation : public QObject { Q_OBJECT public: 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); void domElementParserAMM(QDomElement element, Module* moduleParent); void deleteAllModulsAMM(); void loadFIMtasksFromXML(QByteArray array); void deleteAllTaskFIM(); public Q_SLOTS: void slot_prepareAMMListItems(QByteArray array, bool flOnlyActive); void slot_prepareAMMListItemsForTrainee(QList listTask); void slot_prepareFIMListItems(QByteArray array); void slot_prepareFIMListItemsForTrainee(QList listTask); Q_SIGNALS: void signal_listAMMItemsReady(QList listItemsAMM); void signal_listFIMItemsReady(QList listItemsFIM); private: QList listItems; QList listAllModulesAMM; QList listTaskFIM; bool flagStop; TypeListTreeAMMFIM type; }; #endif // TASKTREEPREPARATION_H