Quintiq file version 2.0
Component ListSalesDemand
{
  #keys: '[124112.0.87250426]'
  BaseType: 'List'
  Children:
  [
    #child: ColumnTitles1
    Component popupList1
    {
      #keys: '[124112.0.87251704]'
      BaseType: 'popupList'
      Children:
      [
        Component PopupParent
        {
          #keys: '[514.0.129466]'
          BaseType: 'PopupParent'
          IsDerived: true
          Children:
          [
            Component Menu1 { #keys: '[124112.0.97099749]' BaseType: 'Menu' Properties: [ Separator: true ] }
            Component MenuNewSalesDemand { #keys: '[124112.0.98252854]' BaseType: 'Menu' Properties: [ Image: 'DOCUMENT_NEW' Shortcut: 'Ins' Text: 'New...' ] }
            Component MenuEditSalesDemand { #keys: '[124112.0.98256074]' BaseType: 'Menu' Properties: [ BindDoubleClick: true Image: 'EDITOBJECT' Shortcut: 'Enter' Text: 'Edit...' ] }
            Component MenuDeleteSalesDemand { #keys: '[124112.0.98336038]' BaseType: 'Menu' Properties: [ Image: 'GARBAGE' Shortcut: 'Del' Text: 'Delete' ] }
            Component MenuCopySalesDemand { #keys: '[124112.0.98338562]' BaseType: 'Menu' Properties: [ Image: 'COPY' Shortcut: 'Ctrl+O' Text: 'Copy...' ] }
            Component MenuSmartPlan { #keys: '[124808.2.297670685]' BaseType: 'Menu' Properties: [ Image: 'COMPONENT_GREEN' Shortcut: 'Alt+P' Text: 'Smart plan...' ] }
            Component Menu3 { #keys: '[124808.2.297670793]' BaseType: 'Menu' Properties: [ Separator: true ] }
            Component MenuFilter
            {
              #keys: '[104128.0.40995014]'
              BaseType: 'MenuFilter'
              IsDerived: true
              Children:
              [
                Component MenuFIlterByProducts { #keys: '[127710.1.1040937920]' BaseType: 'Menu' Properties: [ Checked: true Checkmark: true Text: 'Products' ] }
                Component MenuFIlterByStockingPoints { #keys: '[127710.1.1040938249]' BaseType: 'Menu' Properties: [ Checked: true Checkmark: true Text: 'Stocking points' ] }
                Component menuSeparator { #keys: '[127710.1.1040938403]' BaseType: 'Menu' Properties: [ Separator: true ] }
                Component MenuFIlterBySalesSegments { #keys: '[127710.1.1041242093]' BaseType: 'Menu' Properties: [ Checked: true Checkmark: true Text: 'Sales segments' ] }
              ]
              Properties:
              [
                ModeledStringList ChildOrdering
                {
                  c: MenuFIlterByProducts
                  c: MenuFIlterByStockingPoints
                  c: MenuFIlterBySalesSegments
                  c: menuSeparator
                  c: menuEditFilter
                }
              ]
            }
            Component menuSeparator224 { #keys: '[121072.0.320451659]' BaseType: 'Menu' Properties: [ Separator: true ] }
            Component MenuAdjustQuantity { #keys: '[121072.0.320452042]' BaseType: 'Menu' Properties: [ Image: 'Edit' Shortcut: 'Ctrl+J' Text: 'Ad&just quantity...' ] }
            Component menuSeparator266 { #keys: '[121072.0.320452909]' BaseType: 'Menu' ViewSecurity: 'SalesDemandPostponement' Properties: [ Separator: true ] }
            Component MenuMergeSalesDemands { #keys: '[121072.0.320453247]' BaseType: 'Menu' ViewSecurity: 'SalesDemandPostponement' Properties: [ Image: 'SCROLL_DELETE' Shortcut: 'Ctrl+M' Text: '&Merge' ] }
          ]
          Properties:
          [
            ModeledStringList ChildOrdering
            {
              c: MenuActions
              c: MenuFilter
              c: menuListQuintiqSetQuantor
              c: Menu1
              c: MenuNewSalesDemand
              c: MenuEditSalesDemand
              c: MenuDeleteSalesDemand
              c: MenuCopySalesDemand
              c: menuSeparator224
              c: MenuAdjustQuantity
              c: Menu3
              c: MenuSmartPlan
              c: menuSeparator266
              c: MenuMergeSalesDemands
            }
          ]
        }
      ]
      Properties:
      [
        PosX: 35
        PosY: 60
      ]
    }
    Component GUIDataExtractorSalesDemand
    {
      #keys: '[124112.0.87253130]'
      BaseType: 'GUIDataExtractor'
      Properties:
      [
        Component: 'DataHolderSalesDemands'
        DataType: 'structured[Forecast]'
        PosX: 5
        PosY: 30
        Transformation: 'Elements'
      ]
    }
    Component GUIDataSetLevelSalesDemand
    {
      #keys: '[124112.0.87253131]'
      BaseType: 'GUIDataSetLevel'
      Properties:
      [
        DataExtractor: 'GUIDataExtractorSalesDemand'
        PosX: 35
        PosY: 30
        SortCriteria: 'SalesSegment_MP.Name;Product_MP.Name;StockingPoint_MP.Name;StartDate'
      ]
    }
    Component DataHolderSalesDemands
    {
      #keys: '[130256.0.410760559]'
      BaseType: 'DataHolder'
      Databinding: 'structured[Forecast]*'
      Children:
      [
        Component GUIDataExtractorSDFromChildProducts
        {
          #keys: '[130256.0.410762079]'
          BaseType: 'GUIDataExtractor'
          Properties:
          [
            Component: 'DataHolderChildProducts'
            DataType: 'structured[Product_MP]'
            PosX: 21
            PosY: 63
            Transformation: 'Elements.SalesDemand.astype(Forecast)'
          ]
        }
        Component GUIDataExtractorSDFromChildSalesSegments
        {
          #keys: '[130256.0.410764633]'
          BaseType: 'GUIDataExtractor'
          Properties:
          [
            Component: 'DataHolderChildSalesSegments'
            DataType: 'structured[SalesSegment_MP]'
            PosX: 88
            PosY: 66
            Transformation: 'Elements.SalesDemand.astype(Forecast)'
          ]
        }
        Component GUIDataExtractorSDFromChildStockingPoints
        {
          #keys: '[127710.1.1963575572]'
          BaseType: 'GUIDataExtractor'
          Properties:
          [
            Component: 'DataHolderChildStockingPoints'
            DataType: 'structured[StockingPoint_MP]'
            PosX: 44
            PosY: 98
            Transformation: 'Elements.SalesDemand.astype(Forecast)'
          ]
        }
      ]
      Properties:
      [
        Description: 'Filtered sales demand based on DataHolderChildSalesSegments and DataHolderChildPISPs'
        PosX: 356
        PosY: 51
        ModeledStringList ChildOrdering
        {
          c: GUIDataExtractorSDFromChildProducts
          c: GUIDataExtractorSDFromChildSalesSegments
          c: GUIDataExtractorSDFromChildStockingPoints
        }
      ]
    }
  ]
  Properties:
  [
    AutoDrag: true
    BackgroundColor: 'Window'
    ContextMenu: 'popupList1'
    FullRowSelect: true
    ScrollOnHighlight: true
    SelectOnHighlighted: true
    ModeledStringList ChildOrdering
    {
      c: ColumnTitles1
      c: popupList1
      c: GUIDataExtractorSalesDemand
      c: GUIDataSetLevelSalesDemand
      c: DataHolderSalesDemands
    }
  ]
  ResponseDefinitions:
  [
    DelegatedResponseDefinition OnClick id:Responsedef_ListSalesDemand_Menu_OnClick
    {
      #keys: '[124112.0.87253132]'
      Initiator: 'Menu'
      IsInherited: false
      ResponseType: 'OnClick'
      Arguments:
      [
        ResponseDefinitionArgument selection
        {
          #keys: '[124112.0.87253133]'
          Binding: 'this.Selection()'
        }
      ]
    }
    DelegatedResponseDefinition OnClick id:Responsedef_ListSalesDemand_GUIButtonBase_OnClick
    {
      #keys: '[124112.0.87253161]'
      Initiator: 'GUIButtonBase'
      IsInherited: false
      ResponseType: 'OnClick'
      Arguments:
      [
        ResponseDefinitionArgument selection
        {
          #keys: '[124112.0.87253162]'
          Binding: 'this.Selection()'
        }
      ]
    }
  ]
}
