
# -*- Mode:Python -*-

parametersTable = \
    ( ("katabatic.globalLengthThreshold",TypeInt       ,1450   ) # Katabatic parameters.
    , ("katabatic.saturateRatio"        ,TypePercentage,80     )
    , ("katabatic.saturateRp"           ,TypeInt       ,8      )
    , ("kite.borderRipupLimit"          ,TypeInt       ,26     )
    # Kite parameters.
    , ("kite.edgeCapacity"              ,TypePercentage,75     , { 'min':0, 'max':110 } )
    , ("kite.eventsLimit"               ,TypeInt       ,4000002)
    , ("kite.ripupCost"                 ,TypeInt       ,3      , { 'min':0 } )
    , ("kite.globalRipupLimit"          ,TypeInt       ,5      , { 'min':1 } )
    , ("kite.localRipupLimit"           ,TypeInt       ,9      , { 'min':1 } )
    , ("kite.longGlobalRipupLimit"      ,TypeInt       ,5      , { 'min':1 } )
    , ("kite.strapRipupLimit"           ,TypeInt       ,16     , { 'min':1 } )
    , ("kite.metal1MinBreak"            ,TypeDouble    ,100    )
    , ("kite.metal2MinBreak"            ,TypeDouble    ,100    )
    , ("kite.metal3MinBreak"            ,TypeDouble    ,100    )
    , ("kite.metal4MinBreak"            ,TypeDouble    ,1450   )
    , ("kite.metal5MinBreak"            ,TypeDouble    ,1450   )
    , ("kite.metal6MinBreak"            ,TypeDouble    ,1450   )
    , ("kite.metal7MinBreak"            ,TypeDouble    ,1450   )
    )

# Kite Layout.
layoutTable = \
    ( (TypeTab    , "Kite", "kite" )
    , (TypeTitle  , "Katabatic - Routing Database" )
    , (TypeOption , "katabatic.saturateRatio"        , "Saturate Ratio (%)"     , 0 )
    , (TypeOption , "katabatic.saturateRp"           , "Saturate RoutingPad"    , 0 )
    , (TypeOption , "katabatic.globalLengthThreshold", "Global Length Threshold", 0 )
    , (TypeRule   ,)
    , (TypeTitle  , "Kite - Detailed Router" )
    , (TypeOption , "kite.edgeCapacity"  , "Edge Capacity (%)"      , 0 )
    , (TypeOption , "kite.eventsLimit"   , "Events Limit"           , 0 )
    , (TypeOption , "kite.ripupCost"     , "Ripup Cost"             , 1, 1, Cfg.ParameterWidgetFlags.UseSpinBox )
    , (TypeOption , "kite.metal1MinBreak", "METAL1 Length Min Break", 0 )
    , (TypeOption , "kite.metal2MinBreak", "METAL2 Length Min Break", 0 )
    , (TypeOption , "kite.metal3MinBreak", "METAL3 Length Min Break", 0 )
    , (TypeOption , "kite.metal4MinBreak", "METAL4 Length Min Break", 0 )
    , (TypeOption , "kite.metal5MinBreak", "METAL5 Length Min Break", 0 )
    , (TypeOption , "kite.metal6MinBreak", "METAL6 Length Min Break", 0 )
    , (TypeOption , "kite.metal7MinBreak", "METAL7 Length Min Break", 0 )
    , (TypeSection, "Ripup Limits", 1 )
    , (TypeOption , "kite.borderRipupLimit"    , "Borders"     , 1, 1, Cfg.ParameterWidgetFlags.UseSpinBox )
    , (TypeOption , "kite.strapRipupLimit"     , "Straps"      , 1, 1, Cfg.ParameterWidgetFlags.UseSpinBox )
    , (TypeOption , "kite.localRipupLimit"     , "Locals"      , 1, 1, Cfg.ParameterWidgetFlags.UseSpinBox )
    , (TypeOption , "kite.globalRipupLimit"    , "Globals"     , 1, 1, Cfg.ParameterWidgetFlags.UseSpinBox )
    , (TypeOption , "kite.longGlobalRipupLimit", "Long Globals", 1, 1, Cfg.ParameterWidgetFlags.UseSpinBox )
    , (TypeRule   ,)
    )
