#include "ct_model/outModel/ct_outresultmodelgroup.h" template CT_OutResultModelGroup::CT_OutResultModelGroup(DEF_CT_AbstractGroupModelOut* rootGroupModel, const QString& resultName, const QString& displayableName, const QString& shortDescription) : SuperClass(displayableName), m_rootGroup(rootGroupModel) { setResultName(resultName); setShortDescription(shortDescription); setPrototype(new ResultGroup()); if(m_rootGroup != nullptr) m_rootGroup->setParentModel(this); } template CT_OutResultModelGroup::~CT_OutResultModelGroup() { delete m_rootGroup; } template CT_OutResultModelGroup::CT_OutResultModelGroup(const CT_OutResultModelGroup& other) : SuperClass(other), m_rootGroup(static_cast(other.m_rootGroup->copy())) { m_rootGroup->setParentModel(this); } template DEF_CT_AbstractGroupModelOut* CT_OutResultModelGroup::rootGroup() const { return m_rootGroup; } template void CT_OutResultModelGroup::setRootGroup(DEF_CT_AbstractGroupModelOut* rootGroup) { delete m_rootGroup; m_rootGroup = rootGroup; if(m_rootGroup != nullptr) m_rootGroup->setParentModel(this); } template template CT_OutStdGroupModel* CT_OutResultModelGroup::setRootGroup(IGroupForModel* prototype, const QString& displayableName) { CT_OutStdGroupModel* model = new CT_OutStdGroupModel(prototype, displayableName); setRootGroup(model); return model; } template IResultForModel* CT_OutResultModelGroup::createResult() { ResultGroup* res = new ResultGroup(); res->setModel(this); res->resultToolForModel()->setResultName(resultName()); this->setResult(res); return res; } template CT_OutAbstractModel* CT_OutResultModelGroup::copy() const { return new CT_OutResultModelGroup(*this); }