Quintiq file version 2.0
#parent: #root
Method PTF_SelectListFrom (
  String formname,
  String listname,
  String scenario1,
  String scenario2,
  output String response_o
) as Boolean id:Method_LibPTF_pnlTestRunner_PTF_SelectListFrom_668
{
  #keys: '[136682.0.314457888]'
  Body:
  [*
    // Selects the idx-th item in the specified list
    issuccessful := false;
    targetlist   := this.PTF_GetList( formname, listname, response_o );
    
    if( response_o.Length() = 0 ) //equals to not isnull( targetlist );
    {
      i :=0;
      selection := construct( ScenarioMPs );
      traverse( ScenarioManager, ScenarioMP, scenario, scenario.Name() = scenario1 or scenario.Name() = scenario2 )
      {
       if( i =0 )
       {
        targetlist.SelectByKey( scenario.Key() );
       }
       else
       {
         // Perform select item in list by index
         targetlist.ExtendSelectByKey( scenario.Key() );
       }
       selection.Add( scenario );
       i := i+1;
      }
      DataHolderForScenarioComparison.Data().Flush();
      isformopen := ApplicationLibMacroPlanner.RefreshScenarioComparisonForms();
    
      if( isformopen )
      {
        traverse( selection, Elements, scenario )
        {
          mp := ExternalMDSEditor::MacroPlan( scenario.DatasetName() ).AsMacroPlan();
          DataHolderForScenarioComparison.Data().Add( mp );
        }
      }
    
    
       issuccessful := true;
    }
    else
    {
      MessageBox::Warning( this, response_o, "OK", 1 );
    }
    
    return issuccessful;
  *]
}
