Quintiq file version 2.0
|
#parent: #root
|
Method GenerateNodes (NamedValueTree nvt, NamedValue nv, structured[NamedValue] set) id:Method_DialogSettingsEngine_GenerateNodes
|
{
|
#keys: '[139164.3.1812416689]'
|
Body:
|
[*
|
handle_metadata := nvt.GetHandle( LibSE_SettingsContainer::Handle_Metadata() );
|
handle_exclude := nvt.GetHandle( LibSE_SettingsContainer::Handle_Exclude() );
|
metadata := guard( nv.Child( handle_metadata ), null( NamedValue ) );
|
exclude := guard( metadata.Child( handle_exclude ), null( NamedValue ) );
|
|
if( isnull( exclude ) )
|
{
|
set.Add( nv );
|
|
if( nv.Children().Size() = 0
|
or ( nv.Children().Size() = 1 and not isnull( metadata ) ) )
|
{
|
setting := this.ReadValue( nvt, nv );
|
|
path := selectvalues( set, Elements, node, true, node.Name() ).ToString( '.' );
|
setting.Name( path );
|
|
traverse( set, Elements, node )
|
{
|
setting.SettingNode( relnew,
|
Name := node.Name(),
|
SequenceNr := setting.SettingNode( relsize ) );
|
}
|
|
if( not isnull( metadata ) )
|
{
|
handle_description := nvt.GetHandle( LibSE_SettingsContainer::Handle_Description() );
|
description := metadata.Child( handle_description );
|
if( not isnull( description ) )
|
{
|
setting.Description( description.GetValueAsString() );
|
}
|
|
handle_definedby := nvt.GetHandle( LibSE_SettingsContainer::Handle_DefinedBy() );
|
definedby := metadata.Child( handle_definedby );
|
if( not isnull( definedby ) )
|
{
|
setting.DefinedBy( definedby.GetValueAsString() );
|
setting.OriginalDefinedBy( definedby.GetValueAsString() );
|
}
|
}
|
this.PropagateSettingAttributes( setting );
|
}
|
else
|
{
|
traverse( nv.Children(), Elements, child )
|
{
|
this.GenerateNodes( nvt, child, set );
|
}
|
}
|
|
set.Remove( nv );
|
}
|
*]
|
}
|