ZingFreelancer

CK3 Better Traits UI with Scrollbox

Jan 5th, 2022 (edited)
336
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Perl 15.22 KB | None | 0 0
  1. ## Traits
  2.                     hbox = {
  3.                         name = "tutorial_highlight_traits"
  4.                         layoutpolicy_horizontal = expanding
  5.                         margin_bottom = 2
  6.  
  7.                         widget = {
  8.                             layoutpolicy_horizontal = expanding
  9.                             size = { 0 55 }
  10.  
  11.                             hbox = {
  12.                                 name = "3_personality_traits"
  13.                                 visible = "[LessThanOrEqualTo_int32(GetDataModelSize(CharacterWindow.GetPersonalityTraits), '(int32)3')]"
  14.  
  15.                                 fixedgridbox = {
  16.                                     name = "personality_traits"
  17.                                     datamodel = "[CharacterWindow.GetPersonalityTraits]"
  18.                                     flipdirection = yes
  19.                                     addcolumn = 54
  20.                                     addrow = 55
  21.                                     maxhorizontalslots = 3
  22.  
  23.                                     item = {
  24.                                         icon_trait = {
  25.                                             blockoverride "icon_size"
  26.                                             {
  27.                                                 size = { 55 55 }
  28.                                             }
  29.                                         }
  30.                                     }
  31.                                 }
  32.                                 #### Changed by Zing ####
  33.                                 # margin from 5 to 2
  34.                                 #################
  35.                                 hbox = {
  36.                                     visible = "[Not(IsDataModelEmpty( CharacterWindow.GetTraits ))]"
  37.                                     layoutpolicy_vertical = expanding
  38.                                     margin = { 2 10 }
  39.  
  40.                                     divider_light = {
  41.                                         layoutpolicy_vertical = expanding
  42.                                     }
  43.                                 }
  44.  
  45.                                 #### Changed by Zing ####
  46.                                 # Adjusted to fit 6 icons comfortably
  47.                                 #################
  48.                                 fixedgridbox = {
  49.                                     name = "traits_big"
  50.                                     datamodel = "[CharacterWindow.GetTraits]"
  51.                                     visible = "[LessThanOrEqualTo_int32(GetDataModelSize(CharacterWindow.GetTraits), '(int32)6')]"
  52.                                     flipdirection = yes
  53.                                     addcolumn = 48
  54.                                     addrow = 55
  55.                                     maxhorizontalslots = 6
  56.                                     maxverticalslots = 1
  57.  
  58.                                     item = {
  59.                                         icon_trait = {
  60.                                             blockoverride "icon_size"
  61.                                             {
  62.                                                 size = { 55 55 }
  63.                                             }
  64.                                         }
  65.                                     }
  66.                                 }
  67.                                 #### Changed by Zing ####
  68.                                 # Slightly increased size of the icons to reduce wasted space
  69.                                 #################
  70.                                 fixedgridbox = {
  71.                                     name = "traits_medium"
  72.                                     datamodel = "[CharacterWindow.GetTraits]"
  73.                                     visible = "[And(GreaterThan_int32(GetDataModelSize(CharacterWindow.GetTraits), '(int32)6'), LessThanOrEqualTo_int32(GetDataModelSize(CharacterWindow.GetTraits), '(int32)7'))]"
  74.                                     flipdirection = yes
  75.                                     addcolumn = 41.2
  76.                                     addrow = 54
  77.                                     maxhorizontalslots = 7
  78.                                     maxverticalslots = 1
  79.  
  80.                                     item = {
  81.                                         icon_trait = {
  82.                                             blockoverride "icon_size"
  83.                                             {
  84.                                                 size = { 50 50 }
  85.                                             }
  86.  
  87.                                             blockoverride "glow_radius"
  88.                                             {
  89.                                                 glow_radius = 4
  90.                                             }
  91.                                         }
  92.                                     }
  93.                                 }
  94.  
  95.                                 #### NEW by Zing ####
  96.                                 # 1 row 8 icons, smaller size to make transition to 10 icons more gradual
  97.                                 #############
  98.                                 fixedgridbox = {
  99.                                     name = "traits_medium_8_icons_step"
  100.                                     datamodel = "[CharacterWindow.GetTraits]"
  101.                                     visible = "[And(GreaterThan_int32(GetDataModelSize(CharacterWindow.GetTraits), '(int32)7'), LessThanOrEqualTo_int32(GetDataModelSize(CharacterWindow.GetTraits), '(int32)8'))]"
  102.                                     flipdirection = yes
  103.                                     addcolumn = 36.1
  104.                                     addrow = 54
  105.                                     maxhorizontalslots = 8
  106.                                     maxverticalslots = 1
  107.  
  108.                                     item = {
  109.                                         icon_trait = {
  110.                                             blockoverride "icon_size"
  111.                                             {
  112.                                                 size = { 44 44 }
  113.                                             }
  114.                                            
  115.                                             blockoverride "glow_radius"
  116.                                             {
  117.                                                 glow_radius = 4
  118.                                             }
  119.                                         }
  120.                                     }
  121.                                 }
  122.  
  123.                                 #### NEW by Zing ####
  124.                                 # 1 row 9 icons, smaller size to make transition to 10 icons more gradual
  125.                                 #############
  126.                                 fixedgridbox = {
  127.                                     name = "traits_medium_9_icons_step"
  128.                                     datamodel = "[CharacterWindow.GetTraits]"
  129.                                     visible = "[And(GreaterThan_int32(GetDataModelSize(CharacterWindow.GetTraits), '(int32)8'), LessThanOrEqualTo_int32(GetDataModelSize(CharacterWindow.GetTraits), '(int32)9'))]"
  130.                                     flipdirection = yes
  131.                                     addcolumn = 32.2
  132.                                     addrow = 54
  133.                                     maxhorizontalslots = 9
  134.                                     maxverticalslots = 1
  135.  
  136.                                     item = {
  137.                                         icon_trait = {
  138.                                             blockoverride "icon_size"
  139.                                             {
  140.                                                 size = { 39 39 }
  141.                                             }
  142.                                            
  143.                                             blockoverride "glow_radius"
  144.                                             {
  145.                                                 glow_radius = 3
  146.                                             }
  147.                                         }
  148.                                     }
  149.                                 }
  150.  
  151.                                 #### Changed by Zing ####
  152.                                 # 1 row 10 icons, made size of icons slightly bigger for better visibility and reduced space between them
  153.                                 #################
  154.                                 fixedgridbox = {
  155.                                     name = "traits_small"
  156.                                     datamodel = "[CharacterWindow.GetTraits]"
  157.                                     visible = "[And(GreaterThan_int32(GetDataModelSize(CharacterWindow.GetTraits), '(int32)9'), LessThanOrEqualTo_int32(GetDataModelSize(CharacterWindow.GetTraits), '(int32)10'))]"
  158.                                     flipdirection = yes
  159.                                     addcolumn = 29
  160.                                     addrow = 54
  161.                                     maxhorizontalslots = 10
  162.                                     maxverticalslots = 1
  163.  
  164.                                     item = {
  165.                                         icon_trait = {
  166.                                             blockoverride "icon_size"
  167.                                             {
  168.                                                 size = { 35 35 }
  169.                                             }
  170.  
  171.                                             blockoverride "glow_radius"
  172.                                             {
  173.                                                 glow_radius = 2
  174.                                             }
  175.                                         }
  176.                                     }
  177.                                 }
  178.  
  179.                                 #### Changed by Zing ####
  180.                                 # 1 row 11 icons, made size of icons slightly bigger for better visibility and reduced space between them
  181.                                 #################
  182.                                 fixedgridbox = {
  183.                                     name = "traits_small_last_step"
  184.                                     datamodel = "[CharacterWindow.GetTraits]"
  185.                                     visible = "[And(GreaterThan_int32(GetDataModelSize(CharacterWindow.GetTraits), '(int32)10'), LessThanOrEqualTo_int32(GetDataModelSize(CharacterWindow.GetTraits), '(int32)11'))]"
  186.                                     flipdirection = yes
  187.                                     addcolumn = 26.3
  188.                                     addrow = 54
  189.                                     maxhorizontalslots = 11
  190.                                     maxverticalslots = 1
  191.  
  192.                                     item = {
  193.                                         icon_trait = {
  194.                                             blockoverride "icon_size"
  195.                                             {
  196.                                                 size = { 32 32 }
  197.                                             }
  198.  
  199.                                             blockoverride "glow_radius"
  200.                                             {
  201.                                                 glow_radius = 2
  202.                                             }
  203.                                         }
  204.                                     }
  205.                                 }
  206.  
  207.                                 #### Changed by Zing ####
  208.                                 # added extra traits to fill out some of the blank spacethe space
  209.                                 # changed visibility condition to display this preset between 10 and 24 traits
  210.                                 # Now traits_tiny will display up to 24 traits at once
  211.                                 #################
  212.                                 fixedgridbox = {
  213.                                     name = "traits_tiny"
  214.                                     datamodel = "[CharacterWindow.GetTraits]"
  215.                                     #visible = "[GreaterThan_int32(GetDataModelSize(CharacterWindow.GetTraits), '(int32)10')]"
  216.                                     visible = "[And(GreaterThan_int32(GetDataModelSize(CharacterWindow.GetTraits), '(int32)11'), LessThanOrEqualTo_int32(GetDataModelSize(CharacterWindow.GetTraits), '(int32)22'))]"
  217.                                     flipdirection = yes
  218.                                     addcolumn = 26.5
  219.                                     addrow = 27
  220.                                     maxhorizontalslots = 11
  221.                                     datamodel_wrap = 11
  222.                                     maxverticalslots = 2
  223.                                    
  224.                                     item = {
  225.                                         icon_trait = {
  226.                                             blockoverride "icon_size"
  227.                                             {
  228.                                                 size = { 31 31 }
  229.                                             }
  230.  
  231.                                             blockoverride "glow_radius"
  232.                                             {
  233.                                                 glow_radius = 2
  234.                                             }
  235.                                         }
  236.                                     }
  237.                                 }
  238.  
  239.                                 #### Changed by Zing ####
  240.                                 # Adjusted scrollbox to fit 11 icons per row
  241.                                 # Fixed misaligned spaces and made it look overall nicer.
  242.                                 #################
  243.                                 scrollbox = {
  244.                                     name = "traits_scroller_smoll"
  245.                                     visible = "[GreaterThan_int32(GetDataModelSize(CharacterWindow.GetTraits), '(int32)22')]"
  246.                                     size = { 0 54 }
  247.                                     layoutpolicy_vertical = fixed
  248.                                     layoutpolicy_horizontal = expanding
  249.                                     scrollbarpolicy_vertical = as_needed
  250.                                     blockoverride "scrollbox_margins"
  251.                                     {
  252.                                         margin = { 0 0 }
  253.                                         margin_right = 25
  254.                                     }
  255.                                    
  256.                                     using = Animation_Tab_Switch
  257.                                     blockoverride "scrollbox_content"
  258.                                     {
  259.                                         spacing = 2
  260.                                         fixedgridbox = {
  261.                                             name = "traits_tiny_showmoretraits_smoll"
  262.                                             datamodel = "[CharacterWindow.GetTraits]"
  263.                                             visible = "[GreaterThan_int32(GetDataModelSize(CharacterWindow.GetTraits), '(int32)22')]"
  264.                                             flipdirection = yes
  265.                                             addcolumn = 25.5
  266.                                             addrow = 27
  267.                                             maxhorizontalslots = 11
  268.                                             datamodel_wrap = 11
  269.  
  270.                                             item = {
  271.                                                 icon_trait = {
  272.                                                     blockoverride "icon_size"
  273.                                                     {
  274.                                                         size = { 30 30 }
  275.                                                     }
  276.  
  277.                                                     blockoverride "glow_radius"
  278.                                                     {
  279.                                                         glow_radius = 2
  280.                                                     }
  281.                                                 }
  282.                                             }
  283.                                         }
  284.                                     }
  285.                                 }
  286.  
  287.                                 expand = {}
  288.                             }
  289.  
  290.                             hbox = {
  291.                                 name = "4_personality_traits"
  292.                                 visible = "[GreaterThan_int32(GetDataModelSize(CharacterWindow.GetPersonalityTraits), '(int32)3')]"
  293.  
  294.                                 fixedgridbox = {
  295.                                     name = "personality_traits"
  296.                                     datamodel = "[CharacterWindow.GetPersonalityTraits]"
  297.                                     flipdirection = yes
  298.                                     addcolumn = 54
  299.                                     addrow = 55
  300.                                     maxhorizontalslots = 4
  301.  
  302.                                     item = {
  303.                                             icon_trait = {
  304.                                                 blockoverride "icon_size"
  305.                                                 {
  306.                                                     size = { 55 55 }
  307.                                                 }
  308.                                         }
  309.                                     }
  310.                                 }
  311.                                
  312.                                 #### Changed by Zing ####
  313.                                 # margin from 5 to 2
  314.                                 #################
  315.                                 hbox = {
  316.                                     visible = "[Not(IsDataModelEmpty( CharacterWindow.GetTraits ))]"
  317.                                     layoutpolicy_vertical = expanding
  318.                                     margin = { 2 10 }
  319.  
  320.                                     divider_light = {
  321.                                         layoutpolicy_vertical = expanding
  322.                                     }
  323.                                 }
  324.  
  325.                                 #### Changed by Zing ####
  326.                                 # maxhorizontalslots from 5 to 4, the extra slot did not appear to serve any purpose anyway
  327.                                 #################
  328.                                 fixedgridbox = {
  329.                                     name = "traits_big"
  330.                                     datamodel = "[CharacterWindow.GetTraits]"
  331.                                     visible = "[LessThanOrEqualTo_int32(GetDataModelSize(CharacterWindow.GetTraits), '(int32)5')]"
  332.                                     flipdirection = yes
  333.                                     addcolumn = 46
  334.                                     addrow = 54
  335.                                     maxhorizontalslots = 5
  336.                                     maxverticalslots = 1
  337.  
  338.                                     item = {
  339.                                         icon_trait = {
  340.                                             blockoverride "icon_size"
  341.                                             {
  342.                                                 size = { 55 55 }
  343.                                             }
  344.                                         }
  345.                                     }
  346.                                 }
  347.  
  348.                                 #### Changed by Zing ####
  349.                                 # REduced to fit 6 icons perfectly
  350.                                 #################
  351.                                 fixedgridbox = {
  352.                                     name = "traits_medium"
  353.                                     datamodel = "[CharacterWindow.GetTraits]"
  354.                                     visible = "[And(GreaterThan_int32(GetDataModelSize(CharacterWindow.GetTraits), '(int32)5'), LessThanOrEqualTo_int32(GetDataModelSize(CharacterWindow.GetTraits), '(int32)6'))]"
  355.                                     flipdirection = yes
  356.                                     addcolumn = 39
  357.                                     addrow = 54
  358.                                     maxhorizontalslots = 6
  359.                                     maxverticalslots = 1
  360.  
  361.                                     item = {
  362.                                         icon_trait = {
  363.                                             blockoverride "icon_size"
  364.                                             {
  365.                                                 size = { 48 48 }
  366.                                             }
  367.  
  368.                                                 blockoverride "glow_radius"
  369.                                                 {
  370.                                                     glow_radius = 4
  371.                                             }
  372.                                         }
  373.                                     }
  374.                                 }
  375.  
  376.                                 ### NEW ####
  377.                                 # 1 row 8 icons, smaller size to make transition to 10 icons more gradual
  378.                                 ###########
  379.                                 fixedgridbox = {
  380.                                     name = "traits_medium_8_icons_step"
  381.                                     datamodel = "[CharacterWindow.GetTraits]"
  382.                                     visible = "[And(GreaterThan_int32(GetDataModelSize(CharacterWindow.GetTraits), '(int32)6'), LessThanOrEqualTo_int32(GetDataModelSize(CharacterWindow.GetTraits), '(int32)8'))]"
  383.                                     flipdirection = yes
  384.                                     addcolumn = 29.4
  385.                                     addrow = 52
  386.                                     maxhorizontalslots = 8
  387.                                     maxverticalslots = 1
  388.  
  389.                                     item = {
  390.                                         icon_trait = {
  391.                                             blockoverride "icon_size"
  392.                                             {
  393.                                                 size = { 37 37 }
  394.                                             }
  395.  
  396.                                             blockoverride "glow_radius"
  397.                                             {
  398.                                                 glow_radius = 3
  399.                                             }
  400.                                         }
  401.                                     }
  402.                                 }
  403.  
  404.                                 #### Changed by Zing ####
  405.                                 # Changed to fit 10 slightly smaller icons in one row
  406.                                 #################
  407.                                 fixedgridbox = {
  408.                                     name = "traits_small"
  409.                                     datamodel = "[CharacterWindow.GetTraits]"
  410.                                     visible = "[And(GreaterThan_int32(GetDataModelSize(CharacterWindow.GetTraits), '(int32)8'), LessThanOrEqualTo_int32(GetDataModelSize(CharacterWindow.GetTraits), '(int32)10'))]"
  411.                                     flipdirection = yes
  412.                                     addcolumn = 23.8
  413.                                     addrow = 52
  414.                                     maxhorizontalslots = 10
  415.                                     maxverticalslots = 1
  416.  
  417.                                     item = {
  418.                                         icon_trait = {
  419.                                             blockoverride "icon_size"
  420.                                             {
  421.                                                 size = { 28 28 }
  422.                                             }
  423.  
  424.                                                 blockoverride "glow_radius"
  425.                                                 {
  426.                                                     glow_radius = 2
  427.                                             }
  428.                                         }
  429.                                     }
  430.                                 }
  431.  
  432.                                 #### Changed by Zing ####
  433.                                 # added extra traits to make the row more compact, both rows row will display 10 traits each
  434.                                 # For a total of 20 traits at once
  435.                                 #################
  436.                                 fixedgridbox = {
  437.                                     name = "traits_tiny"
  438.                                     datamodel = "[CharacterWindow.GetTraits]"
  439.                                     #visible = "[GreaterThan_int32(GetDataModelSize(CharacterWindow.GetTraits), '(int32)8')]"
  440.                                     visible = "[And(GreaterThan_int32(GetDataModelSize(CharacterWindow.GetTraits), '(int32)10'), LessThanOrEqualTo_int32(GetDataModelSize(CharacterWindow.GetTraits), '(int32)20'))]"
  441.                                     flipdirection = yes
  442.                                     addcolumn = 23.8
  443.                                     addrow = 26
  444.                                     maxhorizontalslots = 10
  445.                                     datamodel_wrap = 10
  446.                                     maxverticalslots = 2
  447.  
  448.                                     item = {
  449.                                         icon_trait = {
  450.                                             blockoverride "icon_size"
  451.                                             {
  452.                                                 size = { 28 28 }
  453.                                             }
  454.  
  455.                                             blockoverride "glow_radius"
  456.                                             {
  457.                                                 glow_radius = 2
  458.                                             }
  459.                                         }
  460.                                     }
  461.                                 }
  462.  
  463.                                 #### Changed by Zing ####
  464.                                 # Fixed up scrollbox to be pretier
  465.                                 #################
  466.                                 scrollbox = {
  467.                                     name = "traits_scroller"
  468.                                     visible = "[GreaterThan_int32(GetDataModelSize(CharacterWindow.GetTraits), '(int32)20')]"
  469.                                     size = { 0 55 }
  470.                                     layoutpolicy_vertical = fixed
  471.                                     layoutpolicy_horizontal = expanding
  472.                                     scrollbarpolicy_vertical = as_needed
  473.                                     blockoverride "scrollbox_margins"
  474.                                     {
  475.                                         margin = { 0 0 }
  476.                                         margin_right = 25
  477.                                     }
  478.                                     using = Animation_Tab_Switch
  479.                                     blockoverride "scrollbox_content"
  480.                                     {
  481.                                         spacing = 2
  482.                                         fixedgridbox = {
  483.                                             name = "traits_tiny_showmoretraits"
  484.                                             datamodel = "[CharacterWindow.GetTraits]"
  485.                                             visible = "[GreaterThan_int32(GetDataModelSize(CharacterWindow.GetTraits), '(int32)20')]"
  486.                                             flipdirection = yes
  487.                                             addcolumn = 25
  488.                                             addrow = 26
  489.                                             maxhorizontalslots = 9
  490.                                             datamodel_wrap = 9
  491.  
  492.                                             item = {
  493.                                                 icon_trait = {
  494.                                                     blockoverride "icon_size"
  495.                                                     {
  496.                                                         size = { 30 30 }
  497.                                                     }
  498.  
  499.                                                     blockoverride "glow_radius"
  500.                                                     {
  501.                                                     glow_radius = 2
  502.                                                     }
  503.                                                 }
  504.                                             }
  505.                                         }
  506.                                     }
  507.                                 }
  508.  
  509.                                 expand = {}
  510.                             }
  511.                         }
  512.  
  513.                         expand = {}
  514.                     }
Add Comment
Please, Sign In to add comment