diff --git a/DB_IaT/InstructorsAndTrainees/docTasks/doctaskswidget.cpp b/DB_IaT/InstructorsAndTrainees/docTasks/doctaskswidget.cpp index c783632..23a7f65 100644 --- a/DB_IaT/InstructorsAndTrainees/docTasks/doctaskswidget.cpp +++ b/DB_IaT/InstructorsAndTrainees/docTasks/doctaskswidget.cpp @@ -274,6 +274,10 @@ void DocTasksWidget::addModuleToTreeWidget(Module *module, QTreeWidgetItem* pare { DM* DMmodul = static_cast(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); diff --git a/DB_IaT/InstructorsAndTrainees/docTasks/fimtaskswidget.cpp b/DB_IaT/InstructorsAndTrainees/docTasks/fimtaskswidget.cpp index 9aff7d2..2c3ff25 100644 --- a/DB_IaT/InstructorsAndTrainees/docTasks/fimtaskswidget.cpp +++ b/DB_IaT/InstructorsAndTrainees/docTasks/fimtaskswidget.cpp @@ -1,6 +1,7 @@ #include #include #include +#include #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); } diff --git a/DB_IaT/InstructorsAndTrainees/docTasks/fimtaskswidget.h b/DB_IaT/InstructorsAndTrainees/docTasks/fimtaskswidget.h index 72f3b0d..981bc00 100644 --- a/DB_IaT/InstructorsAndTrainees/docTasks/fimtaskswidget.h +++ b/DB_IaT/InstructorsAndTrainees/docTasks/fimtaskswidget.h @@ -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: diff --git a/DB_IaT/InstructorsAndTrainees/docTasks/fimtaskswidget.ui b/DB_IaT/InstructorsAndTrainees/docTasks/fimtaskswidget.ui index 2170783..70106c9 100644 --- a/DB_IaT/InstructorsAndTrainees/docTasks/fimtaskswidget.ui +++ b/DB_IaT/InstructorsAndTrainees/docTasks/fimtaskswidget.ui @@ -7,7 +7,7 @@ 0 0 400 - 409 + 472 @@ -22,29 +22,14 @@ FIM - - - - - - ID - - - - - - - - - - Type - - - - - - - + + + + + 1 + + + @@ -53,43 +38,6 @@ - - - - - - - - - Title - - - - - - - - - - - - - - - - - - Signs - - - - - - - Malfunctions - - - diff --git a/DB_IaT/InstructorsAndTrainees/resources.qrc b/DB_IaT/InstructorsAndTrainees/resources.qrc index 6c7d1c8..56c11bf 100644 --- a/DB_IaT/InstructorsAndTrainees/resources.qrc +++ b/DB_IaT/InstructorsAndTrainees/resources.qrc @@ -36,5 +36,9 @@ resources/icons/traineeArchive.png resources/icons/traineeFromArchive.png resources/icons/vline.png + resources/icons/sign.png + resources/icons/task.png + resources/icons/procedure.png + resources/icons/malfunction.png diff --git a/DB_IaT/InstructorsAndTrainees/resources/icons/malfunction.png b/DB_IaT/InstructorsAndTrainees/resources/icons/malfunction.png new file mode 100644 index 0000000..616daec Binary files /dev/null and b/DB_IaT/InstructorsAndTrainees/resources/icons/malfunction.png differ diff --git a/DB_IaT/InstructorsAndTrainees/resources/icons/procedure.png b/DB_IaT/InstructorsAndTrainees/resources/icons/procedure.png new file mode 100644 index 0000000..13eb854 Binary files /dev/null and b/DB_IaT/InstructorsAndTrainees/resources/icons/procedure.png differ diff --git a/DB_IaT/InstructorsAndTrainees/resources/icons/sign.png b/DB_IaT/InstructorsAndTrainees/resources/icons/sign.png new file mode 100644 index 0000000..842ee2d Binary files /dev/null and b/DB_IaT/InstructorsAndTrainees/resources/icons/sign.png differ diff --git a/DB_IaT/InstructorsAndTrainees/resources/icons/sign.png.bak b/DB_IaT/InstructorsAndTrainees/resources/icons/sign.png.bak new file mode 100644 index 0000000..4daf7eb Binary files /dev/null and b/DB_IaT/InstructorsAndTrainees/resources/icons/sign.png.bak differ diff --git a/DB_IaT/InstructorsAndTrainees/resources/icons/task.png b/DB_IaT/InstructorsAndTrainees/resources/icons/task.png new file mode 100644 index 0000000..5a4ae16 Binary files /dev/null and b/DB_IaT/InstructorsAndTrainees/resources/icons/task.png differ diff --git a/DOCS/.obsidian/workspace.json b/DOCS/.obsidian/workspace.json index 46000b6..2d4eecf 100644 --- a/DOCS/.obsidian/workspace.json +++ b/DOCS/.obsidian/workspace.json @@ -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", diff --git a/DOCS/Андрей/Drawing 2025-01-14 09.44.53.excalidraw.md b/DOCS/Андрей/Drawing 2025-01-14 09.44.53.excalidraw.md new file mode 100644 index 0000000..7417c69 --- /dev/null +++ b/DOCS/Андрей/Drawing 2025-01-14 09.44.53.excalidraw.md @@ -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 +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 + +wNmTJwgOKguWIAA= +``` +%% \ No newline at end of file