#include "outgroupmodel.h" #include "view/step/models/outgroupwidget.h" #include "model/step/models/outitemmodel.h" #include "model/step/tools.h" OUTGroupModel::OUTGroupModel() : AbstractOutModel() { _widget = new OUTGroupWidget(this); _status = AbstractOutModel::S_Added; setData(QVariant(QColor(Qt::black)),Qt::ForegroundRole); setText(getPrefixedAlias()); } void OUTGroupModel::init(QString alias, QString name, QString desc) { ((OUTGroupWidget*)_widget)->init(alias, name, desc); _status = AbstractOutModel::S_Copy; setData(QVariant(QColor(Qt::blue)),Qt::ForegroundRole); setText(getPrefixedAlias() + " (copie)"); } void OUTGroupModel::init(INGroupModel *inModel) { init(inModel->getAlias(), inModel->getDisplayableName(), inModel->getDescription()); } QString OUTGroupModel::getName() { if (!isCopyResult()) return "_outGroup" + getAlias(); else return "_inGroup" + getAlias(); } bool OUTGroupModel::isCopyResult() { return (_status != AbstractOutModel::S_Added); } void OUTGroupModel::getIncludes(QSet &list) { //list.insert("#include \"ct_itemdrawable/tools/iterator/ct_groupiterator.h\"\n"); getChildrenIncludes(list); } QString OUTGroupModel::getModelDoc() { QString result = ""; result = " - CT_StandardItemGroup%1 \\n"; result = result.arg(isCopyResult()?" (copie)":""); QString temp = ""; getChildrenModelDoc(temp); if (temp != "" && temp != "\n") result += "\n" + temp; return result; } QString OUTGroupModel::getModelDeclaration() { QString result = ""; if (!isCopyResult()) result = Tools::getIndentation(1) + "CT_HandleOutStdGroup " + getName() + "; /*!< " + ((AbstractOutWidget*) _widget)->getDescription() + " */"; QString temp = ""; getChildrenModelDeclaration(temp); if (temp != "" && temp != "\n") { if (result != "") result += "\n"; result += temp; } return result; } QString OUTGroupModel::getCreateOutResultModelListProtectedContent(QString resultModelName, bool rootGroup) { QString result = ""; if (getStatus() == S_Added) { result = "%1manager.addGroup(%2, %3, %4, %5);\n"; if (rootGroup) result = "%1manager.setRootGroup(%2, %3, %4, %5);\n"; result = result.arg(Tools::getIndentation(1), resultModelName, getName(), Tools::trs(getDisplayableName()), Tools::trs(getDescription())); getChildrenCreateOutResultModelListProtectedContent(result, getName()); } else if (getStatus() == S_DeletedCopy) { result = "%1manager.removeGroupModel(%2, %3);\n"; result = result.arg(Tools::getIndentation(1), resultModelName, getName()); } else if (getStatus() == S_Copy) { getChildrenCreateOutResultModelListProtectedContent(result, getName()); } return result; } QString OUTGroupModel::getComputeContent(QString resultName, QString parentName, int indent, bool rootGroup) { Q_UNUSED(resultName); Q_UNUSED(rootGroup); QString result = ""; if (getStatus() == S_Added) { result += "%1for (CT_ResultGroup* my%2 : %2.iterateOutputs())\n%1{\n"; result = result.arg(Tools::getIndentation(indent),parentName); result += "%1CT_StandardItemGroup* my%2 = new CT_StandardItemGroup();\n"; result = result.arg(Tools::getIndentation(indent+1),getName()); //if (rootGroup) result += "%1my%2->addRootGroup(%3, my%3);\n"; //else result += "%1my%2->addGroup(%3, my%3);\n"; result += "%1my%2->addGroup(%3, my%3);\n"; result = result.arg(Tools::getIndentation(indent+1),parentName,getName()); getChildrenComputeContent(result, getName(), indent+1); result += Tools::getIndentation(indent) + "}\n"; } else if (getStatus() == S_Copy) { result += "%1for (CT_StandardItemGroup* my%3 : %3.iterateOutputs(%4))\n" "%1{\n" "%2if (isStopped()) return;\n" "%2\n"; result = result.arg(Tools::getIndentation(indent), Tools::getIndentation(indent+1), getName(), parentName); getChildrenComputeContent(result, getName(), indent+1); result += Tools::getIndentation(indent) + "}\n"; } return result; }