#include "inmodelcreator.h" #include "model/step/models/inresultmodel.h" #include "model/step/models/ingroupmodel.h" #include "model/step/models/initemmodel.h" #include "model/step/tools.h" InModelCreator::InModelCreator(QObject *parent) : QObject(parent) { _model = new QStandardItemModel(); } void InModelCreator::getIncludes(QSet &list) { QStandardItem* root = _model->invisibleRootItem(); int count = root->rowCount(); for (int i = 0 ; i < count ; i++) { AbstractInModel* item = (AbstractInModel*) root->child(i); item->getIncludes(list); } } QString InModelCreator::getModelsDoc() { QString result = "\\n\n"; QStandardItem* root = _model->invisibleRootItem(); int count = root->rowCount(); for (int i = 0 ; i < count ; i++) { AbstractInModel* item = (AbstractInModel*) root->child(i); result += item->getModelDoc(); if (i < count-1) result += "\n"; } if (result == "\\n\n") result = "Aucun"; if (result.endsWith("\n")) result.chop(1); return result; } QString InModelCreator::getModelsDeclaration() { QString result = ""; QStandardItem* root = _model->invisibleRootItem(); int count = root->rowCount(); for (int i = 0 ; i < count ; i++) { AbstractInModel* item = (AbstractInModel*) root->child(i); result += item->getModelDeclaration(); if (i < count-1) result += "\n"; } if (result == "") result = Tools::getIndentation(1) + "// Aucun modèle IN"; if (result.endsWith("\n")) result.chop(1); return result; } QString InModelCreator::getCreateInResultModelListProtectedContent() { QString result = ""; QStandardItem* root = _model->invisibleRootItem(); int count = root->rowCount(); for (int i = 0 ; i < count ; i++) { AbstractInModel* item = (AbstractInModel*) root->child(i); result += item->getCreateInResultModelListProtectedContent(); if (i < count-1) result += "\n"; } if (result == "") result = Tools::getIndentation(1) + "manager.setNotNeedInputResult();"; if (result.endsWith("\n")) result.chop(1); return result; } QString InModelCreator::getComputeContent() { QString result = ""; QStandardItem* root = _model->invisibleRootItem(); int count = root->rowCount(); for (int i = 0 ; i < count ; i++) { INResultModel* item = (INResultModel*) root->child(i); if (!item->isCopyResult()) { result += item->getComputeContent(); if (i < count-1) result += "\n"; } } if (result.endsWith("\n")) result.chop(1); return result; }