#include "ingroupmodel.h" #include "view/step/models/ingroupwidget.h" #include "model/step/models/initemmodel.h" #include "model/step/tools.h" INGroupModel::INGroupModel() : AbstractInModel() { _widget = new INGroupWidget(this); setText(getPrefixedAlias()); } QString INGroupModel::getName() { return "_inGroup" + getAlias(); } QString INGroupModel::getChoiceMode() { INGroupWidget::ChoiceMode choiceMode = ((INGroupWidget*)_widget)->getChoiceMode(); if (choiceMode == INGroupWidget::C_OneIfMultiple) { return "CT_InAbstractGroupModel::CG_ChooseOneIfMultiple"; } return "CT_InAbstractGroupModel::CG_ChooseMultipleIfMultiple";; } QString INGroupModel::getFinderMode() { INGroupWidget::FinderMode finderMode = ((INGroupWidget*)_widget)->getFinderMode(); if (finderMode == INGroupWidget::F_Optional) { return "CT_InAbstractGroupModel::FG_IsOptional"; } return "CT_InAbstractGroupModel::FG_IsObligatory"; } void INGroupModel::getIncludes(QSet &list) { //list.insert("#include \"ct_itemdrawable/tools/iterator/ct_groupiterator.h\"\n"); getChildrenIncludes(list); } QString INGroupModel::getModelDoc() { QString result = ""; result = " - CT_StandardItemGroup \\n"; QString temp = ""; getChildrenModelDoc(temp); if (temp != "" && temp != "\n") result += "\n" + temp; return result; } QString INGroupModel::getModelDeclaration() { QString result = ""; result = Tools::getIndentation(1) + "CT_HandleInStdGroup<> " + getName() + "; /*!< " + ((AbstractInWidget*) _widget)->getDescription() + " */"; QString temp = ""; getChildrenModelDeclaration(temp); if (temp != "" && temp != "\n") result += "\n" + temp; return result; } QString INGroupModel::getCreateInResultModelListProtectedContent(QString resultModelName, bool rootGroup) { QString 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())); getChildrenCreateInResultModelListProtectedContent(result, getName()); return result; } QString INGroupModel::getComputeContent(QString parentName, int indent, bool rootGroup) { Q_UNUSED(rootGroup); QString result = "%1for (CT_StandardItemGroup* my%3 : %3.iterateInputs(%4))\n" "%1{\n" "%2if (isStopped()) return;\n" "%2\n"; result = result.arg(Tools::getIndentation(indent), Tools::getIndentation(indent+1), getName(), parentName); getChildrenComputeContent(result, indent+1); result += Tools::getIndentation(indent) + "}\n"; return result; }