Сделал выдачу tasksAMM.xml из сервера по запросу GUI-клиента

This commit is contained in:
krivoshein
2025-01-21 12:36:24 +03:00
parent 1950690f82
commit 3baccee9b3
15 changed files with 117 additions and 81 deletions

View File

@@ -5,9 +5,10 @@
#include "doctaskswidget.h"
#include "ui_doctaskswidget.h"
DocTasksWidget::DocTasksWidget(QWidget *parent) :
DocTasksWidget::DocTasksWidget(ConnectorToServer* connectorToServer, QWidget *parent) :
QWidget(parent),
ui(new Ui::DocTasksWidget)
ui(new Ui::DocTasksWidget),
connectorToServer(connectorToServer)
{
ui->setupUi(this);
@@ -19,9 +20,9 @@ DocTasksWidget::DocTasksWidget(QWidget *parent) :
preparationTreeWidget();
loadDocTasksFromXML();
//loadDocTasksFromXML();
updateTreeWidget();
//updateTreeWidget();
}
DocTasksWidget::~DocTasksWidget()
@@ -72,7 +73,10 @@ void DocTasksWidget::loadTasksAMM()
//Обновление дерева
treeWidget->clear();
//TODO собственно обновление дерева
QByteArray array = connectorToServer->getListTaskAmmArray();
loadDocTasksFromXML(array);
updateTreeWidget();
}
void DocTasksWidget::domElementParser(QDomElement element, Module* moduleParent)
@@ -176,29 +180,21 @@ void DocTasksWidget::domElementParser(QDomElement element, Module* moduleParent)
}while (! (childElement = childElement.nextSiblingElement()).isNull());
}
void DocTasksWidget::loadDocTasksFromXML()
void DocTasksWidget::loadDocTasksFromXML(QByteArray array)
{
deleteAllModuls();
QDomDocument docTasksDOM;
QString xmlFileName = "./docs.xml";
QFile xmlInFile(xmlFileName);
if (!xmlInFile.open(QFile::ReadOnly | QFile::Text))
{
QMessageBox::critical(nullptr, tr("Attention!"), tr("The file could not be opened ") + xmlFileName);
docTasksDOM.setContent(array);
QDomElement manifestElement = docTasksDOM.firstChildElement("manifest");
if(manifestElement.isNull())
return;
}
else
{
docTasksDOM.setContent(xmlInFile.readAll());
xmlInFile.close();
QDomElement manifestElement = docTasksDOM.firstChildElement("manifest");
if(manifestElement.isNull())
return;
//deleteAllModuls();
//deleteAllModuls();
domElementParser(manifestElement, nullptr);
}
domElementParser(manifestElement, nullptr);
}
void DocTasksWidget::deleteAllModuls()
@@ -297,3 +293,8 @@ void DocTasksWidget::addModuleToTreeWidget(Module *module, QTreeWidgetItem* pare
itemModule->setText(ColumnsTree::clmn_ID, ID);
}
void DocTasksWidget::on_btnUpdateTasks_clicked()
{
connectorToServer->sendQueryTasksXML("amm");
}

View File

@@ -5,6 +5,7 @@
#include <QTreeWidget>
#include <QDomNode>
#include "module.h"
#include "connectortoserver.h"
namespace Ui {
class DocTasksWidget;
@@ -21,19 +22,21 @@ private:
};
public:
explicit DocTasksWidget(QWidget *parent = nullptr);
explicit DocTasksWidget(ConnectorToServer* connectorToServer, QWidget *parent = nullptr);
~DocTasksWidget();
private Q_SLOTS:
void on_treeWidget_currentItemChanged(QTreeWidgetItem *current, QTreeWidgetItem *previous);
void on_btnUpdateTasks_clicked();
public Q_SLOTS:
//Слот обработки сигнала необходимости обновления интерфейса
void slot_NeedUpdateUI();
private:
void loadDocTasksFromXML(QByteArray array);
void domElementParser(QDomElement element, Module* moduleParent);
void loadDocTasksFromXML();
void deleteAllModuls();
Module* searchModuleByID(int id);
@@ -46,10 +49,11 @@ private:
private:
Ui::DocTasksWidget *ui;
ConnectorToServer* connectorToServer;
QTreeWidget* treeWidget;
private:
QList<Module*> listAllModules;
};
#endif // DOCTASKSWIDGET_H

View File

@@ -49,6 +49,17 @@
</item>
</layout>
</item>
<item row="2" column="0">
<layout class="QHBoxLayout" name="horizontalLayout_4">
<item>
<widget class="QToolButton" name="btnUpdateTasks">
<property name="text">
<string>...</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
</item>

View File

@@ -25,9 +25,9 @@ FIMtasksWidget::~FIMtasksWidget()
delete ui;
}
QList<TaskAmmFim> FIMtasksWidget::loadTasksAmmFimFromXML(QByteArray array)
void FIMtasksWidget::loadTasksAmmFimFromXML(QByteArray array)
{
QList<TaskAmmFim> listTaskAmmFim;
listTaskAmmFim.clear();
QDomDocument docTasksDOM;
@@ -35,11 +35,11 @@ QList<TaskAmmFim> FIMtasksWidget::loadTasksAmmFimFromXML(QByteArray array)
QDomElement RRJTasksElement = docTasksDOM.firstChildElement("RRJTasks");
if(RRJTasksElement.isNull())
return listTaskAmmFim;
return;
QDomElement taskElement = RRJTasksElement.firstChildElement();
if(taskElement.isNull())
return listTaskAmmFim;
return;
do
{/*task*/
@@ -101,10 +101,10 @@ QList<TaskAmmFim> FIMtasksWidget::loadTasksAmmFimFromXML(QByteArray array)
}
}while (! (taskElement = taskElement.nextSiblingElement()).isNull());
return listTaskAmmFim;
return;
}
void FIMtasksWidget::fillTree(QList<TaskAmmFim> listTaskAmmFim)
void FIMtasksWidget::fillTree()
{
for(int i = 0; i < listTaskAmmFim.count(); i++)
{/*Задачи*/
@@ -178,8 +178,11 @@ void FIMtasksWidget::loadTasksFIM()
//Обновление дерева
ui->treeWidget->clear();
QByteArray array = connectorToServer->getListTaskFimArray();
loadTasksAmmFimFromXML(array);
//собственно обновление дерева
fillTree(connectorToServer->getListTaskFim());
fillTree();
}
void FIMtasksWidget::on_btnUpdateTasks_clicked()

View File

@@ -24,10 +24,10 @@ public:
~FIMtasksWidget();
public:
static QList<TaskAmmFim> loadTasksAmmFimFromXML(QByteArray array);
void loadTasksAmmFimFromXML(QByteArray array);
private:
void fillTree(QList<TaskAmmFim> listTaskAmmFim);
void fillTree();
void preparationTreeWidget();
void reSetHeadTreeWidget();
@@ -40,7 +40,7 @@ private:
public:
QString userName;
//QList<TaskAmmFim> listTaskAmmFim;
QList<TaskAmmFim> listTaskAmmFim;
private slots:
void on_btnUpdateTasks_clicked();