void UndoDependentData::createIn(CModel *pModel) { createDependentObjects(pModel, &mCompartmentData); createDependentObjects(pModel, &mSpeciesData); createDependentObjects(pModel, &mParameterData); createDependentObjects(pModel, &mReactionData); createDependentObjects(pModel, &mEventData); }
CMetab * UndoSpeciesData::createObjectIn(CModel *pModel) { if (pModel == NULL) return NULL; createDependentObjects(pModel); if (pModel->getCompartments().getIndex(mCompartment) == C_INVALID_INDEX) return NULL; CCompartment * pCompartment = &pModel->getCompartments()[getCompartment()]; if (pCompartment == NULL) return NULL; if (pCompartment->getMetabolites().getIndex(getName()) != C_INVALID_INDEX) return NULL; CMetab *pSpecies = pModel->createMetabolite(getName(), getCompartment(), getIConc(), getStatus()); if (pSpecies == NULL) return NULL; mKey = pSpecies->getKey(); return pSpecies; }