Вынес подготовку дерева FIM в отдельный поток

This commit is contained in:
2025-07-01 10:37:59 +03:00
parent 53c133d459
commit 389a37a2e4
9 changed files with 161 additions and 318 deletions

View File

@@ -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