#include "initemmodel.h" #include "view/step/models/initemwidget.h" #include "model/step/tools.h" INItemModel::INItemModel() : AbstractInModel() { _widget = new INItemWidget(this); setText(getPrefixedAlias()); } QString INItemModel::getName() { return "_inItem" + getAlias(); } QString INItemModel::getItemType() { return ((INItemWidget*) _widget)->getItemType(); } QString INItemModel::getItemTemplate() { return ((INItemWidget*) _widget)->getTemplate(); } QString INItemModel::getItemTypeWithTemplate() { return ((INItemWidget*) _widget)->getItemTypeWithTemplate(); } QString INItemModel::getItemInCode(int indent, QString name) { AbstractItemType* itemType = Tools::ITEMTYPE.value(getItemType(), NULL); if (itemType == NULL) {return "";} QString result = itemType->getInCode(indent, name); return result; } QString INItemModel::getChoiceMode() { INItemWidget::ChoiceMode choiceMode = ((INItemWidget*)_widget)->getChoiceMode(); if (choiceMode == INItemWidget::C_MultipleIfMultiple) { return "CT_InAbstractModel::C_ChooseMultipleIfMultiple";; } return "CT_InAbstractModel::C_ChooseOneIfMultiple"; } QString INItemModel::getFinderMode() { INItemWidget::FinderMode finderMode = ((INItemWidget*)_widget)->getFinderMode(); if (finderMode == INItemWidget::F_Optional) { return "CT_InAbstractModel::F_IsOptional"; } return "CT_InAbstractModel::F_IsObligatory"; } void INItemModel::getIncludes(QSet &list) { AbstractItemType* itemType = Tools::ITEMTYPE.value(getItemType(), NULL); if (itemType != NULL) { list.insert(itemType->getInclude()); } } QString INItemModel::getModelDoc() { QString result = ""; result = " - " + getItemTypeWithTemplate() + " \\n"; result += "\n"; return result; } QString INItemModel::getModelDeclaration() { QString result = ""; result = Tools::getIndentation(1) + "CT_HandleInSingularItem<" + getItemTypeWithTemplate() + "> " + getName() + "; /*!< " + ((AbstractInWidget*) _widget)->getDescription() + " */"; result += "\n"; return result; } QString INItemModel::getCreateInResultModelListProtectedContent(QString resultModelName, bool rootGroup) { Q_UNUSED(rootGroup); QString result = "%1manager.addItem(%2, %3, %4, %5);\n"; result = result.arg(Tools::getIndentation(1), resultModelName, getName(), Tools::trs(getDisplayableName()), Tools::trs(getDescription())); return result; } QString INItemModel::getComputeContent(QString parentName, int indent, bool rootGroup) { Q_UNUSED(rootGroup); QString itemCode = getItemInCode(indent+1, getName()); QString result = "%1for (const %3* my%4 : my%5->singularItems(%4))\n" "%1{\n" "%2if (isStopped()) return;\n" "%2\n" "%6" "%1}\n"; result = result.arg(Tools::getIndentation(indent), Tools::getIndentation(indent+1), getItemTypeWithTemplate(), getName(), parentName, itemCode); return result; }