| 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 ); | 
|     } | 
|   *] | 
| } |