Quintiq file version 2.0 
 | 
#parent: ToolbarMain/ButtonRunOptimizer 
 | 
Response OnClick () id:Response_ToolbarMain_ButtonRunOptimizer_OnClick 
 | 
{ 
 | 
  #keys: '[127472.0.155584305]' 
 | 
  Body: 
 | 
  [* 
 | 
    // Run/stop optimizer 
 | 
    if( not this.GetProperty( 'Image' ) = 'MEDIA_STOP_RED' )//Image media run means optimizer is not running 
 | 
    { 
 | 
      ApplicationLibMacroPlanner.RunOptimizerGlobal(); 
 | 
    } 
 | 
    else  
 | 
    { 
 | 
      ApplicationLibMacroPlanner.AbortOptimizer(); 
 | 
    } 
 | 
  *] 
 | 
  CanBindMultiple: false 
 | 
  DefinitionID: 'Responsedef_GUIButtonBase_OnClick' 
 | 
  Precondition: 
 | 
  [* 
 | 
    laststrategyname := guard( MacroPlan.GetLastAlgorithmRun().StrategyName(), '' ); 
 | 
    activescenario := DataHolderActiveScenario.Data(); 
 | 
     
 | 
    return ScenarioManager::HasScenarioManager( ScenarioManager, feedback ) 
 | 
           and ScenarioManager::HasStrategy( ScenarioManager, feedback ) 
 | 
           and Strategy::HasMatchingLastRunStrategy( ScenarioManager, laststrategyname, feedback ) 
 | 
           and OptimizerPuzzle::HasLastUsedOptimizerPuzzle( MacroPlan, feedback ) 
 | 
           and ScenarioManager::HasActiveStrategy( ScenarioManager, feedback ) 
 | 
           and ScenarioManager.ActiveStrategy().GetHasValidContinuousLevels( feedback, false )  //iswebapp = FALSE 
 | 
           and MacroPlan::HasMacroPlan( MacroPlan, feedback ) 
 | 
           and Period_MP::HasPeriod( feedback, MacroPlan )        
 | 
           and ScenarioManager::HasCapacityForMaximumNumberofConcurrentRuns( ScenarioManager, activescenario, false, feedback )  
 | 
           and MacroPlan.CanPlan( feedback ); 
 | 
  *] 
 | 
} 
 |