рабочая версия с кодами dm/pm

This commit is contained in:
krivoshein
2024-11-27 16:19:01 +03:00
parent fbd2eadfa3
commit 9c0fae5df9
3 changed files with 52 additions and 68 deletions

View File

@@ -62,7 +62,7 @@ void DocTasksWidget::on_treeWidget_currentItemChanged(QTreeWidgetItem *current,
} }
} }
void DocTasksWidget::DomElementParser(QDomElement element, Module* moduleParent) void DocTasksWidget::domElementParser(QDomElement element, Module* moduleParent)
{ {
QString name; QString name;
@@ -80,16 +80,13 @@ void DocTasksWidget::DomElementParser(QDomElement element, Module* moduleParent)
if(name == "pm") if(name == "pm")
{ {
QString modelIdentCode = nodeMap.namedItem("modelIdentCode").nodeValue();
QString pmIssuer = nodeMap.namedItem("pmIssuer").nodeValue();
QString pmNumber = nodeMap.namedItem("pmNumber").nodeValue();
QString pmVolume = nodeMap.namedItem("pmVolume").nodeValue();
module = new PM(); module = new PM();
PM* PMmodul = static_cast<PM*>(module); PM* PMmodul = static_cast<PM*>(module);
PMmodul->initialize(modelIdentCode, pmIssuer, pmNumber, pmVolume); PMmodul->initialize(nodeMap.namedItem("modelIdentCode").nodeValue(),
nodeMap.namedItem("pmIssuer").nodeValue(),
nodeMap.namedItem("pmNumber").nodeValue(),
nodeMap.namedItem("pmVolume").nodeValue());
if(moduleParent) if(moduleParent)
{ {
@@ -101,33 +98,20 @@ void DocTasksWidget::DomElementParser(QDomElement element, Module* moduleParent)
} }
else if(name == "dm") else if(name == "dm")
{ {
QString modelIdentCode = nodeMap.namedItem("modelIdentCode").nodeValue();
QString systemDiffCode = nodeMap.namedItem("systemDiffCode").nodeValue();
QString systemCode = nodeMap.namedItem("systemCode").nodeValue();
QString subSystemCode = nodeMap.namedItem("subSystemCode").nodeValue();
QString subSubSystemCode = nodeMap.namedItem("subSubSystemCode").nodeValue();
QString assyCode = nodeMap.namedItem("assyCode").nodeValue();
QString disassyCode = nodeMap.namedItem("disassyCode").nodeValue();
QString disassyCodeVariant = nodeMap.namedItem("disassyCodeVariant").nodeValue();
QString infoCode = nodeMap.namedItem("infoCode").nodeValue();
QString infoCodeVariant = nodeMap.namedItem("infoCodeVariant").nodeValue();
QString itemLocationCode = nodeMap.namedItem("itemLocationCode").nodeValue();
module = new DM(); module = new DM();
DM* DMmodul = static_cast<DM*>(module); DM* DMmodul = static_cast<DM*>(module);
DMmodul->initialize(modelIdentCode, DMmodul->initialize(nodeMap.namedItem("modelIdentCode").nodeValue(),
systemDiffCode, nodeMap.namedItem("systemDiffCode").nodeValue(),
systemCode, nodeMap.namedItem("systemCode").nodeValue(),
subSystemCode, nodeMap.namedItem("subSystemCode").nodeValue(),
subSubSystemCode, nodeMap.namedItem("subSubSystemCode").nodeValue(),
assyCode, nodeMap.namedItem("assyCode").nodeValue(),
disassyCode, nodeMap.namedItem("disassyCode").nodeValue(),
disassyCodeVariant, nodeMap.namedItem("disassyCodeVariant").nodeValue(),
infoCode, nodeMap.namedItem("infoCode").nodeValue(),
infoCodeVariant, nodeMap.namedItem("infoCodeVariant").nodeValue(),
itemLocationCode); nodeMap.namedItem("itemLocationCode").nodeValue());
if(moduleParent) if(moduleParent)
{ {
@@ -143,35 +127,35 @@ void DocTasksWidget::DomElementParser(QDomElement element, Module* moduleParent)
{ {
if(moduleParent->getType() == ModuleType::TYPE_PM) if(moduleParent->getType() == ModuleType::TYPE_PM)
{//PM {//PM
QString title = nodeMap.namedItem("title").nodeValue();
PM* PMmodulParent = static_cast<PM*>(moduleParent); PM* PMmodulParent = static_cast<PM*>(moduleParent);
if(name == "rus") if(name == "rus")
PMmodulParent->setLangStructRus(title); PMmodulParent->setLangStructRus(nodeMap.namedItem("title").nodeValue());
else else
PMmodulParent->setLangStructEng(title); PMmodulParent->setLangStructEng(nodeMap.namedItem("title").nodeValue());
} }
else else
{//DM {//DM
QString techName = nodeMap.namedItem("techName").nodeValue();
QString infoName = nodeMap.namedItem("infoName").nodeValue();
QString pdf = nodeMap.namedItem("pdf").nodeValue();
QString bookmark = nodeMap.namedItem("bookmark").nodeValue();
QString xml = nodeMap.namedItem("xml").nodeValue();
DM* DMmodulParent = static_cast<DM*>(moduleParent); DM* DMmodulParent = static_cast<DM*>(moduleParent);
if(name == "rus") if(name == "rus")
DMmodulParent->setLangStructRus(techName, infoName, pdf, bookmark, xml); DMmodulParent->setLangStructRus(nodeMap.namedItem("techName").nodeValue(),
nodeMap.namedItem("infoName").nodeValue(),
nodeMap.namedItem("pdf").nodeValue(),
nodeMap.namedItem("bookmark").nodeValue(),
nodeMap.namedItem("xml").nodeValue());
else else
DMmodulParent->setLangStructEng(techName, infoName, pdf, bookmark, xml); DMmodulParent->setLangStructEng(nodeMap.namedItem("techName").nodeValue(),
nodeMap.namedItem("infoName").nodeValue(),
nodeMap.namedItem("pdf").nodeValue(),
nodeMap.namedItem("bookmark").nodeValue(),
nodeMap.namedItem("xml").nodeValue());
} }
} }
} }
DomElementParser(childElement, module); domElementParser(childElement, module);
if(moduleParent == nullptr) if(moduleParent == nullptr)
listAllModules.append(module); listAllModules.append(module);
@@ -198,9 +182,9 @@ void DocTasksWidget::loadDocTasksFromXML()
if(manifestElement.isNull()) if(manifestElement.isNull())
return; return;
deleteAllModuls(); //deleteAllModuls();
DomElementParser(manifestElement, nullptr); domElementParser(manifestElement, nullptr);
} }
} }
@@ -241,7 +225,7 @@ void DocTasksWidget::preparationTreeWidget()
"font-family: Tahoma;")); "font-family: Tahoma;"));
treeWidget->setColumnWidth(ColumnsTree::clmn_ID, 80); treeWidget->setColumnWidth(ColumnsTree::clmn_ID, 80);
treeWidget->setColumnWidth(ColumnsTree::clmn_PMorDM, 800); treeWidget->setColumnWidth(ColumnsTree::clmn_PMorDM, 900);
//treeWidget->setColumnHidden(ColumnsTree::clmn_ID, true); //treeWidget->setColumnHidden(ColumnsTree::clmn_ID, true);
} }
@@ -259,11 +243,11 @@ void DocTasksWidget::updateTreeWidget()
for(Module* module : listAllModules) for(Module* module : listAllModules)
{ {
addModulToTreeWidget(module); addModuleToTreeWidget(module);
} }
} }
void DocTasksWidget::addModulToTreeWidget(Module *module, QTreeWidgetItem* parentItem) void DocTasksWidget::addModuleToTreeWidget(Module *module, QTreeWidgetItem* parentItem)
{ {
QTreeWidgetItem* itemModule = nullptr; QTreeWidgetItem* itemModule = nullptr;
@@ -287,7 +271,7 @@ void DocTasksWidget::addModulToTreeWidget(Module *module, QTreeWidgetItem* paren
for(Module* module : PMmodul->getListChildModules()) for(Module* module : PMmodul->getListChildModules())
{ {
addModulToTreeWidget(module, itemModule); addModuleToTreeWidget(module, itemModule);
} }
} }
else else

View File

@@ -28,7 +28,7 @@ private Q_SLOTS:
void on_treeWidget_currentItemChanged(QTreeWidgetItem *current, QTreeWidgetItem *previous); void on_treeWidget_currentItemChanged(QTreeWidgetItem *current, QTreeWidgetItem *previous);
private: private:
void DomElementParser(QDomElement element, Module* moduleParent); void domElementParser(QDomElement element, Module* moduleParent);
void loadDocTasksFromXML(); void loadDocTasksFromXML();
void deleteAllModuls(); void deleteAllModuls();
Module* searchModuleByID(int id); Module* searchModuleByID(int id);
@@ -36,7 +36,7 @@ private:
void preparationTreeWidget(); void preparationTreeWidget();
void reSetHeadTreeWidget(); void reSetHeadTreeWidget();
void updateTreeWidget(); void updateTreeWidget();
void addModulToTreeWidget(Module* module, QTreeWidgetItem* parentItem = nullptr); void addModuleToTreeWidget(Module* module, QTreeWidgetItem* parentItem = nullptr);
private: private:
Ui::DocTasksWidget *ui; Ui::DocTasksWidget *ui;

View File

@@ -41,10 +41,10 @@ Module *Module::getModuleByID(int id)
PM::PM(): PM::PM():
modelIdentCode (""), modelIdentCode (),
pmIssuer (""), pmIssuer (),
pmNumber (""), pmNumber (),
pmVolume ("") pmVolume ()
{ {
type = ModuleType::TYPE_PM; type = ModuleType::TYPE_PM;
@@ -105,17 +105,17 @@ QString PM::pmCode()
DM::DM(): DM::DM():
modelIdentCode (""), modelIdentCode (),
systemDiffCode (""), systemDiffCode (),
systemCode (""), systemCode (),
subSystemCode (""), subSystemCode (),
subSubSystemCode (""), subSubSystemCode (),
assyCode (""), assyCode (),
disassyCode (""), disassyCode (),
disassyCodeVariant (""), disassyCodeVariant (),
infoCode (""), infoCode (),
infoCodeVariant (""), infoCodeVariant (),
itemLocationCode ("") itemLocationCode ()
{ {
type = ModuleType::TYPE_DM; type = ModuleType::TYPE_DM;