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

View File

@@ -53,26 +53,24 @@
"state": {
"type": "markdown",
"state": {
"file": "Как умеем принимать, как умеем отправлять!.md",
"file": "Андрей/ВАЖНАЯ ЗАМЕТКА.md",
"mode": "source",
"source": false
},
"icon": "lucide-file",
"title": "Как умеем принимать, как умеем отправлять!"
"title": "ВАЖНАЯ ЗАМЕТКА"
}
},
{
"id": "9608f84166966ca9",
"id": "22bbb58a8df4da9e",
"type": "leaf",
"state": {
"type": "markdown",
"type": "excalidraw",
"state": {
"file": "Как умеем принимать, как умеем отправлять!.md",
"mode": "source",
"source": false
"file": "Андрей/Drawing 2025-01-14 09.44.53.excalidraw.md"
},
"icon": "lucide-file",
"title": "Как умеем принимать, как умеем отправлять!"
"icon": "excalidraw-icon",
"title": "Drawing 2025-01-14 09.44.53.excalidraw"
}
}
],
@@ -219,26 +217,29 @@
"obsidian-kanban:Создать новую доску": false
}
},
"active": "9608f84166966ca9",
"active": "22bbb58a8df4da9e",
"lastOpenFiles": [
"Порядок сборки Unity билда под сервер.md",
"Образец отправки сообщения с маркером.md",
"Как умеем принимать, как умеем отправлять!.md",
"Алексей/Board.md",
"Алексей/DataParser scheme.md",
"Алексей/ProcessingSystem scheme.md",
"MainScheme.md",
"AssetManagerScheme.md",
"Что умеем отправлять Server - Client QT.md",
"CLIENT SERVER.canvas",
"Алексей/Рефакторинг.md",
"Алексей/ТЕСТ-КЕЙСЫ.md",
"Алексей/Чек лист по переносу.md",
"Алексей/AssetManagerScheme.md",
"Без названия.md",
"Андрей/Безымянная Kanban-доска.md",
"Андрей/ВАЖНАЯ ЗАМЕТКА.md",
"Андрей/Drawing 2025-01-14 09.44.53.excalidraw.md",
"Андрей/Безымянная Kanban-доска.md",
"Алексей/ProcessingSystem scheme.md",
"Алексей/DataParser scheme.md",
"MainScheme.md",
"Алексей/ТЕСТ-КЕЙСЫ.md",
"Как умеем принимать, как умеем отправлять!.md",
"Алексей/Рефакторинг.md",
"Desk.md",
"Образец отправки сообщения с маркером.md",
"Как умеем принимать на Server.md",
"Что умеем отправлять Server - Client QT.md",
"Алексей/Board.md",
"Алексей/Чек лист по переносу.md",
"Без названия.md",
"Алексей/AssetManagerScheme.md",
"CLIENT SERVER.canvas",
"Порядок сборки Unity билда под сервер.md",
"Алексей",
"AssetManagerScheme.md",
"SERVER/UpdateController.md",
"SERVER/Tools.md",
"SERVER/SendSystem.md",

View File

@@ -0,0 +1,40 @@
---
excalidraw-plugin: parsed
tags: [excalidraw]
---
==⚠ Switch to EXCALIDRAW VIEW in the MORE OPTIONS menu of this document. ⚠== You can decompress Drawing data with the command palette: 'Decompress current Excalidraw file'. For more info check in plugin settings under 'Saving'
# Excalidraw Data
## Text Elements
Блок ^8Cl4uc6G
%%
## Drawing
```compressed-json
N4KAkARALgngDgUwgLgAQQQDwMYEMA2AlgCYBOuA7hADTgQBuCpAzoQPYB2KqATLZMzYBXUtiRoIACyhQ4zZAHoFAc0JRJQgEYA6bGwC2CgF7N6hbEcK4OCtptbErHALRY8RMpWdx8Q1TdIEfARcZgRmBShcZQUebQB2bR4aOiCEfQQOKGZuAG1wMFAwYogSbggAdQBOACEKgDEAFmUK3AAtAGsAVgAFAH12ACV6eoAzHP4S2ERywOwojmVglOLI
TG5neIBmKsnIGA2duMbGrq2ARh4uvYgKEnVuHkatm8kEQmVpbkvGm+sl8SoAAMN2YUFIbA6CAAwmx8GxSOUAMTnBCo1ErEqaXDYDrKCFCDjEWHwxEScHWZhwXCBLKYyCjQj4fAAZVgywkgg89IgYIhUIq90kj1B4MhCDZMA56C5ZRuBM+HHCOTQ5xubGp2DUB1VQJBBUg+OEcAAksQVah8qtICyAHIcFksgBWMAA0lVmBVBqNGhCAPL4IEATQAih
ADQBdG6jcgZM3cDhCZk3QhErDlXBAnkEolK5gWoqraDwQFbA0AX1BCAQxG+W1OjXO8Xi531RcYLHYXFVVWuBoYTFYnFtnDE3Cq51O53OAA4ujOU8wACJpKA17ijAhhG6aYREgCiwQyWQtVtWhaLZQkM6MQkIADZ9yHOH6Kiz4oNMM5MEGaia2vSUwlhmpAQlQBpgOWkY3EIcDELga61qq2z3jOWwtveQKzi8/ZEBwHQJkm+A3PCuLrmgm74GEBSV
gUF6lEh6AztC+CNEI2D3gA4jy0yAtAWBQDy6xoM496NPeNw6qgzj1kC2gnGclx9kWdzEA8aCNIk95VDpM7nKhVSnBcVyvO8nyCWgJn9v80ptiUfLiiSCLIuiaJIDuOJ4jmxJws55LkBwVI0pkgnRkyrLsnxsq1qK/IIIKanCpZsXipK0q8nCcr9gqkh5haar9hqOLat8eo3EasFmqeEEQHaDrOm6Hpej6/qBqG4arFG/YxrgcaMYmyb9qmxDphIu
DnNme7EHlhGDUWYTkaglz3l0PA8HpjR8P2HZDt2qCNLs22Dl2I4cGOaDxOtQI8FUPBbHZkCEMuq6LZR279ruhLEIe6QhRaA3Ef2sHwYh3woWhGFYWhJGpgRaAAyRbBkYxb0IDca6YBZ6CAIgggDcIIAfCCAFwg2aUAAKgJ5R40TPKjJwUAsoQRiAjwD0QLTWT1L1TJScpUwCQAgkQyh7RAwSjKFR2kFA5gEILHwi1AGo8noWS4KmTDxvDRHqqQHy
pgQ5OY5TBPE38QiK4M4SM4C4JCGjuHqwAEmZXyqkkXQ0ZM9FXkxt4Pk+L5vh+X4/n+AHo8BY2gWwVA3MJ0kHbz+yHGtCTxF097rWtXSNBtNyqep+3xL8/ZvB8ru8NoWz3RcXSXTnek7Au1mLLZKVQk5ZLoCibkYh5uIVUSnflBSgXUrSEtFoyzJpVFmUxf2DkCkKIqL2KUKz+U0WTX4uXKt86qaiVuqsxVprmnkXVT7GCCa6gCNDWm8cQLgyTylN
M1oBekC8Y8FZVotRoQILiThnJnG4O0uyPDuhA46w5RyAi6HqNa94tjN0vM9YIoMKJbntkWT6B4jx/VmoDIswMEKLSbFsVC6FzhnCBFUdBJQ8Jw3vtrXCSMoQo1wTcOAbBUzZDyBBM8qwHrFCBBBK+qwRHFE0iXa0YA4jV2AXQ+uudzhN0kdBXCoQoCwn0PoNQiEej8LpFrOa9kohSxqMNVMyhuDfwwEQrId9Ki1AaM0VonRegDDYMMMYEwaq02wE
IC0clpw3WAdnGcQIxJdH0lta0EBlC4DgAfIJhBMA1hMQIkh/9+yZGIDYokdiSGihpFAfm0cKBvFwP1dhRZClVLArUxiL9qk8iCLuCgr1cE0XAFfF+cA4BsgoQ4go0A3gZHKELL4kwGCEAQBQGonlB4+VJMiUYWztmYggCE0CIUTRrn0GyOKw8JA91crs/ZE8jnpBWQPby5z0CjyChPa5IhbnHPqOFTenJ54fIOS445pzxQJULokyANzDkgvXhKSK
W8AXzOhcC9IgxhCKn3qqZFnyYXpD9EfWApU7J7Nxai/Q9Q6ac0MfgHmOKgVQDuRSumDMmaPBJSixlxzDaVKFiLMWk8oVkq5ekUZUtmkx1aWUiZnKmX7iJBKmpIQ2k0jAoCr56RFWk0jugbyuzmDYAhMyAAGt8Vs8R5kGqNfgIM3B7yYW0F0HOqF07zKMGwAw4z2wEDtt8T2MrhVMvRV9T+uqpq7PxCQVlzMSWRuIGyBAaS0C82SbrYgABZNgI15W
4E0MEbhVE8GGjTc8+iNQ4RtNIMobEAAKHgTZqC8AbU2i1wJHUAEoeSW2UEmGksxq24DrfdRtd0QS8GHW2ronb/UlE5aCqEBLpacH+g0hkN9LZpl1osL1JRMi5vzdwW2RaoVECTagI9NwOC9RtqQO26pzZ4RvXbGdkA7BOgQPMZgLIr1wEzdmq9ebemFvmTiaWjBSYevwDun+OreRpHmFAm4ISwQGG1TMcxpDmGcKA+9Is+BdH8wQ+ByDeTihQUgv
wNmTJwgOKguWIAA=
```
%%