сделал загрузку и парсинг файла 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

@@ -274,6 +274,10 @@ void DocTasksWidget::addModuleToTreeWidget(Module *module, QTreeWidgetItem* pare
{
DM* DMmodul = static_cast<DM*>(module);
text = DMmodul->getLangStructRus().techName;
itemModule->setFlags(itemModule->flags() | Qt::ItemIsUserCheckable);
itemModule->setCheckState(0, Qt::Checked);
itemModule->setIcon(0, QIcon(":/resources/icons/procedure.png"));
}
itemModule->setText(ColumnsTree::clmn_PMorDM, text);

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);
}

View File

@@ -12,14 +12,21 @@ class FIMtasksWidget : public QWidget
{
Q_OBJECT
private:
enum ColumnsTree{
clmn_Title = 0,
clmn_ID
};
public:
explicit FIMtasksWidget(QWidget *parent = nullptr);
~FIMtasksWidget();
public:
private:
void loadTasksAmmFimFromXML();
void updateListWidget();
void addTaskFimToListWidget(TaskAmmFim taskFim);
void fillTree();
void preparationTreeWidget();
void reSetHeadTreeWidget();
public:

View File

@@ -7,7 +7,7 @@
<x>0</x>
<y>0</y>
<width>400</width>
<height>409</height>
<height>472</height>
</rect>
</property>
<property name="windowTitle">
@@ -22,29 +22,14 @@
<string>FIM</string>
</property>
<layout class="QGridLayout" name="gridLayout_3">
<item row="5" column="0">
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QLabel" name="label">
<property name="text">
<string>ID</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="lineEditID"/>
</item>
<item>
<widget class="QLabel" name="label_2">
<property name="text">
<string>Type</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="lineEditType"/>
</item>
</layout>
<item row="4" column="0">
<widget class="QTreeWidget" name="treeWidget">
<column>
<property name="text">
<string notr="true">1</string>
</property>
</column>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="label_5">
@@ -53,43 +38,6 @@
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QListWidget" name="listWidgetTasks"/>
</item>
<item row="6" column="0">
<layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
<widget class="QLabel" name="label_3">
<property name="text">
<string>Title</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="lineEditTitle"/>
</item>
</layout>
</item>
<item row="10" column="0">
<widget class="QTableWidget" name="tableWidgetSigns"/>
</item>
<item row="8" column="0">
<widget class="QListWidget" name="listWidgetMalfunctions"/>
</item>
<item row="9" column="0">
<widget class="QLabel" name="label_4">
<property name="text">
<string>Signs</string>
</property>
</widget>
</item>
<item row="7" column="0">
<widget class="QLabel" name="label_6">
<property name="text">
<string>Malfunctions</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>

View File

@@ -36,5 +36,9 @@
<file>resources/icons/traineeArchive.png</file>
<file>resources/icons/traineeFromArchive.png</file>
<file>resources/icons/vline.png</file>
<file>resources/icons/sign.png</file>
<file>resources/icons/task.png</file>
<file>resources/icons/procedure.png</file>
<file>resources/icons/malfunction.png</file>
</qresource>
</RCC>

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB