stopParser

This commit is contained in:
krivoshein
2025-01-27 15:17:49 +03:00
parent 5aa24ad242
commit eebe56dd6c
3 changed files with 32 additions and 1 deletions

View File

@@ -59,6 +59,21 @@ AMMtasksWidget::AMMtasksWidget(ConnectorToServer* connectorToServer, TypeList ty
AMMtasksWidget::~AMMtasksWidget() AMMtasksWidget::~AMMtasksWidget()
{ {
waitAnimationWidget->hideWithStop();
taskTreePreparation->stopParser();
threadAnimation->quit();
threadAnimation->wait();
threadPreparation->quit();
threadPreparation->wait();
delete threadAnimation;
delete threadPreparation;
delete taskTreePreparation;
delete waitAnimationWidget;
delete treeWidget;
delete ui; delete ui;
} }

View File

@@ -5,7 +5,8 @@
TaskTreePreparation::TaskTreePreparation(QObject *parent) : TaskTreePreparation::TaskTreePreparation(QObject *parent) :
QObject(parent), QObject(parent),
listAllModules(nullptr) listAllModules(nullptr),
flagStop(false)
{ {
qDebug() << "TaskTreePreparation init thread ID " << QThread::currentThreadId(); qDebug() << "TaskTreePreparation init thread ID " << QThread::currentThreadId();
} }
@@ -15,10 +16,18 @@ TaskTreePreparation::~TaskTreePreparation()
deleteAllModuls(); deleteAllModuls();
} }
void TaskTreePreparation::stopParser()
{
flagStop = true;
}
QTreeWidgetItem *TaskTreePreparation::addModuleToTreeWidget(Module *module, QTreeWidgetItem *parentItem) QTreeWidgetItem *TaskTreePreparation::addModuleToTreeWidget(Module *module, QTreeWidgetItem *parentItem)
{ {
QTreeWidgetItem* itemModule = nullptr; QTreeWidgetItem* itemModule = nullptr;
if(flagStop)
return itemModule;
QString text = ""; QString text = "";
QString ID = QString::number(module->getID()); QString ID = QString::number(module->getID());
QString code = ""; QString code = "";
@@ -91,6 +100,9 @@ void TaskTreePreparation::domElementParser(QDomElement element, Module* modulePa
{ {
QString name; QString name;
if(flagStop)
return;
QDomElement childElement = element.firstChildElement(); QDomElement childElement = element.firstChildElement();
if(childElement.isNull()) if(childElement.isNull())
return; return;

View File

@@ -19,6 +19,9 @@ public:
explicit TaskTreePreparation(QObject *parent = nullptr); explicit TaskTreePreparation(QObject *parent = nullptr);
~TaskTreePreparation(); ~TaskTreePreparation();
public:
void stopParser();
private: private:
QTreeWidgetItem* addModuleToTreeWidget(Module* module, QTreeWidgetItem* parentItem = nullptr); QTreeWidgetItem* addModuleToTreeWidget(Module* module, QTreeWidgetItem* parentItem = nullptr);
void loadAMMtasksFromXML(QByteArray array); void loadAMMtasksFromXML(QByteArray array);
@@ -34,6 +37,7 @@ Q_SIGNALS:
private: private:
QList<QTreeWidgetItem*> listItems; QList<QTreeWidgetItem*> listItems;
QList<Module*>* listAllModules; QList<Module*>* listAllModules;
bool flagStop;
}; };
#endif // TASKTREEPREPARATION_H #endif // TASKTREEPREPARATION_H