Quintiq file version 2.0
#parent: #root
Method PopulateDisplaySequence (
  output owning shadow[SCVConfiguration] scvConfig,
  Boolean isupstream,
  shadow[SCVNode] node
) id:Method_FormSupplyChainVisualization_PopulateDisplaySequence
{
  #keys: '[132894.0.964050708]'
  Body:
  [*
    // With this method, we go to all the nodes
    // that doesn't spread out anymore, and position
    // their Ys OffsetY apart
    
    inputnodes := selectsortedset( scvConfig, SCVNode, n,
                                   n.Depth() = node.Depth() + 1
                                   and n.IsUpstream() = isupstream
                                   and n.OwnerNodeKey() = node.Key().AsQUILL(),
                                   n.SortSequence() )
    
    if( inputnodes.Size() < 1 )
    {
      node.Y( scvConfig.BorderOffsetY() + scvConfig.OffsetY() * ( scvConfig.DisplaySequence() ) )
      scvConfig.DisplaySequence( scvConfig.DisplaySequence() + 1 );
    }
    else
    {
      traverse( inputnodes, Elements, e )
      {
        this.PopulateDisplaySequence( &scvConfig, isupstream, e );
      }
    }
  *]
}
