Quintiq file version 2.0
#parent: #root
Method UpdateOptimizerRunButton () id:Method_ApplicationLibMacroPlanner_UpdateOptimizerRunButton
{
  #keys: '[135072.0.81884329]'
  Body:
  [*
    //Update icon and tooltip of the run optimizer button based on the last run status
    run := guard( MacroPlan.Optimization().GetLastRegularAlgorithmRun(), null( AlgorithmRun ) );
    strategy := AlgorithmRun::GetLastStrategyUsed( MacroPlan.GlobalParameters_MP(), run, ScenarioManager, true, false );
    strategyname := guard( strategy.Name(), '' );
            
    imageopt := 'MEDIA-PLAY-GREEN-16.PNG';
    tooltipopt := Translations::MP_Designer_RunOptimizer( strategyname );
    
    if( MacroPlan::GetIsStatusRunning( ValueHolder.Value() ) )
    {
      imageopt := 'MEDIA_STOP_RED';
      tooltipopt := Translations::MP_Designer_AbortOptimizer() ;
    }
    else if( guard( run.LastLevel().End() >= run.FirstLevel().Start(), true ) )
    { 
    
      if( ValueHolderSanityCheckHighestSeverity.Value() = SanityCheckCategoryLevel::GetSanityCheckCategoryDataIssue() )
      {
        imageopt := 'MEDIA-PLAY-GREEN-WARNING-16.PNG';
        tooltipopt := Translations::MP_Designer_RunOptimizerWithWarning( strategyname );
      }
    
    }
    
    ButtonRunOptimizer.SetProperty( 'Image', imageopt );
    ButtonRunOptimizer.SetProperty( 'Tooltip', tooltipopt );
  *]
}
