Exemple #1
0
 void prerender()
 {
     LH_TextNumber::prerender();
     if( showUnits() )
     {
         setText( text().append( "B" ) );
     }
 }
bool CQTrajectoryWidget::loadTask()
{
  CTrajectoryTask * pTask =
    dynamic_cast< CTrajectoryTask * >(mpTask);

  if (!pTask) return false;

  loadCommon();
  loadMethod();

  showUnits();

  CTrajectoryProblem* TrajectoryProblem =
    dynamic_cast<CTrajectoryProblem *>(pTask->getProblem());
  assert(TrajectoryProblem);

  pdelete(mpTrajectoryProblem);

  mpTrajectoryProblem = new CTrajectoryProblem(*TrajectoryProblem, NO_PARENT);

  //numbers
  mpEditIntervalSize->setText(QString::number(TrajectoryProblem->getStepSize()));
  mpEditIntervals->setText(QString::number(TrajectoryProblem->getStepNumber()));
  mpEditDuration->setText(QString::number(TrajectoryProblem->getDuration()));
  mpCheckAutomaticInterval->setChecked(TrajectoryProblem->getAutomaticStepSize());

  assert(CCopasiRootContainer::getDatamodelList()->size() > 0);
  C_FLOAT64 InitialTime = CCopasiRootContainer::getDatamodelList()->operator[](0).getModel()->getInitialTime();

  bool Delayed;

  if (TrajectoryProblem->getStepSize() > 0.0)
    Delayed = (TrajectoryProblem->getOutputStartTime() - InitialTime) > std::numeric_limits< C_FLOAT64 >::min();
  else
    Delayed = (InitialTime - TrajectoryProblem->getOutputStartTime()) > std::numeric_limits< C_FLOAT64 >::min();

  mpCheckDelay->setChecked(Delayed);
  mpEditDelay->setEnabled(Delayed);

  mpEditDelay->setText(QString::number(TrajectoryProblem->getOutputStartTime()));

  mpCheckOutputEvent->setChecked(TrajectoryProblem->getOutputEvent());
  mpCheckContinueEvents->setChecked(TrajectoryProblem->getContinueSimultaneousEvents());
  mpCheckStartInSteadyState->setChecked(TrajectoryProblem->getStartInSteadyState());

  //store time series checkbox
  mpCheckSave->setChecked(TrajectoryProblem->timeSeriesRequested());

  checkTimeSeries();

  updateIntervals();

  mpValidatorDuration->saved();
  mpValidatorIntervalSize->saved();
  mpValidatorIntervals->saved();
  mpValidatorDelay->saved();
  return true;
}
Exemple #3
0
 void prerender()
 {
     LH_TextNumber::prerender();
     if( showUnits() )
     {
         if( setup_bits_->value() ) setText( text().append( "bit/s" ) );
         else setText( text().append( "B/s" ) );
     }
 }
bool CQTrajectoryWidget::loadTask()
{
    CTrajectoryTask * pTask =
        dynamic_cast< CTrajectoryTask * >(mpTask);

    if (!pTask) return false;

    loadCommon();
    loadMethod();

    showUnits();

    CTrajectoryProblem* trajectoryproblem =
        dynamic_cast<CTrajectoryProblem *>(pTask->getProblem());
    assert(trajectoryproblem);

    pdelete(mpTrajectoryProblem);
    mpTrajectoryProblem = new CTrajectoryProblem(*trajectoryproblem);

    //numbers
    mpEditIntervalSize->setText(QString::number(trajectoryproblem->getStepSize()));
    mpEditIntervals->setText(QString::number(trajectoryproblem->getStepNumber()));
    mpEditDuration->setText(QString::number(trajectoryproblem->getDuration()));

    assert(CCopasiRootContainer::getDatamodelList()->size() > 0);
    C_FLOAT64 InitialTime = (*CCopasiRootContainer::getDatamodelList())[0]->getModel()->getInitialTime();

    bool Delayed;

    if (trajectoryproblem->getStepSize() > 0.0)
        Delayed = (trajectoryproblem->getOutputStartTime() - InitialTime) > DBL_MIN;
    else
        Delayed = (InitialTime - trajectoryproblem->getOutputStartTime()) > DBL_MIN;

    mpCheckDelay->setChecked(Delayed);
    mpEditDelay->setEnabled(Delayed);

    mpEditDelay->setText(QString::number(trajectoryproblem->getOutputStartTime()));

    //store time series checkbox
    mpCheckSave->setChecked(trajectoryproblem->timeSeriesRequested());

    checkTimeSeries();

    updateIntervals();

    mpValidatorDuration->saved();
    mpValidatorIntervalSize->saved();
    mpValidatorIntervals->saved();
    mpValidatorDelay->saved();
    return true;
}
// virtual
bool CQTrajectoryWidget::update(ListViews::ObjectType objectType, ListViews::Action action, const std::string & /* key */)
{
    switch (objectType)
    {
    case ListViews::MODEL:

        if (action == ListViews::CHANGE)
        {
            showUnits();
        }

        break;

    default:
        break;
    }

    return true;
}
/*
 * Function to load saved values of the Task
 */
bool CQCrossSectionTaskWidget::loadTask()
{
  // load Task
  CCrossSectionTask * pTask =
    dynamic_cast< CCrossSectionTask * >(mpTask);

  if (!pTask) return false;

  // load functions from the Parent, TaskWidget
  loadCommon();
  loadMethod();

  showUnits();

  // load Problem
  CCrossSectionProblem * pProblem = dynamic_cast<CCrossSectionProblem *>(pTask->getProblem());
  assert(pProblem);

  pdelete(mpCrossSectionProblem);
  mpCrossSectionProblem = new CCrossSectionProblem(*pProblem, NO_PARENT);

  // load the saved values
  const std::string &name = pProblem->getSingleObjectCN();

  if (name.empty())
    setSingleObject(NULL);
  else
    setSingleObject(static_cast<const CCopasiObject*>(pTask->getObjectDataModel()->getObject(name)));

  mpLineEditValue->setText(QString::number(pProblem->getThreshold()));
  mpDirectionPositive->setChecked(mpCrossSectionProblem->isPositiveDirection());
  mpDirectionNegative->setChecked(!mpCrossSectionProblem->isPositiveDirection());

  mpCheckSimConvergence->setChecked(pProblem->getFlagLimitConvergence());
  mpTxtConvergence->setEnabled(pProblem->getFlagLimitConvergence());

  if (pProblem->getFlagLimitConvergence())
    mpTxtConvergence->setText(QString::number(pProblem->getConvergenceTolerance()));
  else
    mpTxtConvergence->setText("");

  mpCheckOutputConvergence->setChecked(pProblem->getFlagLimitOutConvergence());
  mpTxtOutConvergence->setEnabled(pProblem->getFlagLimitOutConvergence());

  if (pProblem->getFlagLimitOutConvergence())
    mpTxtOutConvergence->setText(QString::number(pProblem->getConvergenceOutTolerance()));
  else
    mpTxtOutConvergence->setText("");

  mpCheckSimCrossings->setChecked(pProblem->getFlagLimitCrossings());
  mpTxtCrossings->setEnabled(pProblem->getFlagLimitCrossings());

  if (pProblem->getFlagLimitCrossings())
    mpTxtCrossings->setText(QString::number(pProblem->getCrossingsLimit()));
  else
    mpTxtCrossings->setText("");

  mpCheckOutputCrossings->setChecked(pProblem->getFlagLimitOutCrossings());
  mpTxtOutCrossings->setEnabled(pProblem->getFlagLimitOutCrossings());

  if (pProblem->getFlagLimitOutCrossings())
    mpTxtOutCrossings->setText(QString::number(pProblem->getOutCrossingsLimit()));
  else
    mpTxtOutCrossings->setText("");

  //mpCheckLT->setChecked(pProblem->getFlagLimitTime());
  if (pProblem->getFlagLimitOutTime())
    {
      mpCheckOutputDelay->setChecked(true);
      mpTxtOutTime->setEnabled(true);
      mpTxtOutTime->setText(QString::number(pProblem->getOutputStartTime()));
    }
  else
    {
      mpCheckOutputDelay->setChecked(false);
      mpTxtOutTime->setEnabled(false);
      mpTxtOutTime->setText("");
    }

  mpTxtTime->setText(QString::number(pProblem->getTimeLimit()));

  mpValidatorCrossing->saved();
  mpValidatorTolerance->saved();
  mpValidatorOutTolerance->saved();
  mpValidatorLC->saved();
  mpValidatorOutLC->saved();
  mpValidatorTime->saved();
  mpValidatorOutTime->saved();

  return true;
}