Quintiq file version 2.0
Component ListCustomerOrders
{
  #keys: '[142576.0.84136265]'
  BaseType: 'List'
  Children:
  [
    Component popupList1
    {
      #keys: '[142576.0.84136272]'
      BaseType: 'popupList'
      Children:
      [
        Component PopupParent
        {
          #keys: '[514.0.129466]'
          BaseType: 'PopupParent'
          IsDerived: true
          Children:
          [
            Component MenuFilter
            {
              #keys: '[104128.0.40995014]'
              BaseType: 'MenuFilter'
              IsDerived: true
              Children:
              [
                Component MenuFIlterByProducts { #keys: '[142576.0.84136273]' BaseType: 'Menu' Properties: [ Checked: true Checkmark: true Text: 'Products' ] }
                Component MenuFIlterByStockingPoints { #keys: '[142576.0.84136274]' BaseType: 'Menu' Properties: [ Checked: true Checkmark: true Text: 'Stocking points' ] }
                Component menuSeparator { #keys: '[142576.0.84136276]' BaseType: 'Menu' Properties: [ Separator: true ] }
                Component MenuFIlterBySalesSegments { #keys: '[142576.0.84136275]' BaseType: 'Menu' Properties: [ Checked: true Checkmark: true Text: 'Sales segments' ] }
              ]
              Properties:
              [
                ModeledStringList ChildOrdering
                {
                  c: MenuFIlterByProducts
                  c: MenuFIlterByStockingPoints
                  c: MenuFIlterBySalesSegments
                  c: menuSeparator
                  c: menuEditFilter
                }
              ]
            }
            Component Menu1 { #keys: '[142576.0.84136277]' BaseType: 'Menu' Properties: [ Separator: true ] }
            Component MenuNewSalesDemand { #keys: '[142576.0.84136278]' BaseType: 'Menu' Properties: [ Image: 'DOCUMENT_NEW' Shortcut: 'Ins' Text: 'New...' ] }
            Component MenuEditSalesDemand { #keys: '[142576.0.84136279]' BaseType: 'Menu' Properties: [ BindDoubleClick: true Image: 'EDITOBJECT' Shortcut: 'Enter' Text: 'Edit...' ] }
            Component MenuDeleteSalesDemand { #keys: '[142576.0.84136280]' BaseType: 'Menu' Properties: [ Image: 'GARBAGE' Shortcut: 'Del' Text: 'Delete' ] }
            Component MenuCopySalesDemand { #keys: '[142576.0.84136281]' BaseType: 'Menu' Properties: [ Image: 'COPY' Shortcut: 'Ctrl+O' Text: 'Copy...' ] }
            Component menuSeparator224 { #keys: '[142576.0.84136282]' BaseType: 'Menu' Properties: [ Separator: true ] }
            Component MenuAdjustQuantity { #keys: '[142576.0.84136283]' BaseType: 'Menu' Properties: [ Image: 'Edit' Shortcut: 'Ctrl+J' Text: 'Ad&just quantity...' ] }
            Component menuSeparator266 { #keys: '[142576.0.84136286]' BaseType: 'Menu' Properties: [ Separator: true ] }
            Component MenuMergeSalesDemands { #keys: '[142576.0.84136287]' BaseType: 'Menu' 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: menuSeparator266
              c: MenuMergeSalesDemands
            }
          ]
        }
      ]
      Properties:
      [
        PosX: 35
        PosY: 60
      ]
    }
    Component GUIDataExtractorCustomerOrder
    {
      #keys: '[142576.0.84136266]'
      BaseType: 'GUIDataExtractor'
      Properties:
      [
        Component: 'DataHolderCustomerOrdersToDisplay'
        DataType: 'structured[CustomerOrder]'
        PosX: 5
        PosY: 30
        Transformation: 'Elements'
      ]
    }
    Component GUIDataSetLevelSalesDemand
    {
      #keys: '[142576.0.84136267]'
      BaseType: 'GUIDataSetLevel'
      Properties:
      [
        DataExtractor: 'GUIDataExtractorCustomerOrder'
        PosX: 35
        PosY: 30
        SortCriteria: 'SalesSegment_MP.Name;Product_MP.Name;StockingPoint_MP.Name;StartDate'
      ]
    }
    Component DataHolderCustomerOrders
    {
      #keys: '[142576.0.84136268]'
      BaseType: 'DataHolder'
      Databinding: 'structured[CustomerOrder]*'
      Children:
      [
        Component GUIDataExtractorSDFromChildProducts
        {
          #keys: '[142576.0.84136269]'
          BaseType: 'GUIDataExtractor'
          Properties:
          [
            Component: 'DataHolderChildProducts'
            DataType: 'structured[Product_MP]'
            PosX: 21
            PosY: 63
            Transformation: 'Elements.SalesDemand.astype(CustomerOrder)'
          ]
        }
        Component GUIDataExtractorSDFromChildSalesSegments
        {
          #keys: '[142576.0.84136270]'
          BaseType: 'GUIDataExtractor'
          Properties:
          [
            Component: 'DataHolderChildSalesSegments'
            DataType: 'structured[SalesSegment_MP]'
            PosX: 88
            PosY: 66
            Transformation: 'Elements.SalesDemand.astype(CustomerOrder)'
          ]
        }
        Component GUIDataExtractorSDFromChildStockingPoints
        {
          #keys: '[142576.0.84136271]'
          BaseType: 'GUIDataExtractor'
          Properties:
          [
            Component: 'DataHolderChildStockingPoints'
            DataType: 'structured[StockingPoint_MP]'
            PosX: 44
            PosY: 98
            Transformation: 'Elements.SalesDemand.astype(CustomerOrder)'
          ]
        }
      ]
      Properties:
      [
        Description: 'Filtered customer order based on DataHolderChildSalesSegments and DataHolderChildPISPs'
        PosX: 54
        PosY: 245
        ModeledStringList ChildOrdering
        {
          c: GUIDataExtractorSDFromChildProducts
          c: GUIDataExtractorSDFromChildSalesSegments
          c: GUIDataExtractorSDFromChildStockingPoints
        }
      ]
    }
    #child: ColumnTitles1
    Component DataHolderCustomerOrdersToDisplay
    {
      #keys: '[145488.2.360068961]'
      BaseType: 'DataHolder'
      Databinding: 'structured[CustomerOrder]*'
      Children:
      [
        Component GUIDataExtractorInvalidCustomerOrders
        {
          #keys: '[145488.2.360069315]'
          BaseType: 'GUIDataExtractor'
          Properties:
          [
            Component: 'DataHolderInvalidCustomerOrders'
            DataType: 'structured[CustomerOrder]'
            PosX: 48
            PosY: 42
            Transformation: 'Elements'
          ]
        }
        Component GUIDataExtractorValidCustomerOrders
        {
          #keys: '[145488.2.360069283]'
          BaseType: 'GUIDataExtractor'
          Properties:
          [
            Component: 'DataHolderCustomerOrders'
            DataType: 'structured[CustomerOrder]'
            PosX: 11
            PosY: 41
            Transformation: 'Elements'
          ]
        }
      ]
      Properties:
      [
        Description: 'Filtered customer order combined with invalid customer orders'
        MergeStyle: 'Unite'
        PosX: 67
        PosY: 213
        ModeledStringList ChildOrdering
        {
          c: GUIDataExtractorValidCustomerOrders
          c: GUIDataExtractorInvalidCustomerOrders
        }
      ]
    }
    Component DataHolderInvalidCustomerOrders
    {
      #keys: '[145488.2.360069070]'
      BaseType: 'DataHolder'
      Databinding: 'structured[CustomerOrder]*'
      Children:
      [
        Component GUIDataExtractorInvalid
        {
          #keys: '[145488.2.360069148]'
          BaseType: 'GUIDataExtractor'
          Properties:
          [
            DataSet: 'MacroPlan'
            DataType: 'MacroPlan'
            FixedFilter: 'not object.IsValidData()'
            PosX: 19
            PosY: 57
            Transformation: 'SalesDemand.astype(CustomerOrder)'
          ]
        }
      ]
      Properties:
      [
        Description: 'Retrieves customer orders with invalid import data to display in the list'
        PosX: 84
        PosY: 246
      ]
    }
  ]
  Properties:
  [
    AutoDrag: true
    BackgroundColor: 'Window'
    ContextMenu: 'popupList1'
    FullRowSelect: true
    ScrollOnHighlight: true
    SelectOnHighlighted: true
    ModeledStringList ChildOrdering
    {
      c: ColumnTitles1
      c: popupList1
      c: GUIDataExtractorCustomerOrder
      c: GUIDataSetLevelSalesDemand
      c: DataHolderCustomerOrders
      c: DataHolderCustomerOrdersToDisplay
      c: DataHolderInvalidCustomerOrders
    }
  ]
  ResponseDefinitions:
  [
    DelegatedResponseDefinition OnClick id:Responsedef_ListCustomerOrders_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_ListCustomerOrders_GUIButtonBase_OnClick
    {
      #keys: '[124112.0.87253161]'
      Initiator: 'GUIButtonBase'
      IsInherited: false
      ResponseType: 'OnClick'
      Arguments:
      [
        ResponseDefinitionArgument selection
        {
          #keys: '[124112.0.87253162]'
          Binding: 'this.Selection()'
        }
      ]
    }
  ]
}
