Quintiq file version 2.0
Component ListServiceLevel
{
  #keys: '[130238.0.19537497]'
  BaseType: 'List'
  Children:
  [
    #child: ColumnTitles
    Component popupListServiceLevel
    {
      #keys: '[130238.0.19537498]'
      BaseType: 'popupList'
      Children:
      [
        Component PopupParent
        {
          #keys: '[514.0.129466]'
          BaseType: 'PopupParent'
          IsDerived: true
          Children:
          [
            Component menuSeparator { #keys: '[130238.0.19537499]' BaseType: 'Menu' Properties: [ Separator: true ] }
            Component MenuNew { #keys: '[130238.0.19537500]' BaseType: 'Menu' Properties: [ Image: 'New' Shortcut: 'Ins' Text: 'New...' ] }
            Component MenuEdit { #keys: '[130238.0.19537501]' BaseType: 'Menu' Properties: [ BindDoubleClick: true Image: 'Edit' Shortcut: 'Enter' Text: 'Edit...' ] }
            Component MenuDelete { #keys: '[130238.0.19537502]' BaseType: 'Menu' Properties: [ Image: 'trash' Shortcut: 'Del' Text: 'Delete' ] }
            Component MenuEnableDisableServiceLevels { #keys: '[130238.0.19537505]' BaseType: 'Menu' Properties: [ Image: 'Check2' Text: 'Ena&ble / disable service levels' ] }
            Component menuSeparator463 { #keys: '[130238.0.19537504]' BaseType: 'Menu' Properties: [ Separator: true ] }
            Component MenuCopy { #keys: '[130238.0.19537503]' BaseType: 'Menu' Properties: [ Image: 'Copy' Shortcut: 'Ctrl+O' Text: 'Copy' ] }
            Component MenuFilter
            {
              #keys: '[104128.0.40995014]'
              BaseType: 'MenuFilter'
              IsDerived: true
              Children:
              [
                Component MenuFIlterByProducts { #keys: '[127710.1.1036718997]' BaseType: 'Menu' Properties: [ Checked: true Checkmark: true Text: 'Products' ] }
                Component MenuFIlterByStockingPoints { #keys: '[127710.1.1036719409]' BaseType: 'Menu' Properties: [ Checked: true Checkmark: true Text: 'Stocking points' ] }
                Component menuSeparator364 { #keys: '[127710.1.1036719536]' BaseType: 'Menu' Properties: [ Separator: true ] }
              ]
              Properties:
              [
                ModeledStringList ChildOrdering
                {
                  c: MenuFIlterByProducts
                  c: MenuFIlterByStockingPoints
                  c: menuSeparator364
                  c: menuEditFilter
                }
              ]
            }
          ]
          Properties:
          [
            ModeledStringList ChildOrdering
            {
              c: MenuActions
              c: MenuFilter
              c: menuListQuintiqSetQuantor
              c: menuSeparator
              c: MenuNew
              c: MenuEdit
              c: MenuDelete
              c: MenuCopy
              c: menuSeparator463
              c: MenuEnableDisableServiceLevels
            }
          ]
        }
      ]
      Properties:
      [
        PosX: 35
        PosY: 60
      ]
    }
    Component GUIDataExtractorListServiceLevel
    {
      #keys: '[130238.0.19537507]'
      BaseType: 'GUIDataExtractor'
      Properties:
      [
        Component: 'DataHolderServiceLevels'
        DataType: 'structured[ServiceLevel]'
        PosX: 5
        PosY: 30
        Transformation: 'Elements'
      ]
    }
    Component GUIDataSetLevelServiceLevel
    {
      #keys: '[130238.0.19537506]'
      BaseType: 'GUIDataSetLevel'
      Properties:
      [
        AutoSelectColumns: false
        Columns: 'ServiceLevelColumns'
        DataExtractor: 'GUIDataExtractorListServiceLevel'
        PosX: 35
        PosY: 30
      ]
    }
    Component DataHolderServiceLevels
    {
      #keys: '[130256.0.419113951]'
      BaseType: 'DataHolder'
      Databinding: 'structured[ServiceLevel]*'
      Children:
      [
        Component GUIDataExtractorServiceLevelsFromProducts
        {
          #keys: '[130256.0.419114364]'
          BaseType: 'GUIDataExtractor'
          Properties:
          [
            Component: 'DataHolderServiceLevelsFromProducts'
            DataType: 'structured[ServiceLevel]'
            PosX: 22
            PosY: 60
            Transformation: 'Elements'
          ]
        }
        Component GUIDataExtractorServiceLevelsFromStockingPoints
        {
          #keys: '[130256.0.448139499]'
          BaseType: 'GUIDataExtractor'
          Properties:
          [
            Component: 'DataHolderServiceLevelsFromStockingPoints'
            DataType: 'structured[ServiceLevel]'
            PosX: 65
            PosY: 60
            Transformation: 'Elements'
          ]
        }
      ]
      Properties:
      [
        Description: 'Derive Service levels from products and stocking points'
        PosX: 286
        PosY: 49
        ModeledStringList ChildOrdering
        {
          c: GUIDataExtractorServiceLevelsFromProducts
          c: GUIDataExtractorServiceLevelsFromStockingPoints
        }
      ]
    }
    Component DataHolderServiceLevelsFromStockingPoints
    {
      #keys: '[130256.0.448128964]'
      BaseType: 'DataHolder'
      Databinding: 'structured[ServiceLevel]*'
      Children:
      [
        Component GUIDataExtractorServiceLevelsChildStockingPoints
        {
          #keys: '[130256.0.448132089]'
          BaseType: 'GUIDataExtractor'
          Properties:
          [
            Component: 'DataHolderChildStockingPoints'
            DataType: 'structured[StockingPoint_MP]'
            PosX: 98
            PosY: 65
            Transformation: 'Elements.ServiceLevelBase.astype(ServiceLevel)'
          ]
        }
        Component GUIDataExtractorServiceLevelsWithoutStockingPoints
        {
          #keys: '[130256.0.448132090]'
          BaseType: 'GUIDataExtractor'
          Properties:
          [
            DataSet: 'MacroPlan'
            DataType: 'MacroPlan'
            FixedFilter: 'isnull( object.StockingPoint_MP() )'
            PosX: 31
            PosY: 60
            Transformation: 'ServiceLevel'
          ]
        }
      ]
      Properties:
      [
        Description: 'Get all service levels with no stocking points and from DataHolderChildStockingPoints'
        MergeStyle: 'Unite'
        PosX: 276
        PosY: 115
        ModeledStringList ChildOrdering
        {
          c: GUIDataExtractorServiceLevelsChildStockingPoints
          c: GUIDataExtractorServiceLevelsWithoutStockingPoints
        }
      ]
    }
    Component DataHolderServiceLevelsFromProducts
    {
      #keys: '[130256.0.448129068]'
      BaseType: 'DataHolder'
      Databinding: 'structured[ServiceLevel]*'
      Children:
      [
        Component GUIDataExtractorServiceLevelsChildProducts
        {
          #keys: '[130256.0.448132127]'
          BaseType: 'GUIDataExtractor'
          Properties:
          [
            Component: 'DataHolderChildProducts'
            DataType: 'structured[Product_MP]'
            PosX: 86
            PosY: 54
            Transformation: 'Elements.ServiceLevelBase.astype(ServiceLevel)'
          ]
        }
        Component GUIDataExtractorServiceLevelsWithoutProduct
        {
          #keys: '[130256.0.448132128]'
          BaseType: 'GUIDataExtractor'
          Properties:
          [
            DataSet: 'MacroPlan'
            DataType: 'MacroPlan'
            FixedFilter: 'isnull( object.Product_MP() )'
            PosX: 30
            PosY: 57
            Transformation: 'ServiceLevel'
          ]
        }
      ]
      Properties:
      [
        Description: 'Get all service levels with no product and from DataHolderChildProduct'
        MergeStyle: 'Unite'
        PosX: 216
        PosY: 116
        ModeledStringList ChildOrdering
        {
          c: GUIDataExtractorServiceLevelsChildProducts
          c: GUIDataExtractorServiceLevelsWithoutProduct
        }
      ]
    }
  ]
  Properties:
  [
    AutoDrag: true
    BackgroundColor: 'Window'
    Border: true
    ContextMenu: 'popupListServiceLevel'
    FullRowSelect: true
    ModeledStringList ChildOrdering
    {
      c: ColumnTitles
      c: popupListServiceLevel
      c: GUIDataExtractorListServiceLevel
      c: GUIDataSetLevelServiceLevel
      c: DataHolderServiceLevels
      c: DataHolderServiceLevelsFromStockingPoints
      c: DataHolderServiceLevelsFromProducts
    }
  ]
  ResponseDefinitions:
  [
    DelegatedResponseDefinition OnClick id:Responsedef_ListServiceLevel_Menu_OnClick
    {
      #keys: '[113694.2.1011928040]'
      Initiator: 'Menu'
      IsInherited: false
      ResponseType: 'OnClick'
      Arguments:
      [
        ResponseDefinitionArgument selection
        {
          #keys: '[113694.2.1011928041]'
          Binding: 'this.Selection()'
        }
      ]
    }
    DelegatedResponseDefinition OnClick id:Responsedef_ListServiceLevel_GUIButtonBase_OnClick
    {
      #keys: '[113694.2.1011928042]'
      Initiator: 'GUIButtonBase'
      IsInherited: false
      ResponseType: 'OnClick'
      Arguments:
      [
        ResponseDefinitionArgument selection
        {
          #keys: '[113694.2.1011928043]'
          Binding: 'this.Selection()'
        }
      ]
    }
    ResponseDefinition OnContextMenu id:Responsedef_ListServiceLevel_OnContextMenu
    {
      #keys: '[113694.2.1018452945]'
      IsInherited: false
      ResponseType: 'OnContextMenu'
      Arguments:
      [
        ResponseDefinitionArgument selection
        {
          #keys: '[113694.2.1018453429]'
          Binding: 'this.Selection()'
        }
      ]
    }
  ]
}
