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 ); } *] }