Quintiq file version 2.0
#parent: #root
Method ParseFormSubComponents (TG_UIForm tg_form, GUIComponent component) id:Method_GlobalStateTestGenerator_ParseFormSubComponents_810
{
  #keys: '[142876.9.493604634]'
  Body:
  [*
    name := '';
    componentkey := Key::ZeroKey();
    display := '';
    issupported := true;
    
    if( component.istype( List ) )
    {
      display := component.astype( List ).Display();
    }
    else if( component.istype( GanttChart ) )
    {
      display := component.astype( GanttChart ).Display();
    }
    else if( component.istype( CustomDrawComponent ) )
    {
      display := component.astype( CustomDrawComponent ).Display();
    }
    else if( component.istype( Dashboard ) )
    {
      display := component.astype( Dashboard ).Display();
    }
    else
    {
      issupported := false;
    }
    
    name := GlobalStateTestGenerator.GetComponentNameFromDisplay( display );
    componentkey := component.Key();
    
    if( issupported )
    {
      title := guard( component.Parent().astype( SplitterPane ).GetProperty( 'Title' ), '' );
      tg_component := TG_UIComponent::FindOrCreate( tg_form, componentkey, name, display, title );
      
      GlobalStateTestGenerator.ParseComponents( tg_component, component );
    }
    
    traverse( component, SubComponents, child )
    {
      GlobalStateTestGenerator.ParseFormSubComponents( tg_form, child );
    }
  *]
}
