17 #include <QtGui/QLabel>
18 #include <QtGui/QToolButton>
70 if (!pTask)
return false;
78 if (!pProblem)
return false;
80 std::map<std::string, std::string> ExperimentMap;
81 std::map<std::string, std::string> CrossValidationMap;
91 std::set<CExperiment *> DealtWith;
106 DealtWith.insert(pExperiment);
120 if (DealtWith.count(pExperiment))
continue;
132 for (; it != end; ++it)
133 ExperimentMap[it->second] = it->first;
137 dynamic_cast<CCrossValidationSet *>(pProblem->
getGroup(
"Validation Set"));
153 for (i = pCrossValidationSet->getExperimentCount() - 1; i !=
C_INVALID_INDEX; i--)
160 if (!(*pCrossValidationSet->getExperiment(i) == *pExperiment))
162 *pCrossValidationSet->getExperiment(i) = *pExperiment;
166 DealtWith.insert(pExperiment);
171 pCrossValidationSet->removeExperiment(i);
180 if (DealtWith.count(pExperiment))
continue;
182 pExperiment = pCrossValidationSet->addExperiment(*pExperiment);
192 for (; it != end; ++it)
193 CrossValidationMap[it->second] = it->first;
213 mChanged |= mpParameters->save(&ExperimentMap, &CrossValidationMap);
214 mChanged |= mpConstraints->save(&ExperimentMap, &CrossValidationMap);
229 if (!pTask)
return false;
237 if (!pProblem)
return false;
247 for (i = 0; i < imax; i++)
259 for (i = 0; i < imax; i++)
273 QMessageBox::Ok | QMessageBox::Default,
274 QMessageBox::NoButton);
277 mpParameters->setExperimentSet(const_cast<const CExperimentSet *&>(
mpExperimentSet));
278 mpParameters->setCrossValidationSet(const_cast<const CCrossValidationSet *&>(
mpCrossValidationSet));
281 mpConstraints->setExperimentSet(const_cast<const CExperimentSet *&>(
mpExperimentSet));
282 mpConstraints->setCrossValidationSet(const_cast<const CCrossValidationSet *&>(
mpCrossValidationSet));
297 if (!pTask)
return false;
315 if (!pTask)
return false;
332 connect(pDialog, SIGNAL(experimentChanged()), mpParameters, SLOT(slotExperimentChanged()));
333 connect(pDialog, SIGNAL(experimentChanged()), mpConstraints, SLOT(slotExperimentChanged()));
342 if (mpTabWidget->tabText(mpTabWidget->indexOf(currentPage)).contains(
"Parameters", Qt::CaseSensitive))
374 QString TabLabel =
"Parameters (" + QString::number(number) +
")";
375 mpTabWidget->setTabText(mpTabWidget->indexOf(mpParameters), TabLabel);
380 QString TabLabel =
"Constraints (" + QString::number(number) +
")";
381 mpTabWidget->setTabText(mpTabWidget->indexOf(mpConstraints), TabLabel);
395 connect(pDialog, SIGNAL(experimentChanged()), mpParameters, SLOT(slotCrossValidationChanged()));
396 connect(pDialog, SIGNAL(experimentChanged()), mpConstraints, SLOT(slotCrossValidationChanged()));
CCopasiDataModel * getObjectDataModel()
static const CCopasiMessage & peekLastMessage()
CCopasiProblem * getProblem()
const std::string & getObjectName() const
virtual size_t size() const
CCopasiObject * get(const std::string &key)
static std::string getAllMessageText(const bool &chronological=true)
const bool & getCreateParameterSets() const
const bool & getRandomizeStartValues() const
CExperiment * getExperiment(const size_t &index)
static const unsigned int ValidMethods[]
virtual const std::string & getKey() const
const C_FLOAT64 & getWeight() const
CExperiment * addExperiment(const CExperiment &experiment)
const CCopasiMessage::Type & getType() const
void setWeight(const C_FLOAT64 &weight)
static CCopasiVector< CCopasiDataModel > * getDatamodelList()
const CCopasiVectorN< CModelParameterSet > & getModelParameterSets() const
void setRandomizeStartValues(const bool &randomize)
virtual bool load(CExperimentSet *pExperimentSet, CCopasiDataModel *pDataModel)
static CKeyFactory * getKeyFactory()
static StandardButton critical(QWidget *parent, const QString &title, const QString &text, StandardButtons buttons=Ok, StandardButton defaultButton=NoButton)
const unsigned C_INT32 & getThreshold() const
static COptMethod * createMethod(CCopasiMethod::SubType subType=CCopasiMethod::EvolutionaryProgram)
const bool & getCalculateStatistics() const
void setCreateParameterSets(const bool &create)
CCopasiParameterGroup * getGroup(const std::string &name)
size_t getExperimentCount() const
void setCalculateStatistics(const bool &calculate)
void removeExperiment(const size_t &index)