43 mExpressionValid(true),
44 mInitialExpressionValid(true)
56 mpMetaboliteTable->horizontalHeader()->hide();
66 mpComboBoxDim->show();
69 mpComboBoxDim->hide();
85 std::string name =
"compartment_1";
93 name =
"compartment_";
94 name +=
TO_UTF8(QString::number(i));
113 bool success =
false;
115 switch (pDialog->result())
117 case QDialog::Rejected:
132 for (itMetab = Metabolites.
begin(); itMetab != Metabolites.
end(); ++itMetab)
134 compartmentObjectsToCopy.
addMetab(*itMetab);
149 for (itMetab = Metabolites.
begin(); itMetab != Metabolites.
end(); ++itMetab)
151 compartmentObjectsToCopy.
addMetab(*itMetab);
159 for (; it != end; ++it)
187 cModelExpObj.
duplicate(compartmentObjectsToCopy,
"_copy", origToCopyMappings);
200 assert(pDataModel != NULL);
203 if (pModel == NULL)
return;
207 QMessageBox::StandardButton choice =
214 case QMessageBox::Ok:
236 const CModel * pModel = NULL;
244 mpLblExpression->hide();
245 mpExpressionEMW->hide();
247 mpBoxUseInitialExpression->setEnabled(
true);
256 if (!Units.isEmpty())
257 Units =
" (" + Units +
")";
259 mpLblExpression->setText(
"Expression" + Units);
261 mpLblExpression->show();
262 mpExpressionEMW->show();
264 mpBoxUseInitialExpression->setEnabled(
false);
267 mpExpressionEMW->updateWidget();
275 if (!Units.isEmpty())
276 Units =
" (" + Units +
")";
278 mpLblExpression->setText(
"Expression" + Units);
280 mpLblExpression->show();
281 mpExpressionEMW->show();
283 mpBoxUseInitialExpression->setEnabled(
true);
286 mpExpressionEMW->updateWidget();
300 if (useInitialAssignment)
302 mpLblInitialExpression->show();
303 mpInitialExpressionEMW->show();
305 mpEditInitialVolume->setEnabled(
false);
306 mpInitialExpressionEMW->updateWidget();
310 mpLblInitialExpression->hide();
311 mpInitialExpressionEMW->hide();
344 mpExpressionEMW->updateWidget();
347 if (mpBoxUseInitialExpression->isChecked())
350 mpInitialExpressionEMW->updateWidget();
360 const std::string & )
386 const CModel * pModel = NULL;
397 if (!ValueUnits.isEmpty())
398 ValueUnits =
" (" + ValueUnits +
")";
405 if (!RateUnits.isEmpty())
406 RateUnits =
" (" + RateUnits +
")";
408 mpLblInitialValue->setText(
"Initial Volume" + ValueUnits);
409 mpLblInitialExpression->setText(
"Initial Expression" + ValueUnits);
410 mpLblVolume->setText(
"Volume" + ValueUnits);
411 mpLblRate->setText(
"Rate" + RateUnits);
431 mpExpressionEMW->updateWidget();
435 mpInitialExpressionEMW->updateWidget();
444 mpBoxUseInitialExpression->setChecked(
false);
448 mpBoxUseInitialExpression->setChecked(
true);
462 #ifdef COPASI_EXTUNIT
497 if (mpBoxUseInitialExpression->isChecked() &&
503 else if (!mpBoxUseInitialExpression->isChecked() &&
528 QTableWidgetItem * pItem = mpMetaboliteTable->item(row, col);
533 CCopasiContainer::objectMap::const_iterator it =
535 CCopasiContainer::objectMap::const_iterator end =
538 for (; it != end; ++it)
539 if (dynamic_cast< CMetab * >(it->second) != NULL)
541 s2 = it->second->getObjectName();
554 CCopasiContainer::objectMap::const_iterator it =
556 CCopasiContainer::objectMap::const_iterator end =
559 for (
int i = 0; it != end; ++it)
561 if (dynamic_cast< CMetab * >(it->second) != NULL)
563 mpMetaboliteTable->setItem(i++, 0,
new QTableWidgetItem(
FROM_UTF8(it->second->getObjectName())));
567 mpMetaboliteTable->resizeRowsToContents();
Header file of class CExpression.
CCopasiContainer * getObjectAncestor(const std::string &type) const
CCopasiVectorNS< CMetab > & getMetabolites()
static const std::string StatusName[]
void switchToOtherWidget(const size_t &id, const std::string &key)
const C_FLOAT64 & getRate() const
void addReaction(const CReaction *x)
const std::string & getObjectName() const
bool setDimensionality(unsigned C_INT32 dim)
const CChemEqInterface & getChemEqInterface() const
unsigned C_INT32 getDimensionality() const
virtual size_t size() const
void slotInitialExpressionValid(bool valid)
virtual const objectMap & getObjects() const
bool removeCompartment(const size_t index, const bool &recursive=true)
void initFromReaction(const std::string &key)
std::string getVolumeRateUnitsDisplayString() const
const CCompartment * getCompartment() const
bool setInitialExpression(const std::string &expression)
std::string getExpression() const
virtual bool enterProtected()
virtual std::set< const CCopasiObject * > getDeletedObjects() const
bool duplicate(const SetOfModelElements &source, const std::string &index, ElementsMap &emap)
const C_FLOAT64 & getInitialValue() const
void slotTypeChanged(int type)
void addMetab(const CMetab *x)
void slotInitialTypeChanged(bool useInitialAssignment)
std::string getVolumeUnitsDisplayString() const
void loadMetaboliteTable()
virtual const std::string & getKey() const
virtual void setStatus(const CModelEntity::Status &status)
static StandardButton confirmDelete(QWidget *parent, const QString &objectType, const QString &objects, const std::set< const CCopasiObject * > &deletedObjects)
CCompartment * mpCompartment
std::string getInitialExpression() const
std::string getDuplicateKey(const std::string &sourceKey) const
find the key of the duplicated object from the source object (if it exists)
static CCopasiVector< CCopasiDataModel > * getDatamodelList()
bool mInitialExpressionValid
std::vector< int > mItemToType
Header file of class CCopasiContainer.
void fillDependencies(const CModel *pModel)
bool addObject(const CCopasiObject *x)
const C_FLOAT64 & getValue() const
void slotMetaboliteTableCurrentChanged(int row, int col)
CCopasiVectorNS< CReaction > & getReactions()
virtual void setInitialValue(const C_FLOAT64 &initialValue)
const CModelEntity::Status & getStatus() const
CQCompartment(QWidget *parent=0, const char *name=0)
bool setExpression(const std::string &expression)
bool isMulticompartment() const
virtual bool update(ListViews::ObjectType objectType, ListViews::Action action, const std::string &key)
void slotExpressionValid(bool valid)