Quintiq file version 2.0
Component GanttChartDemandSupplyGroup
{
  #keys: '[108486.0.1858741403]'
  BaseType: 'GanttChart'
  Children:
  [
    Component menuGanttChart1
    {
      #keys: '[108486.0.1858741432]'
      BaseType: 'popupGanttchart'
      Children:
      [
        Component PopupParent
        {
          #keys: '[514.0.555535]'
          BaseType: 'PopupParent'
          IsDerived: true
          Children:
          [
            Component MenuLegend { #keys: '[108486.0.1858741433]' BaseType: 'Menu' Properties: [ Image: 'COLORS' Shortcut: 'Ctrl+L' Text: 'Legend...' ] }
            Component Menu4 { #keys: '[108486.0.1858741434]' BaseType: 'Menu' Properties: [ Separator: true ] }
            Component Menu3 { #keys: '[122872.1.834488800]' BaseType: 'Menu' Properties: [ Separator: true ] }
            Component MenuSmartPlan { #keys: '[122872.1.834494014]' BaseType: 'Menu' Properties: [ Image: 'COMPONENT_GREEN' Shortcut: 'Alt+P' Text: 'Smart plan...' ] }
            Component MenuSmartPlanRow { #keys: '[124808.2.525193060]' BaseType: 'Menu' Properties: [ Image: 'COMPONENTS' Shortcut: 'Alt+Ctrl+P' Text: 'Smart plan row...' ] }
            Component MenuEditStockingPointCapacity { #keys: '[121072.0.289591101]' BaseType: 'Menu' Properties: [ Image: 'DOCUMENT_EDIT' Shortcut: 'Alt+Ctrl+C' Text: 'Edit capacity...' ] }
            Component menuSeparator { #keys: '[130238.0.408951488]' BaseType: 'Menu' Properties: [ Separator: true ] }
            Component MenuNavigation
            {
              #keys: '[104128.0.40881109]'
              BaseType: 'MenuNavigation'
              IsDerived: true
              Properties:
              [
                Visible: false
              ]
            }
            Component MenuFilter
            {
              #keys: '[104128.0.41501005]'
              BaseType: 'MenuFilter'
              IsDerived: true
              Properties:
              [
                Visible: false
              ]
            }
          ]
          Properties:
          [
            ModeledStringList ChildOrdering
            {
              c: MenuActions
              c: MenuFilter
              c: MenuNavigation
              c: Menu4
              c: MenuEditStockingPointCapacity
              c: Menu3
              c: MenuSmartPlan
              c: MenuSmartPlanRow
              c: menuSeparator
              c: MenuLegend
            }
          ]
        }
      ]
      Properties:
      [
        PosX: 44
        PosY: 57
        SizePosition: 'lt81 107 37 63'
      ]
    }
    Component menuGanttChartRows1
    {
      #keys: '[108486.0.1858741420]'
      BaseType: 'popupGanttchartRows'
      Children:
      [
        Component PopupParent id:PopupParent_1
        {
          #keys: '[530.0.59473]'
          BaseType: 'PopupParent'
          IsDerived: true
          Children:
          [
            Component MenuSortGanttChartRows
            {
              #keys: '[104128.0.40951323]'
              BaseType: 'MenuSortGanttChartRows'
              IsDerived: true
              Children:
              [
                Component menuGCRMoveToTop { #keys: '[104128.0.40961065]' BaseType: 'menuGCRMoveToTop' IsDerived: true ResponseDefinitions: [ ResponseDefinition OnClick id:Responsedef_GanttChartDemandSupplyGroup_menuGCRMoveToTop_OnClick
                    {
                      #keys: '[104220.0.341400416]'
                      IsInherited: false
                      ResponseType: 'OnClick'
                      Arguments:
                      [
                        ResponseDefinitionArgument row
                        {
                          #keys: '[104220.0.341404843]'
                          Binding: 'GanttChartDemandSupplyGroup.ContextMenuRowObject()'
                        }
                      ]
                    }
                  ] }
                Component menuGCRMoveUp { #keys: '[104128.0.40963528]' BaseType: 'menuGCRMoveUp' IsDerived: true ResponseDefinitions: [ ResponseDefinition OnClick id:Responsedef_GanttChartDemandSupplyGroup_menuGCRMoveUp_OnClick
                    {
                      #keys: '[104220.0.341445251]'
                      IsInherited: false
                      ResponseType: 'OnClick'
                      Arguments:
                      [
                        ResponseDefinitionArgument row
                        {
                          #keys: '[104220.0.341445252]'
                          Binding: 'GanttChartDemandSupplyGroup.ContextMenuRowObject()'
                        }
                      ]
                    }
                  ] }
                Component menuGCRMoveDown { #keys: '[104128.0.40966471]' BaseType: 'menuGCRMoveDown' IsDerived: true ResponseDefinitions: [ ResponseDefinition OnClick id:Responsedef_GanttChartDemandSupplyGroup_menuGCRMoveDown_OnClick
                    {
                      #keys: '[104220.0.341473288]'
                      IsInherited: false
                      ResponseType: 'OnClick'
                      Arguments:
                      [
                        ResponseDefinitionArgument row
                        {
                          #keys: '[104220.0.341474697]'
                          Binding: 'GanttChartDemandSupplyGroup.ContextMenuRowObject()'
                        }
                      ]
                    }
                  ] }
                Component menuGCRMoveToBottom { #keys: '[104128.0.40968902]' BaseType: 'menuGCRMoveToBottom' IsDerived: true ResponseDefinitions: [ ResponseDefinition OnClick id:Responsedef_GanttChartDemandSupplyGroup_menuGCRMoveToBottom_OnClick
                    {
                      #keys: '[104220.0.341517322]'
                      IsInherited: false
                      ResponseType: 'OnClick'
                      Arguments:
                      [
                        ResponseDefinitionArgument row
                        {
                          #keys: '[104220.0.341518731]'
                          Binding: 'GanttChartDemandSupplyGroup.ContextMenuRowObject()'
                        }
                      ]
                    }
                  ] }
                Component MenuEditDisplayIndex { #keys: '[112610.0.975197348]' BaseType: 'Menu' Properties: [ Image: 'UP_DOWN_QUESTION' Text: 'Edit display index...' ] }
              ]
              Properties:
              [
                Visible: false
                ModeledStringList ChildOrdering
                {
                  c: MenuEditDisplayIndex
                  c: Menu2
                  c: MenuSortGanttChartRows1
                  c: menuGCRMoveToTop
                  c: menuGCRMoveUp
                  c: menuGCRMoveDown
                  c: menuGCRMoveToBottom
                }
              ]
            }
            Component MenuFilter id:MenuFilter_1
            {
              #keys: '[104128.0.41519836]'
              BaseType: 'MenuFilter'
              IsDerived: true
              Children:
              [
                Component MenuFIlterByStockingPoints { #keys: '[127710.1.1026458341]' BaseType: 'Menu' Properties: [ Checked: true Checkmark: true Text: 'Stocking points' ] }
                Component menuSeparator160 { #keys: '[127710.1.1026458945]' BaseType: 'Menu' Properties: [ Separator: true ] }
                Component MenuFIlterByPeriods { #keys: '[131438.0.418824201]' BaseType: 'Menu' Properties: [ Checked: true Checkmark: true Text: 'Periods' ] }
              ]
              Properties:
              [
                ModeledStringList ChildOrdering
                {
                  c: MenuFIlterByStockingPoints
                  c: MenuFIlterByPeriods
                  c: menuSeparator160
                  c: menuEditFilter
                  c: MenuClearFilter
                  c: MenuStoredFilters
                  c: Menu_1
                  c: menuHideGanttchartRow
                  c: MenuUnhideAllRows
                  c: Menu1_1
                  c: menuShowAllGanttChartRows
                }
              ]
            }
            Component MenuLegend id:MenuLegend_621 { #keys: '[108486.0.1858741423]' BaseType: 'Menu' Properties: [ Image: 'COLORS' Shortcut: 'Ctrl+L' Text: 'Legend...' ] }
            Component Menu6 { #keys: '[108486.2.918953401]' BaseType: 'Menu' Properties: [ Separator: true ] }
            Component Menu10 { #keys: '[112884.1.1412508372]' BaseType: 'Menu' Properties: [ Separator: true ] }
            Component MenuSmartPlanForGanttChartRows { #keys: '[124808.2.276335699]' BaseType: 'Menu' Properties: [ Image: 'COMPONENTS' Shortcut: 'Alt+P' Text: 'Smart plan row...' ] }
            Component MenuEditCapacity { #keys: '[121072.0.289590311]' BaseType: 'Menu' Properties: [ Image: 'Edit' Shortcut: 'Ctrl+E' Text: 'Edit capacity...' ] }
            Component menuSeparator424 { #keys: '[130238.0.408951885]' BaseType: 'Menu' Properties: [ Separator: true ] }
          ]
          Properties:
          [
            ModeledStringList ChildOrdering
            {
              c: MenuFilter_1
              c: MenuSortGanttChartRows
              c: Menu6
              c: MenuEditCapacity
              c: Menu10
              c: MenuSmartPlanForGanttChartRows
              c: menuSeparator424
              c: MenuLegend_621
            }
          ]
        }
      ]
      Properties:
      [
        PosX: 15
        PosY: 55
        SizePosition: 'lt10 36 100 126'
      ]
    }
    Component ChartMarkingStartOfPlanningHorizon
    {
      #keys: '[108486.0.1858741442]'
      BaseType: 'ChartMarking'
      Properties:
      [
        MarkPosition: 'guard(MacroPlan.StartOfPlanning(), DateTime::Now())'
        PosX: 114
        PosY: 57
        SizePosition: 'lt141 167 39 65'
      ]
    }
    Component NavigationToolbar
    {
      #keys: '[108486.0.1858741448]'
      BaseType: 'NavigationToolbar'
      GBLayout
      {
        Type: 'internal[GBLayoutDefinition]'
        Columns:
        [
          GBFlow.Column { grow: 128 id: 1 parent: 0 }
        ]
        Elements:
        [
          GBElement
          {
            Component => /dpNavigationPanel
            Position { startcolumn: 1 startrow: 2 endcolumn: 1 endrow: 2 }
          }
        ]
        Gaps: [ left: 5 right: 5 top: 0 bottom: 0 inner: 5 ]
        Rows:
        [
          GBFlow.Row { grow: 0 id: 2 parent: 0 }
        ]
      }
      Children:
      [
        #child: dpNavigationPanel
      ]
      Properties:
      [
        Priority: 3
        Size: 27
      ]
    }
    Component Font
    {
      #keys: '[108486.0.1858741447]'
      BaseType: 'Font'
      Properties:
      [
        Bold: true
        FontName: 'Arial Black'
        Italic: true
        PosX: 77
        PosY: 57
        Size: 9
        SizePosition: 'lt112 138 38 64'
        Underlined: true
      ]
    }
    #child: GanttChartRowDefinitionStockingPoint
    Component UserConfigurableInformation
    {
      #keys: '[112884.1.975332292]'
      BaseType: 'UserConfigurableInformation'
      Properties:
      [
        Identification: 'Historical period'
        ObjectBackgroundColor: 'ColorScheme.Period_HistoricalPeriods'
        ObjectType: 'Period_MP'
        PosX: 88
        PosY: 141
        SizePosition: 'lt106 132 89 115'
      ]
    }
    Component UserConfigurableInformationStockingPointInPeriod
    {
      #keys: '[112884.1.975332541]'
      BaseType: 'UserConfigurableInformation'
      Properties:
      [
        Identification: 'Stocking point in period'
        ObjectBackgroundColor: 'White'
        ObjectText: 'VALUE(object.InventoryLevelEnd())'
        ObjectType: 'StockingPointInPeriod'
        PosX: 52
        PosY: 139
        SizePosition: 'lt50 76 117 143'
        TooltipText:
        [*
          
          
          | Inventory end (quantity) | 
          VALUE( MacroPlan::GetDisplayValue( object.InventoryLevelEnd() ) ) | 
           | 
          Inventory holding cost  | 
          VALUE(object.TotalInventoryHoldingCost())  | 
          
          | Inventory end (days) | VALUE(object.StockLevelInDays()) | 
          
          | Total supply  | 
          VALUE(object.SupplyQuantity()) | 
           | 
          Total demand  | 
          VALUE(object.DemandQuantity()) | 
          
          
          
          
          
          | Inventory start  | 
          VALUE(object.Previous().InventoryLevelEnd()) | 
           | 
          Sales demand  | 
          VALUE(object.SalesDemandQuantity()) | 
          
          
          
          | New supply  | 
          VALUE(object.NewSupplyQuantity()) | 
           | 
          Dependent demand  | 
          VALUE(object.DependentDemandQuantity()) | 
          
          
          
          | Inventory supply  | 
          VALUE(object.InventorySupplyQuantity()) | 
           | 
          Target inventory level  | 
          VALUE(object.TargetInventoryLevel()) | 
          
          
        *]
      ]
    }
    Component GUIDataExtractorStockingPointsForProductPlanning
    {
      #keys: '[127710.1.1026450441]'
      BaseType: 'GUIDataExtractor'
      Properties:
      [
        Component: 'DataHolderChildStockingPoints'
        DataType: 'structured[StockingPoint_MP]'
        PosX: 138
        PosY: 141
        Transformation: 'Elements'
      ]
    }
    Component UserConfigurableInformationStockingPoint
    {
      #keys: '[112884.1.975333042]'
      BaseType: 'UserConfigurableInformation'
      Properties:
      [
        CanConfigure: false
        Identification: 'Stocking point'
        ObjectText: 'VALUE(object.Name()) VALUE(object.ImgIsBottleneck())'
        ObjectType: 'StockingPoint_MP'
        PosX: 54
        PosY: 181
        SizePosition: 'lt27 53 3 29'
        TooltipText:
        [*