Quintiq file version 2.0
|
#parent: #root
|
Method ParseMenu (Menu component) id:Method_GlobalStateTestGenerator_ParseMenu_22
|
{
|
#keys: '[142876.9.493604446]'
|
Body:
|
[*
|
name := '';
|
title := '';
|
formkey := Key::ZeroKey();
|
dialogkey := Key::ZeroKey();
|
|
if( component.istype( ComponentMenu ) )
|
{
|
name := component.astype( ComponentMenu ).GetProperty( 'ComponentType' );
|
GlobalStateTestGenerator.GetFormProperties( name, title, formkey );
|
}
|
else
|
{
|
name := component.Text();
|
title := '{TODO_TITLE}'; // TODO
|
|
componentname := component.Display().Tokenize( '.' ).Reverse().Element( 0 );
|
cd := select( ApplicationScope.Project().ComponentRegistry().GetAllComponents(),
|
Elements,
|
mcd,
|
mcd.Name() = componentname );
|
|
if( not isnull( cd ) )
|
{
|
dialogname := '';
|
traverse( cd.Responses(), Responses, response,
|
dialogname = '' )
|
{
|
impl := response.Implementation().astype( ModeledResponseQuillImplementation );
|
dialogname := GlobalStateTestGenerator.GetDialogNameFromResponse( impl );
|
}
|
|
if( dialogname <> '' )
|
{
|
try
|
{
|
newdialog := construct( Dialog, dialogname );
|
name := dialogname;
|
dialogkey := newdialog.Key();
|
title := newdialog.Title();
|
}
|
onerror
|
{
|
}
|
}
|
}
|
}
|
|
if( formkey <> Key::ZeroKey() )
|
{
|
try
|
{
|
newform := construct( Form, name );
|
form := TG_UIForm::FindOrCreate( TestGenerator, name, title, formkey );
|
GlobalStateTestGenerator.ParseForm( form, newform );
|
}
|
onerror
|
{
|
newdialog := construct( Dialog, name );
|
dialogkey := newdialog.Key();
|
|
dialog := TG_UIDialog::FindOrCreate( TestGenerator, name, title, dialogkey );
|
GlobalStateTestGenerator.ParseDialog( dialog, construct( Dialog, name ) );
|
}
|
}
|
else if( dialogkey <> Key::ZeroKey() )
|
{
|
dialog := TG_UIDialog::FindOrCreate( TestGenerator, name, title, dialogkey );
|
GlobalStateTestGenerator.ParseDialog( dialog, construct( Dialog, name ) );
|
}
|
|
traverse( component, SubComponents.astype( Menu ), child )
|
{
|
this.ParseMenu( child );
|
}
|
*]
|
}
|