сделал загрузку и парсинг файла tasksFIM.xml (локального)

This commit is contained in:
krivoshein
2025-01-14 17:49:37 +03:00
parent 84b76c846a
commit 8f051d1003
12 changed files with 156 additions and 97 deletions

View File

@@ -1,6 +1,7 @@
#include <QDomDocument>
#include <QFile>
#include <QMessageBox>
#include <QTreeWidget>
#include "fimtaskswidget.h"
#include "ui_fimtaskswidget.h"
#include "tasksAmmFim.h"
@@ -12,7 +13,10 @@ FIMtasksWidget::FIMtasksWidget(QWidget *parent) :
ui->setupUi(this);
loadTasksAmmFimFromXML();
updateListWidget();
preparationTreeWidget();
fillTree();
}
FIMtasksWidget::~FIMtasksWidget()
@@ -105,15 +109,66 @@ void FIMtasksWidget::loadTasksAmmFimFromXML()
}
}
void FIMtasksWidget::updateListWidget()
void FIMtasksWidget::fillTree()
{
for(TaskAmmFim taskFim : listTaskAmmFim)
{
addTaskFimToListWidget(taskFim);
for(int i = 0; i < listTaskAmmFim.count(); i++)
{/*Задачи*/
TaskAmmFim task = listTaskAmmFim.at(i);
QTreeWidgetItem* itemTask = new QTreeWidgetItem();
itemTask->setText(0, task.title);
itemTask->setText(1, QString::number(task.id));
itemTask->setFlags(itemTask->flags() | Qt::ItemIsUserCheckable);
itemTask->setCheckState(0, Qt::Checked);
itemTask->setIcon(0, QIcon(":/resources/icons/procedure.png"));
ui->treeWidget->addTopLevelItem(itemTask);
for (int j = 0; j < task.malfunctionList.count(); j++)
{/*Неисправности*/
Malfunction malfunction = task.malfunctionList.at(j);
QTreeWidgetItem* itemMalfunction = new QTreeWidgetItem();
itemMalfunction->setText(0, malfunction.description);
itemMalfunction->setFlags(itemMalfunction->flags() | Qt::ItemIsUserCheckable);
itemMalfunction->setCheckState(0, Qt::Checked);
itemMalfunction->setIcon(0, QIcon(":/resources/icons/malfunction.png"));
itemTask->addChild(itemMalfunction);
for (int k = 0; k < malfunction.malfunctionSigns.count(); k++)
{/*Сигнализация*/
MalfunctionSign sign = malfunction.malfunctionSigns.at(k);
QTreeWidgetItem* itemSign = new QTreeWidgetItem();
itemSign->setText(0, sign.description);
//itemSign->setFlags(itemSign->flags() | Qt::ItemIsUserCheckable);
//itemSign->setCheckState(0, Qt::Checked);
itemSign->setIcon(0, QIcon(":/resources/icons/sign.png"));
itemMalfunction->addChild(itemSign);
}
}
}
}
void FIMtasksWidget::addTaskFimToListWidget(TaskAmmFim taskFim)
void FIMtasksWidget::preparationTreeWidget()
{
ui->listWidgetTasks->addItem(taskFim.title);
ui->treeWidget->setColumnCount(2);
reSetHeadTreeWidget();
ui->treeWidget->setColumnWidth(ColumnsTree::clmn_ID, 20);
ui->treeWidget->setColumnWidth(ColumnsTree::clmn_Title, 500);
//ui->treeWidget->setColumnHidden(ColumnsTree::clmn_ID, true);
}
void FIMtasksWidget::reSetHeadTreeWidget()
{
QStringList listHeaders = {tr("Title"), tr("ID")};
ui->treeWidget->setHeaderLabels(listHeaders);
}