Quintiq file version 2.0 
 | 
#parent: #root 
 | 
Method Optimizer_UpdateIconResultStatus () id:Method_ApplicationLibMacroPlanner_Optimizer_UpdateIconResultStatus 
 | 
{ 
 | 
  #keys: '[144528.3.415842982]' 
 | 
  Body: 
 | 
  [* 
 | 
    // Draw optimizer status 
 | 
    scenario := DataHolderActiveScenario.Data(); 
 | 
     
 | 
    if( isnull( scenario ) ) 
 | 
    { 
 | 
      ImageOptimizerStatus.Image( '' ); // Reset image if no active scenario (e.g scenario deleted and no more other active scenario) 
 | 
    } 
 | 
    else 
 | 
    {                                              
 | 
      scenarioMP := scenario.astype( ScenarioMP ); 
 | 
      img := ""; 
 | 
      status := scenarioMP.OptimizerStatus(); 
 | 
      remark := scenarioMP.OptimizerRemark(); 
 | 
      runlevelfeedbacks := scenarioMP.RunUIfeedbacks(); 
 | 
       
 | 
      isrunning := MacroPlan::GetIsStatusRunning( status ); 
 | 
      lastrun := ifexpr( MacroPlan.LastOptimizerRun().IsInfinite(), "-", [String]MacroPlan.LastOptimizerRun() ); 
 | 
       
 | 
      if( isrunning ) 
 | 
      { 
 | 
        img := "GEAR_RUN"; 
 | 
      } 
 | 
      else if( Optimization::GetIsStatusTerminated( status ) ) 
 | 
      { 
 | 
        img := "GEAR_STOP"; 
 | 
      } 
 | 
      else if( Optimization::GetIsStatusFeasibleWithNumericalWarnings( status ) ) 
 | 
      { 
 | 
        img := "GEAR_INFORMATION"; 
 | 
      } 
 | 
      else if( Optimization::GetIsStatusInfeasibleExceedsTimeLimit( status, remark ) ) 
 | 
      { 
 | 
        img := "GEAR_ERROR"; 
 | 
      } 
 | 
      else if( Optimization::GetIsStatusInfeasibleWithinTimeLimit( status, remark ) ) 
 | 
      { 
 | 
        img := "GEAR_WARNING"; 
 | 
      } 
 | 
      else if( Optimization::GetIsStatusTimeLimitExceeded( status ) ) 
 | 
      { 
 | 
        img := "GEAR_TIME"; 
 | 
      } 
 | 
      else if( Optimization::GetIsStatusFeasibleExceedsTimeLimit( status, remark ) ) 
 | 
      { 
 | 
        img := "GEAR_TIME"; 
 | 
      } 
 | 
      else if( Optimization::GetIsStatusFeasibleWithinTimeLimit( status, remark ) ) 
 | 
      { 
 | 
        img := "GEAR_OK";  
 | 
      } 
 | 
       
 | 
      ImageOptimizerStatus.Image( img ); 
 | 
       
 | 
      lastrunstatus := Translations::MP_Algorithm_OptimizerStatusTooltip( lastrun, status ); 
 | 
       
 | 
      if( isrunning ) 
 | 
      { 
 | 
        lastrunstatus := Translations::MP_Designer_OptimizerIsRunning(); 
 | 
      } 
 | 
       
 | 
      lastrunstatus := lastrunstatus + runlevelfeedbacks; 
 | 
         
 | 
      ImageOptimizerStatus.Tooltip( lastrunstatus ); 
 | 
    } 
 | 
  *] 
 | 
} 
 |