3563 lines
77 KiB
Text
3563 lines
77 KiB
Text
######################################################
|
|
############## LIST TYPES AND TEMPLATES ##############
|
|
######################################################
|
|
|
|
template default_character_list_overlay
|
|
{
|
|
modify_texture = {
|
|
texture = "gfx/interface/buttons/button_standard_overlay.dds"
|
|
spriteType = Corneredstretched
|
|
spriteborder = { 3 3 }
|
|
blend_mode = overlay
|
|
}
|
|
}
|
|
|
|
template character_age_or_death_text
|
|
{
|
|
hbox = {
|
|
block "list_layout" {
|
|
minimumsize = { 62 0 }
|
|
expand = {}
|
|
}
|
|
|
|
margin_right = 5
|
|
spacing = 2
|
|
|
|
block "character_age"
|
|
{
|
|
text_single = {
|
|
text = "[Character.GetAge]"
|
|
align = nobaseline
|
|
}
|
|
}
|
|
|
|
icon = {
|
|
visible = "[Not(Character.IsDeadAndValid)]"
|
|
size = { 23 23 }
|
|
framesize = { 60 60 }
|
|
frame = "[Character.GetHealthIconFrame]"
|
|
texture = "gfx/interface/icons/character_status/icon_health.dds"
|
|
tooltip = "[Character.GetHealthInfo]"
|
|
}
|
|
|
|
block "is_dead"
|
|
{
|
|
icon = {
|
|
name = "is_dead"
|
|
visible = "[Character.IsDeadAndValid]"
|
|
size = { 23 23 }
|
|
|
|
texture = "[Character.GetDeathReasonIcon]"
|
|
tooltip = "CHARACTER_DEAD_TOOLTIP"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
types Lists
|
|
{
|
|
type character_age_health = hbox
|
|
{
|
|
spacing = 2
|
|
|
|
text_single = {
|
|
text = "[Character.GetAge]"
|
|
align = nobaseline
|
|
}
|
|
|
|
icon = {
|
|
visible = "[Not(Character.IsDeadAndValid)]"
|
|
size = { 23 23 }
|
|
framesize = { 60 60 }
|
|
frame = "[Character.GetHealthIconFrame]"
|
|
texture = "gfx/interface/icons/character_status/icon_health.dds"
|
|
tooltip = "[Character.GetHealthInfo]"
|
|
}
|
|
|
|
expand = {}
|
|
}
|
|
|
|
# Implementation details
|
|
type character_list_arrow = highlight_icon
|
|
{
|
|
parentanchor = left|vcenter
|
|
position = { -13 0 }
|
|
|
|
size = { 14 14 }
|
|
framesize = { 14 28 }
|
|
texture = "gfx/interface/buttons/button_entry_characterlist_arrow.dds"
|
|
|
|
gfxtype = togglepushbuttongfx
|
|
effectname = "NoHighlight"
|
|
|
|
spriteType = Corneredstretched
|
|
spriteborder = { 20 20 }
|
|
}
|
|
## Character Skill Value
|
|
|
|
type widget_skill_item_no_icon = widget {
|
|
tooltip = "SKILL_ITEM_TOOLTIP"
|
|
using = tooltip_se
|
|
size = { 32 25 }
|
|
|
|
text_single = {
|
|
name = "value"
|
|
parentanchor = center
|
|
margin_bottom = 4
|
|
align = center
|
|
text = "[SkillItem.GetValue]"
|
|
}
|
|
|
|
background = {
|
|
name = "skill_icon_bg"
|
|
texture = "gfx/interface/window_character/character_view_skills_bg.dds"
|
|
framesize = { 70 26 }
|
|
margin = { 5 0 }
|
|
|
|
block "bg"
|
|
{
|
|
frame = "[SkillItem.GetFrame]"
|
|
}
|
|
}
|
|
}
|
|
|
|
## Character List Items
|
|
type widget_character_list_item = widget {
|
|
datacontext = "[CharacterListItem.GetCharacter]"
|
|
size = { 10 110 }
|
|
|
|
block "divider" {
|
|
divider = {
|
|
parentanchor = bottom|hcenter
|
|
size = { 100% 3 }
|
|
}
|
|
}
|
|
|
|
block "widget" {}
|
|
|
|
hbox = {
|
|
margin = { 0 5 }
|
|
spacing = 15
|
|
|
|
portrait_head_small = {}
|
|
|
|
button_standard = {
|
|
layoutpolicy_horizontal = expanding
|
|
layoutpolicy_vertical = expanding
|
|
|
|
onclick = "[CharacterListItem.OnClick('character')]"
|
|
enabled = "[CharacterListItem.IsSelectable]"
|
|
tooltip = "[CharacterListItem.GetUnselectableReason]"
|
|
|
|
framesize = { 252 80 }
|
|
spriteType = Corneredtiled
|
|
spriteborder = { 10 30 }
|
|
|
|
block "button_texture"
|
|
{
|
|
texture = "gfx/interface/buttons/button_entry_characterlist.dds"
|
|
}
|
|
|
|
block "button" {}
|
|
|
|
character_list_arrow = {
|
|
name = "character_list_arrow"
|
|
}
|
|
|
|
block "overlay" {
|
|
using = default_character_list_overlay
|
|
}
|
|
|
|
block "button_content"
|
|
{
|
|
vbox = {
|
|
layoutpolicy_horizontal = expanding
|
|
layoutpolicy_vertical = expanding
|
|
|
|
# Name
|
|
hbox = {
|
|
layoutpolicy_horizontal = expanding
|
|
layoutpolicy_vertical = expanding
|
|
|
|
# Age & Relation
|
|
vbox = {
|
|
layoutpolicy_horizontal = expanding
|
|
layoutpolicy_vertical = expanding
|
|
|
|
margin_left = 10
|
|
|
|
min_width = 320
|
|
max_width = 320
|
|
|
|
text_single = {
|
|
layoutpolicy_horizontal = expanding
|
|
using = Font_Size_Medium
|
|
autoresize = no
|
|
alwaystransparent = yes
|
|
|
|
text = "[Character.GetUINameNoTooltip|U]"
|
|
}
|
|
|
|
hbox = {
|
|
layoutpolicy_horizontal = expanding
|
|
layoutpolicy_vertical = expanding
|
|
|
|
using = character_age_or_death_text
|
|
blockoverride "list_layout" {}
|
|
|
|
block "character_relation"
|
|
{
|
|
text_single = {
|
|
name = "character_relation"
|
|
layoutpolicy_horizontal = expanding
|
|
raw_text = "| [Character.GetRelationToString( GetPlayer )]"
|
|
tooltip = "EXTENDED_RELATIONS_TOOLTIP"
|
|
default_format = "#low"
|
|
autoresize = no
|
|
align = nobaseline
|
|
visible = "[Character.HasRelationTo( GetPlayer )]"
|
|
alwaystransparent = yes
|
|
}
|
|
|
|
expand = {
|
|
visible = "[Not(Character.HasRelationTo( GetPlayer ))]"
|
|
}
|
|
}
|
|
}
|
|
|
|
block "character_description_extra" {}
|
|
}
|
|
|
|
expand = {}
|
|
|
|
# Skills
|
|
vbox = {
|
|
layoutpolicy_vertical = expanding
|
|
|
|
hbox = {
|
|
name = "skills_grid"
|
|
|
|
datamodel = "[CharacterListItem.GetSkillItems]"
|
|
margin_right = 3
|
|
margin_top = 3
|
|
|
|
item = {
|
|
widget_skill_item_no_icon = {}
|
|
}
|
|
}
|
|
|
|
expand = {}
|
|
}
|
|
|
|
block "extra_skills" {}
|
|
}
|
|
|
|
spacer = {
|
|
size = { 40 40 }
|
|
}
|
|
expand = {}
|
|
}
|
|
|
|
### Character Selection Bottom
|
|
widget = {
|
|
size = { 100% 44 }
|
|
parentanchor = bottom
|
|
|
|
### Details Box
|
|
widget = {
|
|
size = { 100% 44 }
|
|
parentanchor = left
|
|
|
|
block "scissor"
|
|
{
|
|
scissor = yes
|
|
}
|
|
|
|
hbox = {
|
|
layoutpolicy_horizontal = expanding
|
|
layoutpolicy_vertical = expanding
|
|
margin_left = 10
|
|
spacing = 5
|
|
|
|
# Dynasty
|
|
widget = {
|
|
size = { 35 40 }
|
|
|
|
coa_house_tiny = {
|
|
datacontext = "[Character.GetHouse]"
|
|
parentanchor = center
|
|
}
|
|
}
|
|
|
|
block "bottom_middle_box" {
|
|
# Religion & Culture
|
|
hbox = {
|
|
|
|
# Faith
|
|
icon = {
|
|
name = "faith_button"
|
|
size = { 35 35 }
|
|
datacontext = "[Character.GetFaith]"
|
|
tooltipwidget = { faith_tooltip = {} }
|
|
texture = "[Faith.GetIcon]"
|
|
}
|
|
|
|
# Culture
|
|
|
|
hbox = {
|
|
datacontext = "[Character.GetCulture]"
|
|
|
|
tooltipwidget = {
|
|
culture_tooltip = {}
|
|
}
|
|
using = tooltip_se
|
|
|
|
icon = {
|
|
name = "culture"
|
|
texture = "gfx/interface/icons/icon_culture.dds"
|
|
size = { 30 30 }
|
|
}
|
|
|
|
text_multi = {
|
|
text = "CULTURE_LISTS_WINDOW"
|
|
autoresize = yes
|
|
max_width = 90
|
|
max_height = 44
|
|
}
|
|
}
|
|
|
|
block "bottom_middle_box_extra_content" {
|
|
|
|
}
|
|
}
|
|
}
|
|
|
|
# Traits
|
|
fixedgridbox = {
|
|
name = "traits_grid"
|
|
datamodel = "[CharacterListItem.GetTraits]"
|
|
flipdirection = yes
|
|
size = { 150 35 }
|
|
addcolumn = 30
|
|
addrow = 35
|
|
block "horizontal_slots"
|
|
{
|
|
maxhorizontalslots = 8
|
|
}
|
|
maxverticalslots = 1
|
|
|
|
item = {
|
|
widget = {
|
|
visible = "[Trait.IsValid]"
|
|
size = { 35 35 }
|
|
|
|
icon_trait = {
|
|
parentanchor = center
|
|
|
|
blockoverride "icon_size"
|
|
{
|
|
size = { 30 30 }
|
|
}
|
|
|
|
blockoverride "tooltip_placement"
|
|
{
|
|
using = tooltip_se
|
|
}
|
|
|
|
blockoverride "glow_radius"
|
|
{
|
|
glow_radius = 3
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
vbox = {
|
|
datacontext = "[CharacterListItem.GetCharacter]"
|
|
margin_right = 5
|
|
}
|
|
|
|
expand = {}
|
|
block "bottom_right_box"
|
|
{
|
|
hbox = {
|
|
margin_right = 8
|
|
# Realm
|
|
widget = {
|
|
datacontext = "[CharacterListItem.GetFirstClaim]"
|
|
visible = "[Not( IsDataModelEmpty( CharacterListItem.GetTitleItems ) )]"
|
|
size = { 55 58 }
|
|
|
|
block "claims_visibility" {}
|
|
|
|
coa_title_tiny_crown = {
|
|
datacontext = "[Claim.GetTitle]"
|
|
using = tooltip_ne
|
|
|
|
highlight_icon = {
|
|
name = "pressed_claim"
|
|
visible = "[And(Claim.IsPressed, Not(Claim.IsImplicit))]"
|
|
parentanchor = bottom|right
|
|
size = { 24 24 }
|
|
texture = "gfx/interface/icons/title_status/icon_claim_pressed.dds"
|
|
}
|
|
|
|
highlight_icon = {
|
|
name = "unpressed_claim"
|
|
visible = "[And(Not(Claim.IsPressed), Not(Claim.IsImplicit))]"
|
|
parentanchor = bottom|right
|
|
size = { 24 24 }
|
|
texture = "gfx/interface/icons/title_status/icon_claim_unpressed.dds"
|
|
}
|
|
|
|
highlight_icon = {
|
|
name = "implicit_claim"
|
|
visible = "[Claim.IsImplicit]"
|
|
parentanchor = bottom|right
|
|
size = { 24 24 }
|
|
texture = "gfx/interface/icons/title_status/icon_claim_implicit.dds"
|
|
}
|
|
|
|
blockoverride "coa_tooltip"
|
|
{
|
|
tooltip = "CHARACTER_LIST_CLAIM_TOOLTIP"
|
|
}
|
|
}
|
|
|
|
text_single = {
|
|
parentanchor = vcenter|right
|
|
position = { 0 -6 }
|
|
|
|
text = "[CharacterListItem.GetTitleItemCount]"
|
|
align = right
|
|
minimumsize = { 15 0 }
|
|
|
|
tooltip = "CHARACTER_LIST_CLAIM_TOOLTIP"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
### Button Box
|
|
|
|
block "button_box" {
|
|
widget = {
|
|
size = { 100% 40 }
|
|
|
|
hbox = {
|
|
layoutpolicy_horizontal = expanding
|
|
margin_right = 8
|
|
|
|
expand = {}
|
|
|
|
hbox = {
|
|
background = {
|
|
margin_top = 8
|
|
margin_left = 12
|
|
margin_bottom = 2
|
|
|
|
using = Background_Area_Light
|
|
using = Mask_Rough_Edges
|
|
}
|
|
|
|
block "button_box_content" {}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
type widget_character_list_item_finder = widget {
|
|
datacontext = "[CharacterListItem.GetCharacter]"
|
|
size = { 200 94 }
|
|
|
|
block "divider" {}
|
|
|
|
block "widget" {}
|
|
|
|
hbox = {
|
|
vbox = {
|
|
layoutpolicy_vertical = expanding
|
|
margin_top = 4
|
|
|
|
portrait_head_small = {}
|
|
|
|
block "portrait_head_margin"
|
|
{
|
|
}
|
|
|
|
expand = {}
|
|
}
|
|
|
|
block "button_content"
|
|
{
|
|
hbox = {
|
|
layoutpolicy_horizontal = expanding
|
|
layoutpolicy_vertical = expanding
|
|
margin_top = 5
|
|
|
|
vbox = {
|
|
layoutpolicy_horizontal = expanding
|
|
layoutpolicy_vertical = expanding
|
|
|
|
# Name and age
|
|
hbox = {
|
|
layoutpolicy_horizontal = expanding
|
|
margin = { 0 3 }
|
|
margin_left = 5
|
|
margin_right = 10
|
|
|
|
background = {
|
|
using = Background_Area_Characterlist
|
|
}
|
|
|
|
background = {
|
|
using = Background_Area_Dark
|
|
|
|
modify_texture = {
|
|
texture = "gfx/interface/component_masks/mask_fade_vertical.dds"
|
|
blend_mode = alphamultiply
|
|
alpha = 1
|
|
rotate_uv = 90
|
|
mirror = vertical
|
|
}
|
|
}
|
|
|
|
hbox = {
|
|
margin_left = 3
|
|
layoutpolicy_horizontal = expanding
|
|
maximumsize = { 338 -1 }
|
|
|
|
text_single = {
|
|
using = Font_Size_Medium
|
|
align = nobaseline
|
|
text = "[Character.GetUINameNoTooltip|U]"
|
|
fontsize_min = 14
|
|
max_width = 300
|
|
}
|
|
|
|
block "character_relation"
|
|
{
|
|
hbox = {
|
|
visible = "[And(Character.HasRelationTo( GetPlayer ), Not(Character.IsPlayer))]"
|
|
|
|
text_single = {
|
|
raw_text = "•"
|
|
align = nobaseline
|
|
margin = { 5 0 }
|
|
}
|
|
|
|
text_single = {
|
|
name = "character_relation"
|
|
text = "[Character.GetRelationToString( GetPlayer )]"
|
|
tooltip = "EXTENDED_RELATIONS_TOOLTIP"
|
|
default_format = "#low"
|
|
align = nobaseline
|
|
fontsize_min = 14
|
|
max_width = 180
|
|
}
|
|
}
|
|
}
|
|
|
|
expand = {}
|
|
}
|
|
|
|
hbox = {
|
|
using = character_age_or_death_text
|
|
}
|
|
|
|
# Skills
|
|
hbox_skills_grid = {}
|
|
}
|
|
|
|
### BOTTOM ROW ###
|
|
hbox = {
|
|
layoutpolicy_horizontal = expanding
|
|
layoutpolicy_vertical = expanding
|
|
|
|
vbox = {
|
|
layoutpolicy_horizontal = expanding
|
|
layoutpolicy_vertical = expanding
|
|
|
|
block "additional_info_kill_list" {}
|
|
|
|
hbox = {
|
|
layoutpolicy_horizontal = expanding
|
|
layoutpolicy_vertical = expanding
|
|
|
|
# Dynasty
|
|
widget = {
|
|
size = { 45 40 }
|
|
|
|
coa_house_small = {
|
|
datacontext = "[Character.GetHouse]"
|
|
parentanchor = center
|
|
scale = 0.7
|
|
}
|
|
}
|
|
|
|
block "left_box"
|
|
{
|
|
# Traits
|
|
hbox = {
|
|
layoutpolicy_vertical = expanding
|
|
margin = { 10 0 }
|
|
minimumsize = { 140 0 } #### needed for prison view
|
|
|
|
background = {
|
|
using = Background_Area_Dark
|
|
alpha = 0.5
|
|
margin = { 0 2 }
|
|
}
|
|
|
|
|
|
hbox = {
|
|
layoutpolicy_horizontal = expanding
|
|
|
|
fixedgridbox = {
|
|
name = "traits_grid"
|
|
datamodel = "[CharacterListItem.GetTraits]"
|
|
datamodel_reuse_widgets = yes
|
|
flipdirection = yes
|
|
layoutpolicy_horizontal = expanding
|
|
layoutpolicy_vertical = expanding
|
|
addcolumn = 30
|
|
addrow = 28
|
|
|
|
block "gridbox_items"
|
|
{
|
|
min_width = 210
|
|
datamodel_wrap = 7
|
|
maxverticalslots = 2
|
|
}
|
|
|
|
item = {
|
|
icon_trait = {
|
|
visible = "[Trait.IsValid]"
|
|
|
|
blockoverride "icon_size"
|
|
{
|
|
size = { 30 30 }
|
|
}
|
|
|
|
blockoverride "tooltip_placement"
|
|
{
|
|
using = tooltip_se
|
|
}
|
|
|
|
blockoverride "glow_radius"
|
|
{
|
|
glow_radius = 3
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
expand = {}
|
|
}
|
|
}
|
|
}
|
|
|
|
vbox = {
|
|
datacontext = "[CharacterListItem.GetCharacter]"
|
|
layoutpolicy_horizontal = expanding
|
|
layoutpolicy_vertical = expanding
|
|
|
|
block "bottom_right_box"
|
|
{
|
|
hbox = {
|
|
layoutpolicy_horizontal = expanding
|
|
layoutpolicy_vertical = expanding
|
|
|
|
block "claims" { # for kill list
|
|
widget_list_claims = {}
|
|
}
|
|
|
|
# Religion and culture
|
|
hbox = {
|
|
layoutpolicy_horizontal = expanding
|
|
layoutpolicy_vertical = expanding
|
|
margin_left = 8
|
|
margin_right = 4
|
|
spacing = 5
|
|
minimumsize = { 110 0 }
|
|
|
|
background = {
|
|
using = Background_Area_Dark
|
|
alpha = 0.5
|
|
margin = { 0 2 }
|
|
}
|
|
|
|
icon = {
|
|
name = "faith_button"
|
|
size = { 38 38 }
|
|
datacontext = "[Character.GetFaith]"
|
|
tooltipwidget = { faith_tooltip = {} }
|
|
using = tooltip_se
|
|
|
|
texture = "[Faith.GetIcon]"
|
|
}
|
|
|
|
hbox = {
|
|
datacontext = "[Character.GetCulture]"
|
|
layoutpolicy_horizontal = expanding
|
|
spacing = 3
|
|
|
|
tooltipwidget = {
|
|
culture_tooltip = {}
|
|
}
|
|
using = tooltip_se
|
|
|
|
icon = {
|
|
name = "culture"
|
|
texture = "gfx/interface/icons/icon_culture.dds"
|
|
size = { 24 24 }
|
|
}
|
|
|
|
text_single = {
|
|
layoutpolicy_horizontal = expanding
|
|
text = "CULTURE_LISTS_WINDOW"
|
|
autoresize = no
|
|
align = nobaseline
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
type dropdown_menu_standard = dropDown {
|
|
block "dropdown_properties"
|
|
{
|
|
#datamodel = "[GetPlayer.GetCourt]"
|
|
}
|
|
|
|
block "dropdown_size"
|
|
{
|
|
size = { 200 32 }
|
|
}
|
|
|
|
|
|
|
|
active_item = {
|
|
container = {
|
|
alwaystransparent = no
|
|
|
|
button_drop = {
|
|
block "dropdown_size"
|
|
{
|
|
size = { 200 32 }
|
|
}
|
|
block "dropdown_active_item_properties"
|
|
{
|
|
raw_text = "#D Current Option#!"
|
|
}
|
|
button_trigger = none
|
|
|
|
|
|
}
|
|
}
|
|
}
|
|
|
|
item = {
|
|
container = {
|
|
alwaystransparent = no
|
|
|
|
button_dropdown = {
|
|
block "dropdown_size"
|
|
{
|
|
size = { 200 32 }
|
|
}
|
|
button_trigger = none
|
|
|
|
block "dropdown_item_properties"
|
|
{
|
|
raw_text = "#D Option#!"
|
|
}
|
|
|
|
default_format = "#clickable"
|
|
}
|
|
}
|
|
}
|
|
|
|
list = {
|
|
scrollarea = {
|
|
position = { 5 32 }
|
|
block "dropdown_list_maxsize"
|
|
{
|
|
maximumsize = { 192 250 }
|
|
}
|
|
|
|
block "dropdown_list_properties"
|
|
{
|
|
|
|
}
|
|
|
|
autoresizescrollarea = yes
|
|
scrollbarpolicy_horizontal = always_off
|
|
|
|
using = Background_DropDown
|
|
|
|
scrollwidget = {
|
|
dynamicgridbox = {
|
|
alwaystransparent = no
|
|
}
|
|
}
|
|
|
|
scrollbar_vertical = {
|
|
using = Scrollbar_Vertical
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
type dropdown_sort_characterlist = dropDown {
|
|
name = "sort_options"
|
|
block "size_button_drop" { ########### only used for character finder
|
|
size = { 190 33 }
|
|
}
|
|
|
|
active_item = {
|
|
widget = {
|
|
alwaystransparent = no
|
|
size = { 100% 100% }
|
|
|
|
button_drop = {
|
|
block "text_button_drop" {
|
|
text = "[CharacterListSortItem.GetName]"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
item = {
|
|
widget = {
|
|
alwaystransparent = no
|
|
block "size_dropdown" {
|
|
size = { 190 33 }
|
|
}
|
|
|
|
button_normal = {
|
|
size = { 100% 30 }
|
|
button_trigger = none
|
|
gfxtype = framedbuttongfx
|
|
effectname = "NoHighlight"
|
|
shaderfile = "gfx/FX/pdxgui_pushbutton.shader"
|
|
upframe = 1
|
|
overframe = 2
|
|
downframe = 3
|
|
disableframe = 1
|
|
texture = "gfx/interface/buttons/button_interaction_menu.dds"
|
|
framesize = { 317 30 }
|
|
}
|
|
|
|
button_dropdown = {
|
|
block "size_dropdown" {
|
|
size = { 190 33 }
|
|
}
|
|
block "text_button_drop" {
|
|
text = "[CharacterListSortItem.GetName]"
|
|
}
|
|
|
|
default_format = "#clickable"
|
|
}
|
|
}
|
|
}
|
|
|
|
list = {
|
|
scrollarea = {
|
|
position = { 5 33 }
|
|
maximumsize = { 190 250 }
|
|
autoresizescrollarea = yes
|
|
scrollbarpolicy_horizontal = always_off
|
|
|
|
using = Background_DropDown
|
|
|
|
scrollwidget = {
|
|
dynamicgridbox = {
|
|
alwaystransparent = no
|
|
}
|
|
}
|
|
|
|
scrollbar_vertical = {
|
|
using = Scrollbar_Vertical
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
type widget_list_claims = widget {
|
|
datacontext = "[CharacterListItem.GetFirstClaim]"
|
|
layoutpolicy_vertical = expanding
|
|
size = { 55 0 }
|
|
|
|
block "claims_visibility" {}
|
|
|
|
coa_title_tiny_crown = {
|
|
visible = "[Not( IsDataModelEmpty( CharacterListItem.GetTitleItems ) )]"
|
|
parentanchor = center
|
|
position = { -10 0 }
|
|
scale = 0.8
|
|
|
|
tooltip = "CHARACTER_LIST_CLAIM_TOOLTIP"
|
|
using = tooltip_ne
|
|
|
|
blockoverride "coa_button" {
|
|
datacontext = "[Claim.GetTitle]"
|
|
onclick = "[DefaultOnCoatOfArmsClick(Title.GetID)]"
|
|
onrightclick = "[DefaultOnCoatOfArmsRightClick(Title.GetID)]"
|
|
button_ignore = none
|
|
}
|
|
|
|
highlight_icon = {
|
|
name = "pressed_claim"
|
|
visible = "[And(Claim.IsPressed, Not(Claim.IsImplicit))]"
|
|
texture = "gfx/interface/icons/title_status/icon_claim_pressed.dds"
|
|
size = { 24 24 }
|
|
parentanchor = bottom|right
|
|
}
|
|
|
|
highlight_icon = {
|
|
name = "unpressed_claim"
|
|
visible = "[And(Not(Claim.IsPressed), Not(Claim.IsImplicit))]"
|
|
texture = "gfx/interface/icons/title_status/icon_claim_unpressed.dds"
|
|
size = { 24 24 }
|
|
parentanchor = bottom|right
|
|
}
|
|
|
|
highlight_icon = {
|
|
name = "implicit_claim"
|
|
visible = "[Claim.IsImplicit]"
|
|
texture = "gfx/interface/icons/title_status/icon_claim_implicit.dds"
|
|
size = { 24 24 }
|
|
parentanchor = bottom|right
|
|
}
|
|
}
|
|
|
|
text_single = {
|
|
visible = "[CharacterListItem.HasTitleItems]"
|
|
parentanchor = center
|
|
position = { 18 0 }
|
|
text = "[CharacterListItem.GetTitleItemCount]"
|
|
default_format = "#high"
|
|
using = Font_Size_Medium
|
|
align = center
|
|
}
|
|
}
|
|
|
|
## Same as hbox_skills_grid, except taking character instead of character list item
|
|
type hbox_skills_grid_character_model = hbox {
|
|
name = "hbox_skills_grid_character_model"
|
|
minimumsize = { 160 0 }
|
|
|
|
widget = {
|
|
size = { 32 25 }
|
|
|
|
text_single = {
|
|
name = "value"
|
|
parentanchor = center
|
|
margin_bottom = 4
|
|
align = center
|
|
text = "[Character.GetSkill('diplomacy')]"
|
|
tooltip = "diplomacy_concept"
|
|
}
|
|
|
|
background = {
|
|
name = "skill_icon_bg"
|
|
texture = "gfx/interface/window_character/character_view_skills_bg.dds"
|
|
framesize = { 70 26 }
|
|
margin = { 5 0 }
|
|
|
|
frame = 1
|
|
}
|
|
}
|
|
widget = {
|
|
size = { 32 25 }
|
|
|
|
text_single = {
|
|
name = "value"
|
|
parentanchor = center
|
|
margin_bottom = 4
|
|
align = center
|
|
text = "[Character.GetSkill('martial')]"
|
|
tooltip = "martial_concept"
|
|
}
|
|
|
|
background = {
|
|
name = "skill_icon_bg"
|
|
texture = "gfx/interface/window_character/character_view_skills_bg.dds"
|
|
framesize = { 70 26 }
|
|
margin = { 5 0 }
|
|
|
|
frame = 2
|
|
}
|
|
}
|
|
widget = {
|
|
size = { 32 25 }
|
|
|
|
text_single = {
|
|
name = "value"
|
|
parentanchor = center
|
|
margin_bottom = 4
|
|
align = center
|
|
text = "[Character.GetSkill('stewardship')]"
|
|
tooltip = "stewardship_concept"
|
|
}
|
|
|
|
background = {
|
|
name = "skill_icon_bg"
|
|
texture = "gfx/interface/window_character/character_view_skills_bg.dds"
|
|
framesize = { 70 26 }
|
|
margin = { 5 0 }
|
|
|
|
frame = 3
|
|
}
|
|
}
|
|
widget = {
|
|
size = { 32 25 }
|
|
|
|
text_single = {
|
|
name = "value"
|
|
parentanchor = center
|
|
margin_bottom = 4
|
|
align = center
|
|
text = "[Character.GetSkill('intrigue')]"
|
|
tooltip = "intrigue_concept"
|
|
}
|
|
|
|
background = {
|
|
name = "skill_icon_bg"
|
|
texture = "gfx/interface/window_character/character_view_skills_bg.dds"
|
|
framesize = { 70 26 }
|
|
margin = { 5 0 }
|
|
|
|
frame = 4
|
|
}
|
|
}
|
|
widget = {
|
|
size = { 32 25 }
|
|
|
|
text_single = {
|
|
name = "value"
|
|
parentanchor = center
|
|
margin_bottom = 4
|
|
align = center
|
|
text = "[Character.GetSkill('learning')]"
|
|
tooltip = "learning_concept"
|
|
}
|
|
|
|
background = {
|
|
name = "skill_icon_bg"
|
|
texture = "gfx/interface/window_character/character_view_skills_bg.dds"
|
|
framesize = { 70 26 }
|
|
margin = { 5 0 }
|
|
|
|
frame = 5
|
|
}
|
|
}
|
|
}
|
|
|
|
type hbox_skills_grid = hbox {
|
|
name = "skills_grid"
|
|
minimumsize = { 160 0 }
|
|
|
|
block "skills_datamodel"
|
|
{
|
|
datamodel = "[CharacterListItem.GetSkillItems]"
|
|
}
|
|
|
|
item = {
|
|
widget_skill_item_no_icon = {}
|
|
}
|
|
}
|
|
|
|
type hbox_list_sort_buttons = hbox {
|
|
name = "sort_buttons"
|
|
|
|
block "margins" {
|
|
margin_left = 20
|
|
margin_right = 30
|
|
margin_top = 5
|
|
spacing = 5
|
|
}
|
|
|
|
button_standard = {
|
|
name = "filters"
|
|
size = { 25 25 }
|
|
|
|
down = "[CharacterSelectionList.FiltersShown]"
|
|
frame = "[BoolTo1And2(CharacterSelectionList.IsAllDefault)]"
|
|
onclick = "[CharacterSelectionList.OnToggleFilters]"
|
|
|
|
tooltip = "TOGGLE_FILTERS"
|
|
using = tooltip_nw
|
|
|
|
button_search = {
|
|
alwaystransparent = yes
|
|
parentanchor = center
|
|
size = { 20 20 }
|
|
}
|
|
|
|
block "filters_visible" {}
|
|
}
|
|
|
|
divider_light = {
|
|
size = { 3 20 }
|
|
block "filters_visible" {}
|
|
}
|
|
|
|
block "sort_prefix" {}
|
|
|
|
text_single = {
|
|
text = "SORT_BY"
|
|
align = nobaseline
|
|
max_width = 90
|
|
}
|
|
|
|
block "sort_dropdown" {
|
|
dropdown_sort_characterlist = {}
|
|
}
|
|
|
|
button_standard = {
|
|
name = "sort_order"
|
|
size = { 25 25 }
|
|
onclick = "[CharacterSelectionList.RevertSortOrder]"
|
|
|
|
tooltip = "CHARACTER_SORT_BY"
|
|
using = tooltip_nw
|
|
|
|
button_icon = {
|
|
alwaystransparent = yes
|
|
parentanchor = center
|
|
size = { 25 25 }
|
|
texture = "gfx/interface/icons/flat_icons/sort_icon.dds"
|
|
framesize = { 66 66 }
|
|
|
|
frame = "[BoolTo1And2(CharacterSelectionList.GetSortOrder)]"
|
|
|
|
blockoverride "button_frames"
|
|
{
|
|
effectname = "NoHighlight"
|
|
}
|
|
}
|
|
}
|
|
|
|
expand = {}
|
|
|
|
block "skill_sort_buttons"
|
|
{
|
|
hbox = {
|
|
button_standard_hover = {
|
|
name = "skill_diplomacy"
|
|
size = { 32 32 }
|
|
|
|
icon = {
|
|
texture = "gfx/interface/icons/icon_skills.dds"
|
|
size = { 32 32 }
|
|
framesize = { 60 60 }
|
|
frame = 1
|
|
}
|
|
|
|
onclick = "[CharacterSelectionList.SortBySkill('(int32)0')]"
|
|
|
|
tooltip = "SORT_BY_DIPLOMACY"
|
|
using = tooltip_ne
|
|
|
|
skillitem_sort_icon = {
|
|
visible = "[CharacterSelectionList.IsSortingBySkill('(int32)0')]"
|
|
}
|
|
}
|
|
|
|
button_standard_hover = {
|
|
name = "skill_martial"
|
|
size = { 32 32 }
|
|
|
|
icon = {
|
|
texture = "gfx/interface/icons/icon_skills.dds"
|
|
size = { 32 32 }
|
|
framesize = { 60 60 }
|
|
frame = 2
|
|
}
|
|
|
|
onclick = "[CharacterSelectionList.SortBySkill('(int32)1')]"
|
|
|
|
tooltip = "SORT_BY_MARTIAL"
|
|
using = tooltip_ne
|
|
|
|
skillitem_sort_icon = {
|
|
visible = "[CharacterSelectionList.IsSortingBySkill('(int32)1')]"
|
|
}
|
|
}
|
|
|
|
button_standard_hover = {
|
|
name = "skill_stewardship"
|
|
size = { 32 32 }
|
|
|
|
icon = {
|
|
texture = "gfx/interface/icons/icon_skills.dds"
|
|
size = { 32 32 }
|
|
framesize = { 60 60 }
|
|
frame = 3
|
|
}
|
|
|
|
onclick = "[CharacterSelectionList.SortBySkill('(int32)2')]"
|
|
tooltip = "SORT_BY_STEWARDSHIP"
|
|
using = tooltip_ne
|
|
|
|
skillitem_sort_icon = {
|
|
visible = "[CharacterSelectionList.IsSortingBySkill('(int32)2')]"
|
|
}
|
|
}
|
|
|
|
button_standard_hover = {
|
|
name = "skill_intrigue"
|
|
size = { 32 32 }
|
|
|
|
icon = {
|
|
texture = "gfx/interface/icons/icon_skills.dds"
|
|
size = { 32 32 }
|
|
framesize = { 60 60 }
|
|
frame = 4
|
|
}
|
|
|
|
onclick = "[CharacterSelectionList.SortBySkill('(int32)3')]"
|
|
tooltip = "SORT_BY_INTRIGUE"
|
|
using = tooltip_ne
|
|
|
|
skillitem_sort_icon = {
|
|
visible = "[CharacterSelectionList.IsSortingBySkill('(int32)3')]"
|
|
}
|
|
}
|
|
|
|
button_standard_hover = {
|
|
name = "skill_learning"
|
|
size = { 32 32 }
|
|
|
|
icon = {
|
|
texture = "gfx/interface/icons/icon_skills.dds"
|
|
size = { 32 32 }
|
|
framesize = { 60 60 }
|
|
frame = 5
|
|
}
|
|
|
|
onclick = "[CharacterSelectionList.SortBySkill('(int32)4')]"
|
|
tooltip = "SORT_BY_LEARNING"
|
|
using = tooltip_ne
|
|
|
|
skillitem_sort_icon = {
|
|
visible = "[CharacterSelectionList.IsSortingBySkill('(int32)4')]"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
type skillitem_sort_icon = icon {
|
|
frame = "[BoolTo1And2(CharacterSelectionList.GetSortOrder)]"
|
|
alwaystransparent = yes
|
|
parentanchor = top|hcenter
|
|
position = { 0 -14 }
|
|
texture = "gfx/interface/buttons/button_sort_toggle.dds"
|
|
framesize = { 36 36 }
|
|
size = { 18 18 }
|
|
|
|
using = Master_Button_Modify_Texture
|
|
|
|
blockoverride "master_color_frame" {
|
|
frame = 1
|
|
}
|
|
}
|
|
|
|
type vbox_character_list = vbox {
|
|
name = "character_list"
|
|
spacing = 3
|
|
|
|
block "sort_buttons"
|
|
{
|
|
hbox_list_sort_buttons = {
|
|
layoutpolicy_horizontal = expanding
|
|
|
|
blockoverride "margins" {
|
|
margin_left = 20
|
|
margin_right = 23
|
|
margin_top = 5
|
|
spacing = 5
|
|
}
|
|
}
|
|
}
|
|
|
|
block "special_character" {}
|
|
|
|
scrollbox = {
|
|
|
|
name = "characters_scroll_area"
|
|
layoutpolicy_vertical = expanding
|
|
layoutpolicy_horizontal = expanding
|
|
|
|
block "scrollbox_properties"
|
|
{
|
|
}
|
|
|
|
blockoverride "scrollbox_content" {
|
|
|
|
block "container_implementation" {
|
|
vbox = {
|
|
name = "characters_grid"
|
|
datamodel = "[CharacterSelectionList.GetList]"
|
|
visible = "[Not(CharacterSelectionList.IsBuildingList)]"
|
|
layoutpolicy_horizontal = expanding
|
|
|
|
item = {
|
|
widget_character_list_item = {
|
|
block "item_size" {
|
|
size = { 650 110 }
|
|
layoutpolicy_horizontal = expanding
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
blockoverride "scrollbox_empty"
|
|
{
|
|
block "scrollbox_empty_visibility"
|
|
{
|
|
layoutpolicy_vertical = expanding
|
|
visible = "[IsDataModelEmpty( CharacterSelectionList.GetList )]"
|
|
text = "NO_CHARACTERS_TO_SELECT"
|
|
}
|
|
}
|
|
}
|
|
|
|
block "character_count"
|
|
{
|
|
hbox = {
|
|
layoutpolicy_horizontal = growing
|
|
margin = { 25 5 }
|
|
margin_bottom = 8
|
|
spacing = 5
|
|
|
|
block "bottom_bar" {}
|
|
|
|
expand = {}
|
|
|
|
widget = {
|
|
size = { 20 15 }
|
|
|
|
warning_icon = {
|
|
size = { 25 25 }
|
|
visible = "[Not( CharacterSelectionList.IsAllDefault )]"
|
|
tooltip = "CHARACTER_FINDER_FILTER_SET"
|
|
position = { -3 -5 }
|
|
}
|
|
}
|
|
|
|
text_single = {
|
|
name = "character_count"
|
|
datacontext = "[CharacterSelectionList]"
|
|
text = "CHARACTER_FINDER_COUNT"
|
|
align = center|nobaseline
|
|
default_format = "#low"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
type fixed_gridbox_character_list = vbox_character_list
|
|
{
|
|
blockoverride "container_implementation"
|
|
{
|
|
fixedgridbox = {
|
|
name = "characters_grid"
|
|
|
|
block "character_gridbox"
|
|
{
|
|
addcolumn = 650
|
|
addrow = 105
|
|
datamodel_reuse_widgets = yes
|
|
}
|
|
|
|
datamodel = "[CharacterSelectionList.GetList]"
|
|
visible = "[Not(CharacterSelectionList.IsBuildingList)]"
|
|
|
|
item = {
|
|
widget_character_list_item = {
|
|
block "item_size"
|
|
{
|
|
size = { 650 110 }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
type button_recruit_character = button_round
|
|
{
|
|
visible = "[Character.IsPlayerInteractionShown('recruit_guest_interaction')]"
|
|
enabled = "[Character.IsPlayerInteractionValid('recruit_guest_interaction')]"
|
|
onclick = "[Character.OpenPlayerInteraction('recruit_guest_interaction')]"
|
|
tooltip = "[Character.GetPlayerInteractionTooltip('recruit_guest_interaction')]"
|
|
|
|
button_add_character = {
|
|
alwaystransparent = yes
|
|
parentanchor = center
|
|
}
|
|
}
|
|
|
|
type widget_courtier_item = widget {
|
|
size = { 0 125 }
|
|
|
|
hbox = {
|
|
spacing = 5
|
|
|
|
background = {
|
|
using = Background_Area_With_Header
|
|
margin_right = 7
|
|
margin_left = 5
|
|
}
|
|
|
|
portrait_head = {}
|
|
|
|
vbox = {
|
|
layoutpolicy_horizontal = expanding
|
|
layoutpolicy_vertical = expanding
|
|
margin_top = 3
|
|
|
|
hbox = {
|
|
layoutpolicy_horizontal = expanding
|
|
|
|
text_single = {
|
|
name = "name"
|
|
layoutpolicy_horizontal = expanding
|
|
autoresize = no
|
|
text = "[Character.GetUINameNoTooltip]"
|
|
using = Font_Size_Medium
|
|
align = nobaseline
|
|
fontsize_min = 14
|
|
margin_right = 10
|
|
}
|
|
|
|
hbox_skills_grid = {}
|
|
}
|
|
|
|
vbox = {
|
|
layoutpolicy_horizontal = expanding
|
|
margin = { 0 3 }
|
|
margin_bottom = 8
|
|
|
|
hbox = {
|
|
layoutpolicy_horizontal = expanding
|
|
spacing = 3
|
|
|
|
warning_icon = {
|
|
visible = "[And( Character.CourtierWantsToLeaveCourt, Not( Character.IsImprisoned))]"
|
|
size = { 20 20 }
|
|
tooltip = "[Character.GetCourtierLeaveDescription]"
|
|
}
|
|
|
|
debug_square = {
|
|
visible = "[AIWatchWindowsEnabled]"
|
|
size = { 20 20 }
|
|
raw_tooltip = "#D [Character.GetDebugCourtierLeaveReasons]#!"
|
|
}
|
|
|
|
text_single = {
|
|
name = "relation_to_court_owner"
|
|
default_format = "#low"
|
|
align = nobaseline
|
|
max_width = 370
|
|
visible = "[Not(Character.IsHostage)]"
|
|
|
|
block "description_relation_text" {
|
|
text = "[Character.GetRelationToString( CharacterWindow.GetCourtOwner )]"
|
|
tooltip = "EXTENDED_RELATIONS_TOOLTIP"
|
|
}
|
|
|
|
background = {
|
|
visible = "[Character.IsImprisoned]"
|
|
using = Status_Bad
|
|
alpha = 0.5
|
|
}
|
|
}
|
|
|
|
text_single = {
|
|
name = "relation_to_court_hostage"
|
|
default_format = "#medium"
|
|
align = nobaseline
|
|
visible = "[Character.IsHostage]"
|
|
|
|
block "description_relation_text" {
|
|
text = "[Character.GetRelationToString( CharacterWindow.GetCourtOwner )]"
|
|
tooltip = "EXTENDED_RELATIONS_TOOLTIP"
|
|
}
|
|
|
|
background = {
|
|
visible = "[Character.IsHostage]"
|
|
using = Status_Mixed
|
|
alpha = 0.5
|
|
}
|
|
}
|
|
expand = {}
|
|
|
|
text_single = {
|
|
name = "has_guardian"
|
|
default_format = "#low"
|
|
align = nobaseline
|
|
max_width = 370
|
|
margin_right = 5
|
|
visible = "[And( Not(Character.IsAdult), Not(Character.HasGuardian) )]"
|
|
|
|
text = "COURT_WINDOW_NO_GUARDIAN"
|
|
tooltip = "COURT_WINDOW_NO_GUARDIAN_TOOLTIP"
|
|
}
|
|
}
|
|
}
|
|
|
|
hbox = {
|
|
layoutpolicy_horizontal = expanding
|
|
spacing = 5
|
|
margin_bottom = 5
|
|
|
|
block "action_buttons"
|
|
{
|
|
hbox = {
|
|
margin = { 0 3 }
|
|
spacing = 5
|
|
|
|
button_recruit_character = {}
|
|
}
|
|
}
|
|
|
|
hbox = {
|
|
layoutpolicy_horizontal = expanding
|
|
layoutpolicy_vertical = expanding
|
|
minimumsize = { 0 60 }
|
|
margin_left = 5
|
|
|
|
background = {
|
|
using = Background_Area_Dark
|
|
margin = { 3 3 }
|
|
alpha = 0.5
|
|
}
|
|
|
|
# Dynasty
|
|
widget = {
|
|
layoutpolicy_vertical = expanding
|
|
size = { 45 40 }
|
|
|
|
coa_house_small = {
|
|
datacontext = "[Character.GetHouse]"
|
|
parentanchor = center
|
|
scale = 0.7
|
|
}
|
|
}
|
|
|
|
# Traits
|
|
vbox = {
|
|
layoutpolicy_vertical = expanding
|
|
margin = { 10 0 }
|
|
|
|
hbox = {
|
|
layoutpolicy_horizontal = expanding
|
|
|
|
fixedgridbox = {
|
|
name = "traits_grid_four"
|
|
datamodel = "[CharacterListItem.GetTraits]"
|
|
flipdirection = yes
|
|
addcolumn = 30
|
|
addrow = 28
|
|
visible = "[Not( IsDataModelEmpty( CharacterListItem.GetTitleItems ) )]"
|
|
|
|
block "gridbox_items" ### for characterview
|
|
{
|
|
datamodel_wrap = 4
|
|
maxverticalslots = 2
|
|
}
|
|
|
|
item = {
|
|
icon_trait = {
|
|
visible = "[Trait.IsValid]"
|
|
|
|
blockoverride "icon_size"
|
|
{
|
|
size = { 30 30 }
|
|
}
|
|
|
|
blockoverride "tooltip_placement"
|
|
{
|
|
using = tooltip_se
|
|
}
|
|
|
|
blockoverride "glow_radius"
|
|
{
|
|
glow_radius = 3
|
|
}
|
|
}
|
|
}
|
|
}
|
|
fixedgridbox = {
|
|
name = "traits_grid_five"
|
|
datamodel = "[CharacterListItem.GetTraits]"
|
|
flipdirection = yes
|
|
addcolumn = 30
|
|
addrow = 28
|
|
visible = "[IsDataModelEmpty( CharacterListItem.GetTitleItems )]"
|
|
|
|
block "gridbox_items" ### for characterview
|
|
{
|
|
datamodel_wrap = 5
|
|
maxverticalslots = 2
|
|
}
|
|
|
|
item = {
|
|
icon_trait = {
|
|
visible = "[Trait.IsValid]"
|
|
|
|
blockoverride "icon_size"
|
|
{
|
|
size = { 30 30 }
|
|
}
|
|
|
|
blockoverride "tooltip_placement"
|
|
{
|
|
using = tooltip_se
|
|
}
|
|
|
|
blockoverride "glow_radius"
|
|
{
|
|
glow_radius = 3
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
expand = {}
|
|
}
|
|
}
|
|
|
|
expand = {}
|
|
|
|
divider_light = {
|
|
layoutpolicy_vertical = expanding
|
|
alpha = 0.5
|
|
}
|
|
|
|
hbox = {
|
|
margin = { 3 0 }
|
|
|
|
widget_list_claims = {
|
|
visible = "[Not( IsDataModelEmpty( CharacterListItem.GetTitleItems ) )]"
|
|
}
|
|
}
|
|
|
|
divider_light = {
|
|
visible = "[Not( IsDataModelEmpty( CharacterListItem.GetTitleItems ) )]"
|
|
layoutpolicy_vertical = expanding
|
|
alpha = 0.5
|
|
}
|
|
|
|
hbox = {
|
|
margin_right = 5
|
|
|
|
button_religion_icon = {
|
|
datacontext = "[Character.GetFaith]"
|
|
size = { 40 40 }
|
|
}
|
|
|
|
vbox = {
|
|
datacontext = "[Character.GetCulture]"
|
|
|
|
tooltipwidget = {
|
|
culture_tooltip = {}
|
|
}
|
|
using = tooltip_se
|
|
|
|
icon = {
|
|
name = "culture"
|
|
texture = "gfx/interface/icons/icon_culture.dds"
|
|
size = { 24 24 }
|
|
}
|
|
|
|
text_single = {
|
|
layoutpolicy_horizontal = expanding
|
|
min_width = 60
|
|
align = center|nobaseline
|
|
autoresize = no
|
|
text = "CULTURE_LISTS_WINDOW"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
type widget_vassal_list_item = widget {
|
|
datacontext = "[CharacterListItem.GetCharacter]"
|
|
|
|
vbox = {
|
|
margin = { 5 0 }
|
|
|
|
background = {
|
|
using = Background_Area_With_Header
|
|
}
|
|
|
|
hbox = {
|
|
layoutpolicy_horizontal = expanding
|
|
margin = { 5 5 }
|
|
|
|
text_single = {
|
|
layoutpolicy_horizontal = expanding
|
|
text = "[Character.GetUINameNoTooltip|U]"
|
|
using = Font_Size_Medium
|
|
autoresize = no
|
|
fontsize_min = 13
|
|
align = nobaseline
|
|
max_width = 340
|
|
}
|
|
|
|
expand = {}
|
|
|
|
hbox_skills_grid = {}
|
|
}
|
|
|
|
hbox = {
|
|
layoutpolicy_horizontal = expanding
|
|
spacing = 5
|
|
|
|
portrait_head_small = {}
|
|
|
|
vbox = {
|
|
layoutpolicy_horizontal = expanding
|
|
layoutpolicy_vertical = expanding
|
|
margin_right = 5
|
|
|
|
hbox = {
|
|
layoutpolicy_horizontal = expanding
|
|
|
|
vbox = {
|
|
layoutpolicy_horizontal = expanding
|
|
|
|
margin_top = 3
|
|
|
|
hbox = {
|
|
layoutpolicy_horizontal = expanding
|
|
|
|
text_single = {
|
|
name = "character_relation"
|
|
visible = "[Or(Character.GetLiege.IsLocalPlayer, Character.GetSuzerain.IsLocalPlayer)]"
|
|
layoutpolicy_horizontal = expanding
|
|
text = "[Character.GetRelationToString(GetPlayer)]"
|
|
tooltip = "EXTENDED_RELATIONS_TOOLTIP"
|
|
default_format = "#low"
|
|
autoresize = no
|
|
fontsize_min = 13
|
|
align = nobaseline
|
|
max_width = 420
|
|
}
|
|
|
|
expand = {}
|
|
}
|
|
|
|
hbox = {
|
|
layoutpolicy_horizontal = expanding
|
|
spacing = 5
|
|
|
|
text_single = {
|
|
visible = "[And( Character.HasOverlord, And( Character.UsesObedience, Character.IsObedientTo( Character.GetOverlord ) ) )]"
|
|
|
|
text = "MY_REALM_WINDOW_OBEDIENT"
|
|
align = nobaseline
|
|
max_width = 170
|
|
|
|
tooltipwidget = widget_obedience_tooltip
|
|
}
|
|
|
|
text_single = {
|
|
visible = "[And( Character.HasOverlord, And( Character.UsesObedience, Not( Character.IsObedientTo( Character.GetOverlord ) ) ) )]"
|
|
|
|
text = "MY_REALM_WINDOW_DISOBEDIENT"
|
|
align = nobaseline
|
|
max_width = 170
|
|
|
|
tooltipwidget = widget_obedience_tooltip
|
|
}
|
|
|
|
divider_light = {
|
|
visible = "[Character.UsesObedience]"
|
|
layoutpolicy_vertical = expanding
|
|
}
|
|
|
|
vassal_stance_icon = {
|
|
name = "vassal_stance"
|
|
size = { 30 30 }
|
|
}
|
|
|
|
divider_light = {
|
|
visible = "[And( Character.IsVassalOf( GetPlayer ), Not( Character.IsPlayer ) )]"
|
|
layoutpolicy_vertical = expanding
|
|
}
|
|
|
|
vassal_expected_legitimacy_widget = {
|
|
name = "legitimacy_expectation"
|
|
size = { 30 30 }
|
|
}
|
|
|
|
block "realm_size_powerful_status" {
|
|
flowcontainer = {
|
|
spacing = 10
|
|
|
|
text_single = {
|
|
visible = "[NotEqualTo_int32(Character.GetPrimaryTitle.GetTierFrame, '(int32)2')]" #nonbaron
|
|
layoutpolicy_horizontal = expanding
|
|
|
|
text = "REALM_WINDOW_SIZE"
|
|
align = nobaseline
|
|
max_width = 150
|
|
|
|
tooltip = "REALM_WINDOW_SIZE_TT"
|
|
}
|
|
}
|
|
}
|
|
|
|
expand = {}
|
|
}
|
|
|
|
block "vassal_buttons" {
|
|
hbox = {
|
|
visible = "[Character.IsPlayerInteractionShown('give_vassal_directive_interaction')]"
|
|
layoutpolicy_horizontal = expanding
|
|
spacing = 5
|
|
|
|
button_round = {
|
|
size = { 30 30 }
|
|
|
|
enabled = "[Character.IsPlayerInteractionValid('give_vassal_directive_interaction')]"
|
|
onclick = "[Character.OpenPlayerInteraction('give_vassal_directive_interaction')]"
|
|
|
|
tooltip = "[Character.GetPlayerInteractionTooltip('give_vassal_directive_interaction')]"
|
|
using = tooltip_se
|
|
|
|
button_give_directive = {
|
|
alwaystransparent = yes
|
|
parentanchor = center
|
|
size = { 24 24 }
|
|
}
|
|
}
|
|
|
|
widget = {
|
|
size = { 30 30 }
|
|
|
|
text_single = {
|
|
parentanchor = vcenter
|
|
|
|
text = "[Character.Custom('vassal_directive_icon')]"
|
|
align = nobaseline
|
|
|
|
tooltip = "VASSAL_DIRECTIVE_ICON_TOOLTIP"
|
|
using = tooltip_se
|
|
}
|
|
}
|
|
|
|
divider_light = {
|
|
visible = "[Character.IsPowerfulVassal]"
|
|
layoutpolicy_vertical = expanding
|
|
}
|
|
|
|
text_single = {
|
|
visible = "[Character.IsPowerfulVassal]"
|
|
layoutpolicy_horizontal = expanding
|
|
|
|
text = "MY_REALM_WINDOW_POWERFUL_VASSAL"
|
|
align = nobaseline
|
|
max_width = 200
|
|
}
|
|
|
|
expand = {}
|
|
}
|
|
}
|
|
}
|
|
|
|
block "own_vassal" {
|
|
vbox = {
|
|
visible = "[Character.GetLiege.IsLocalPlayer]"
|
|
layoutpolicy_vertical = expanding
|
|
margin_left = 10
|
|
|
|
hbox = {
|
|
coa_title_tiny_crown = {
|
|
name = "allegiance_flag"
|
|
datacontext = "[SubjectContract.GetTitleAllegiance]"
|
|
visible = "[Title.IsValid]"
|
|
|
|
tooltip = "MRW_TITLE_ALLEGIANCE"
|
|
blockoverride "coa_tooltip" {}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
hbox_tributary_information = {
|
|
visible = "[And(Character.HasSuzerain,GreaterThanOrEqualTo_CFixedPoint(Character.GetSubjectContract.GetSubjectStanding,'(CFixedPoint)0'))]"
|
|
blockoverride "tooltip"
|
|
{
|
|
tooltip = "MY_REALM_WINDOW_SUBJECT_STANDING_TT"
|
|
}
|
|
|
|
blockoverride "text"
|
|
{
|
|
text_single = {
|
|
layoutpolicy_horizontal = expanding
|
|
text = "MY_REALM_WINDOW_SUBJECT_STANDING"
|
|
align = left|nobaseline
|
|
}
|
|
}
|
|
}
|
|
|
|
hbox_tributary_information = {
|
|
visible = "[And(Character.HasSuzerain,Not(GreaterThanOrEqualTo_CFixedPoint(Character.GetSubjectContract.GetSubjectStanding,'(CFixedPoint)0')))]"
|
|
}
|
|
}
|
|
}
|
|
|
|
block "own_vassal"
|
|
{
|
|
vbox_vassal_item_footer = {
|
|
datacontext = "[SubjectContract.GetContractGroup]"
|
|
}
|
|
}
|
|
|
|
expand = {}
|
|
}
|
|
}
|
|
|
|
type hbox_tributary_information = hbox {
|
|
visible = "[Character.HasSuzerain]"
|
|
|
|
layoutpolicy_horizontal = expanding
|
|
datacontext = "[Character.GetSubjectContract]"
|
|
spacing = 5
|
|
|
|
block "tooltip" {
|
|
tooltip = "MY_REALM_WINDOW_CEASE_PAYING_TRIBUTE_CHANCE_TT"
|
|
}
|
|
|
|
block "text" {
|
|
icon_flat_standard = {
|
|
size = { 30 30 }
|
|
texture = "gfx/interface/icons/flat_icons/cease_paying_tributary.dds"
|
|
}
|
|
text_single = {
|
|
layoutpolicy_horizontal = expanding
|
|
text = "MY_REALM_WINDOW_CEASE_PAYING_TRIBUTE_CHANCE"
|
|
align = left|nobaseline
|
|
max_width = 300
|
|
}
|
|
}
|
|
|
|
expand = {}
|
|
|
|
block "release_tributary_button" {
|
|
button_round = {
|
|
visible = "[Character.IsPlayerInteractionShown('release_tributary_interaction')]"
|
|
enabled = "[Character.IsPlayerInteractionValid('release_tributary_interaction')]"
|
|
onclick = "[Character.OpenPlayerInteraction('release_tributary_interaction')]"
|
|
tooltip = "[Character.GetPlayerInteractionTooltip('release_tributary_interaction')]"
|
|
|
|
button_icon = {
|
|
alwaystransparent = yes
|
|
parentanchor = center
|
|
position = { 1 1 }
|
|
size = { 28 28 }
|
|
texture = "gfx/interface/icons/flat_icons/release_tributary.dds"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
type hbox_vassal_contract_button = hbox {
|
|
spacing = 5
|
|
|
|
widget = {
|
|
visible = "[Or( SubjectContractGroup.IsType('feudal_vassal'), SubjectContractGroup.IsType('mandala_vassal') )]"
|
|
size = { 40 40 }
|
|
|
|
button_round = {
|
|
parentanchor = center
|
|
|
|
enabled = "[Character.IsPlayerInteractionValid('liege_modify_vassal_contract_interaction')]"
|
|
onclick = "[Character.OpenPlayerInteraction('liege_modify_vassal_contract_interaction')]"
|
|
|
|
tooltip = "[Character.GetPlayerInteractionTooltip('liege_modify_vassal_contract_interaction')]"
|
|
|
|
block "feudal_contract_button_round" {}
|
|
|
|
button_feudal_contract = {
|
|
alwaystransparent = yes
|
|
parentanchor = center
|
|
}
|
|
}
|
|
|
|
icon_vassal_contract_warning_blocked = {}
|
|
icon_vassal_contract_warning_default = {}
|
|
}
|
|
|
|
widget = {
|
|
visible = "[SubjectContractGroup.IsType('clan_vassal')]"
|
|
size = { 40 40 }
|
|
|
|
button_round = {
|
|
parentanchor = center
|
|
onclick = "[ToggleGameViewData( 'tax_slot_assign_vassal', Character.Self )]"
|
|
|
|
tooltip = "TAX_SLOT_REALM_VIEW_OPEN_ASSIGN_VIEW"
|
|
|
|
icon = {
|
|
parentanchor = center
|
|
size = { 30 30 }
|
|
|
|
texture = "gfx/interface/skinned/hud_maintab/maintab_tax_jurisdictions.dds"
|
|
}
|
|
}
|
|
|
|
warning_icon = {
|
|
visible = "[Not( Character.IsAssignedAsTaxpayer )]"
|
|
parentanchor = bottom|right
|
|
size = { 20 20 }
|
|
|
|
tooltip = "TAX_SLOT_REALM_VIEW_OPEN_ASSIGN_VIEW_UNASSIGNED"
|
|
}
|
|
}
|
|
|
|
widget = {
|
|
visible = "[And( SubjectContractGroup.IsType('admin_vassal'), Character.IsPlayerInteractionValid('admin_liege_modify_vassal_contract_interaction') ) ]"
|
|
size = { 40 40 }
|
|
|
|
button_round = {
|
|
parentanchor = center
|
|
|
|
enabled = "[Character.IsPlayerInteractionValid('admin_liege_modify_vassal_contract_interaction')]"
|
|
onclick = "[Character.OpenPlayerInteraction('admin_liege_modify_vassal_contract_interaction')]"
|
|
|
|
tooltip = "[Character.GetPlayerInteractionTooltip('admin_liege_modify_vassal_contract_interaction')]"
|
|
|
|
block "admin_contract_button_round" {}
|
|
|
|
button_add_laws = {
|
|
alwaystransparent = yes
|
|
parentanchor = center
|
|
}
|
|
}
|
|
|
|
icon_vassal_contract_warning_blocked = {}
|
|
icon_vassal_contract_warning_default = {}
|
|
}
|
|
|
|
widget = {
|
|
visible = "[SubjectContractGroup.IsType('nomad_vassal')]"
|
|
size = { 40 40 }
|
|
|
|
button_round = {
|
|
parentanchor = center
|
|
|
|
enabled = "[Character.IsPlayerInteractionValid('nomad_liege_modify_vassal_contract_interaction')]"
|
|
onclick = "[Character.OpenPlayerInteraction('nomad_liege_modify_vassal_contract_interaction')]"
|
|
|
|
tooltip = "[Character.GetPlayerInteractionTooltip('nomad_liege_modify_vassal_contract_interaction')]"
|
|
|
|
block "nomad_contract_button_round" {}
|
|
|
|
button_add_laws = {
|
|
alwaystransparent = yes
|
|
parentanchor = center
|
|
}
|
|
}
|
|
|
|
icon_vassal_contract_warning_blocked = {}
|
|
icon_vassal_contract_warning_default = {}
|
|
}
|
|
|
|
widget = {
|
|
visible = "[Or( SubjectContractGroup.IsType('tributary_nomadic'), SubjectContractGroup.IsType('tributary_settled') )]"
|
|
size = { 40 40 }
|
|
|
|
button_round = {
|
|
parentanchor = center
|
|
|
|
enabled = "[Character.IsPlayerInteractionValid('suzerain_modify_tributary_contract_interaction')]"
|
|
onclick = "[Character.OpenPlayerInteraction('suzerain_modify_tributary_contract_interaction')]"
|
|
|
|
tooltip = "[Character.GetPlayerInteractionTooltip('suzerain_modify_tributary_contract_interaction')]"
|
|
|
|
block "nomad_tributary_contract_button_round" {}
|
|
|
|
button_add_laws = {
|
|
alwaystransparent = yes
|
|
parentanchor = center
|
|
}
|
|
}
|
|
|
|
icon_vassal_contract_warning_blocked = {}
|
|
icon_vassal_contract_warning_default = {}
|
|
}
|
|
|
|
button_round = {
|
|
visible = "[SubjectContractGroup.IsType('tributary_celestial')]"
|
|
enabled = "[Character.IsPlayerInteractionValid('suzerain_modify_tributary_contract_interaction')]"
|
|
onclick = "[Character.OpenPlayerInteraction('suzerain_modify_tributary_contract_interaction')]"
|
|
tooltip = "[Character.GetPlayerInteractionTooltip('suzerain_modify_tributary_contract_interaction')]"
|
|
|
|
block "celestial_contract_button_round" {}
|
|
|
|
button_add_laws = {
|
|
alwaystransparent = yes
|
|
parentanchor = center
|
|
}
|
|
|
|
icon_vassal_contract_warning_blocked = {}
|
|
icon_vassal_contract_warning_default = {}
|
|
}
|
|
|
|
button_round = {
|
|
visible = "[SubjectContractGroup.IsType('tributary_steppe')]"
|
|
enabled = "[Character.IsPlayerInteractionValid('suzerain_modify_tributary_contract_interaction')]"
|
|
onclick = "[Character.OpenPlayerInteraction('suzerain_modify_tributary_contract_interaction')]"
|
|
tooltip = "[Character.GetPlayerInteractionTooltip('suzerain_modify_tributary_contract_interaction')]"
|
|
|
|
block "celestial_contract_button_round" {}
|
|
|
|
button_add_laws = {
|
|
alwaystransparent = yes
|
|
parentanchor = center
|
|
}
|
|
|
|
icon_vassal_contract_warning_blocked = {}
|
|
icon_vassal_contract_warning_default = {}
|
|
}
|
|
|
|
button_round = {
|
|
visible = "[Or( Or( SubjectContractGroup.IsType('celestial_vassal'), SubjectContractGroup.IsType('meritocratic_vassal') ), SubjectContractGroup.IsType('japan_administrative_vassal') )]"
|
|
enabled = "[Character.IsPlayerInteractionValid('admin_liege_modify_vassal_contract_interaction')]"
|
|
onclick = "[Character.OpenPlayerInteraction('admin_liege_modify_vassal_contract_interaction')]"
|
|
tooltip = "[Character.GetPlayerInteractionTooltip('admin_liege_modify_vassal_contract_interaction')]"
|
|
datacontext = "[Character.GetPrimaryTitle]"
|
|
tooltip_when_disabled = "ADMIN_WINDOW_NON_ADMIN_THEME_FAIL_DEMAND_INTERACTION"
|
|
|
|
block "celestial_contract_button_round" {}
|
|
|
|
button_add_laws = {
|
|
alwaystransparent = yes
|
|
parentanchor = center
|
|
}
|
|
|
|
icon_vassal_contract_warning_blocked = {}
|
|
icon_vassal_contract_warning_default = {}
|
|
}
|
|
|
|
block "vassal_contract_type_name"
|
|
{
|
|
text_single = {
|
|
text = "[SubjectContractGroup.GetName]"
|
|
align = nobaseline
|
|
max_width = 130
|
|
}
|
|
}
|
|
}
|
|
|
|
type hbox_vassal_taxes = hbox {
|
|
### FEUDAL ARE SPECIAL
|
|
hbox = {
|
|
visible = "[SubjectContractGroup.IsType( 'feudal_vassal' )]"
|
|
spacing = 15
|
|
|
|
### FEUDAL GOLD
|
|
hbox = {
|
|
spacing = 5
|
|
|
|
text_single = { # Display the Tax Level
|
|
layoutpolicy_horizontal = expanding
|
|
|
|
text = "MY_REALM_WINDOW_VASSAL_FEUDAL_TAX"
|
|
align = nobaseline
|
|
default_format = "#low"
|
|
max_width = 100
|
|
|
|
margin_bottom = 2
|
|
}
|
|
|
|
text_single = {
|
|
text = "[MyRealmWindowVassalItem.GetCachedTax|=1]"
|
|
align = nobaseline
|
|
max_width = 50
|
|
}
|
|
|
|
tooltipwidget = {
|
|
container_my_realm_window_contribution_tooltip = {
|
|
block "tax_breakdown"
|
|
{
|
|
datacontext = "[MyRealmWindowVassalItem.GetTaxBreakdown]"
|
|
|
|
}
|
|
blockoverride "contribution_tooltip_header"
|
|
{
|
|
text = "MRW_TT_TAXES_TO_ME"
|
|
}
|
|
}
|
|
}
|
|
using = tooltip_sw
|
|
}
|
|
|
|
### FEUDAL LEVIES
|
|
hbox = {
|
|
visible = "[GreaterThan_CFixedPoint( MyRealmWindowVassalItem.GetContract.GetLevyRatioForLiege, '(CFixedPoint)0' )]"
|
|
spacing = 5
|
|
|
|
text_single = { # Display the Levy Level
|
|
layoutpolicy_horizontal = expanding
|
|
|
|
text = "MY_REALM_WINDOW_VASSAL_FEUDAL_LEVIES"
|
|
align = nobaseline
|
|
default_format = "#low"
|
|
max_width = 100
|
|
|
|
margin_bottom = 2
|
|
}
|
|
|
|
text_single = {
|
|
text = "[MyRealmWindowVassalItem.GetCachedLeviesFormatted]"
|
|
align = nobaseline
|
|
max_width = 50
|
|
}
|
|
|
|
tooltipwidget = {
|
|
container_my_realm_window_contribution_tooltip = {
|
|
block "levy_breakdown"
|
|
{
|
|
datacontext = "[MyRealmWindowVassalItem.GetLeviesBreakdown]"
|
|
}
|
|
blockoverride "contribution_tooltip_header"
|
|
{
|
|
text = "MRW_TT_LEVIES_TO_ME"
|
|
}
|
|
}
|
|
}
|
|
using = tooltip_sw
|
|
}
|
|
}
|
|
|
|
### THE REST (NON-FEUDAL)
|
|
hbox = {
|
|
visible = "[Not( SubjectContractGroup.IsType( 'feudal_vassal' ) )]"
|
|
spacing = 15
|
|
|
|
### VASSAL GOLD
|
|
hbox = {
|
|
# Treasury Vassals don't pay in gold
|
|
visible = "[And( Not( SubjectContract.GetLiege.GetGovernment.HasGovernmentFlag( 'government_has_treasury' ) ), GreaterThan_CFixedPoint( MyRealmWindowVassalItem.GetContract.GetTaxRatioForLiege, '(CFixedPoint)0' ))]"
|
|
|
|
icon = {
|
|
size = { 25 25 }
|
|
texture = "gfx/interface/icons/icon_gold.dds"
|
|
}
|
|
|
|
text_single = {
|
|
text = "[MyRealmWindowVassalItem.GetCachedTax|=1]"
|
|
align = nobaseline
|
|
}
|
|
|
|
tooltipwidget = {
|
|
container_my_realm_window_contribution_tooltip = {
|
|
block "tax_breakdown"
|
|
{
|
|
datacontext = "[MyRealmWindowVassalItem.GetTaxBreakdown]"
|
|
}
|
|
blockoverride "contribution_tooltip_header"
|
|
{
|
|
text = "MRW_TT_TAXES_TO_ME"
|
|
}
|
|
}
|
|
}
|
|
using = tooltip_sw
|
|
}
|
|
|
|
### VASSAL LEVIES
|
|
hbox = {
|
|
visible = "[GreaterThan_CFixedPoint( MyRealmWindowVassalItem.GetContract.GetLevyRatioForLiege, '(CFixedPoint)0' )]"
|
|
spacing = 5
|
|
|
|
icon = {
|
|
size = { 25 25 }
|
|
texture = "gfx/interface/icons/icon_levies.dds"
|
|
}
|
|
|
|
text_single = {
|
|
text = "[MyRealmWindowVassalItem.GetCachedLeviesFormatted]"
|
|
align = nobaseline
|
|
}
|
|
|
|
tooltipwidget = {
|
|
container_my_realm_window_contribution_tooltip = {
|
|
block "levy_breakdown"
|
|
{
|
|
datacontext = "[MyRealmWindowVassalItem.GetLeviesBreakdown]"
|
|
}
|
|
blockoverride "contribution_tooltip_header"
|
|
{
|
|
text = "MRW_TT_LEVIES_TO_ME"
|
|
}
|
|
}
|
|
}
|
|
using = tooltip_sw
|
|
}
|
|
|
|
### VASSAL PIETY
|
|
hbox = {
|
|
visible = "[GreaterThan_CFixedPoint( MyRealmWindowVassalItem.GetContract.GetPietyRatioForLiege, '(CFixedPoint)0' )]"
|
|
|
|
icon = {
|
|
size = { 30 30 }
|
|
texture = "[GetPlayer.GetPietyLevelTexture]"
|
|
}
|
|
|
|
text_single = {
|
|
text = "[MyRealmWindowVassalItem.GetCachedPiety|=1]"
|
|
align = nobaseline
|
|
}
|
|
|
|
tooltipwidget = {
|
|
container_my_realm_window_contribution_tooltip = {
|
|
block "tax_breakdown"
|
|
{
|
|
datacontext = "[MyRealmWindowVassalItem.GetPietyBreakdown]"
|
|
|
|
}
|
|
blockoverride "contribution_tooltip_header"
|
|
{
|
|
text = "MRW_TT_PIETY_TO_ME"
|
|
}
|
|
}
|
|
}
|
|
using = tooltip_sw
|
|
}
|
|
|
|
### VASSAL HERD
|
|
hbox = {
|
|
visible = "[GreaterThan_CFixedPoint( MyRealmWindowVassalItem.GetContract.GetHerdRatioForLiege, '(CFixedPoint)0' )]"
|
|
|
|
icon = {
|
|
size = { 30 30 }
|
|
texture = "gfx/interface/icons/icon_herd.dds"
|
|
}
|
|
|
|
text_single = {
|
|
text = "[MyRealmWindowVassalItem.GetCachedHerd|=1]"
|
|
align = nobaseline
|
|
}
|
|
|
|
tooltipwidget = {
|
|
container_my_realm_window_contribution_tooltip = {
|
|
block "tax_breakdown"
|
|
{
|
|
datacontext = "[MyRealmWindowVassalItem.GetHerdBreakdown]"
|
|
|
|
}
|
|
blockoverride "contribution_tooltip_header"
|
|
{
|
|
text = "MRW_TT_HERD_TO_ME"
|
|
}
|
|
}
|
|
}
|
|
using = tooltip_sw
|
|
}
|
|
|
|
### VASSAL BARTER GOODS
|
|
hbox = {
|
|
visible = "[GreaterThan_CFixedPoint( MyRealmWindowVassalItem.GetContract.GetBarterGoodsRatioForLiege, '(CFixedPoint)0' )]"
|
|
|
|
icon = {
|
|
size = { 30 30 }
|
|
texture = "gfx/interface/icons/icon_barter.dds"
|
|
}
|
|
|
|
text_single = {
|
|
text = "[MyRealmWindowVassalItem.GetCachedBarterGoods|=1]"
|
|
align = nobaseline
|
|
}
|
|
|
|
tooltipwidget = {
|
|
container_my_realm_window_contribution_tooltip = {
|
|
block "tax_breakdown"
|
|
{
|
|
datacontext = "[MyRealmWindowVassalItem.GetBarterGoodsBreakdown]"
|
|
|
|
}
|
|
blockoverride "contribution_tooltip_header"
|
|
{
|
|
text = "MRW_TT_BARTER_GOODS_TO_ME"
|
|
}
|
|
}
|
|
}
|
|
using = tooltip_sw
|
|
}
|
|
}
|
|
}
|
|
|
|
type hbox_vassal_list_icons = hbox {
|
|
spacing = 5
|
|
|
|
icon = {
|
|
name = "hook"
|
|
visible = "[Character.PlayerHasHooksOrHookableSecrets]"
|
|
size = { 25 25 }
|
|
framesize = { 40 40 }
|
|
texture = "gfx/interface/icons/portraits/hook_secret.dds"
|
|
|
|
frame = "[Character.GetHookOrHookableSecretsFrame]"
|
|
tooltip = "[Character.HookTooltip]"
|
|
}
|
|
|
|
icon = {
|
|
name = "icon_non_dejure"
|
|
visible = "[Not( SubjectContract.IsRightfulLiege )]"
|
|
size = { 30 30 }
|
|
texture = "gfx/interface/icons/levy_tax_reduction.dds"
|
|
|
|
using = tooltip_ws
|
|
tooltip = "MRW_TT_NOT_RIGHTFUL_LIEGE"
|
|
}
|
|
}
|
|
|
|
type vbox_vassal_item_footer = vbox {
|
|
layoutpolicy_horizontal = expanding
|
|
|
|
margin_left = 5
|
|
margin_right = 10
|
|
margin_top = 5
|
|
margin_bottom = 5
|
|
spacing = 10
|
|
|
|
hbox = {
|
|
name = "subjects_contract_button"
|
|
layoutpolicy_horizontal = expanding
|
|
spacing = 10
|
|
|
|
background = {
|
|
using = Background_Area_Solid
|
|
margin = { 10 5 }
|
|
alpha = 0.75
|
|
}
|
|
|
|
icon = {
|
|
visible = "[Or( Character.GetGovernment.HasGovernmentFlag( 'government_is_true_herder' ), Or( Character.IsBaronOrUnlanded, Or( Or( And( Not( SubjectContract.UsesObligationLevels), Not( SubjectContract.IsTributary ) ), Character.GetPrimaryTitle.IsNobleFamilyTitle ) , And( Character.GetGovernment.HasRule( 'administrative' ), LessThanOrEqualTo_int32( Character.GetPrimaryTitle.GetTierFrame, Character.GetGovernment.GetMinAppointmentTier ) ) ) ) ) ]"
|
|
size = { 42 42 }
|
|
texture = "gfx/interface/icons/symbols/icon_cross.dds"
|
|
tooltip = "MY_REALM_WINDOW_NO_FEUDAL_CONTRACT_TT"
|
|
enabled = no
|
|
}
|
|
|
|
hbox_vassal_contract_button = {
|
|
visible = "[Not( Or( Character.GetGovernment.HasGovernmentFlag( 'government_is_true_herder' ), Or( Character.IsBaronOrUnlanded, Or( Or( And( Not( SubjectContract.UsesObligationLevels), Not( SubjectContract.IsTributary ) ), Character.GetPrimaryTitle.IsNobleFamilyTitle ) , And( Character.GetGovernment.HasRule( 'administrative' ), LessThanOrEqualTo_int32( Character.GetPrimaryTitle.GetTierFrame, Character.GetGovernment.GetMinAppointmentTier ) ) ) ) ) ) ]"
|
|
}
|
|
|
|
hbox_vassal_list_icons = {}
|
|
|
|
expand = {}
|
|
|
|
hbox_vassal_taxes = {}
|
|
}
|
|
|
|
hbox = {
|
|
layoutpolicy_horizontal = expanding
|
|
visible = "[SubjectContractGroup.IsType('clan_government')]"
|
|
|
|
background = {
|
|
using = Background_Area_Dark
|
|
margin = { 10 5 }
|
|
alpha = 0.75
|
|
}
|
|
|
|
spacer = {
|
|
size = { 10 0 }
|
|
}
|
|
|
|
hbox = {
|
|
spacing = 20
|
|
|
|
text_single = {
|
|
text = "[SubjectContractGroup.GetName]"
|
|
align = nobaseline
|
|
}
|
|
|
|
button_standard = {
|
|
size = { 300 36 }
|
|
|
|
onclick = "[ToggleGameViewData( 'tax_slot_assign_vassal', Character.Self )]"
|
|
|
|
text_single = {
|
|
parentanchor = vcenter|left
|
|
margin_left = 10
|
|
max_width = 250
|
|
align = nobaseline
|
|
|
|
visible = "[Character.IsAssignedAsTaxpayer]"
|
|
|
|
text = "TAX_SLOT_REALM_VIEW_OPEN_ASSIGN_VIEW"
|
|
}
|
|
|
|
text_single = {
|
|
parentanchor = vcenter|left
|
|
margin_left = 10
|
|
max_width = 250
|
|
align = nobaseline
|
|
|
|
visible = "[Not( Character.IsAssignedAsTaxpayer )]"
|
|
|
|
text = "TAX_SLOT_REALM_VIEW_OPEN_ASSIGN_VIEW_UNASSIGNED"
|
|
}
|
|
|
|
icon = {
|
|
parentanchor = vcenter|right
|
|
size = { 30 30 }
|
|
position = { -5 0 }
|
|
texture = "gfx/interface/icons/flat_icons/replace.dds"
|
|
using = Master_Button_Modify_Texture
|
|
}
|
|
}
|
|
}
|
|
|
|
expand = {}
|
|
}
|
|
}
|
|
|
|
type hbox_traits_list = hbox
|
|
{
|
|
layoutpolicy_horizontal = expanding
|
|
|
|
widget = {
|
|
layoutpolicy_horizontal = expanding
|
|
size = { 0 55 }
|
|
|
|
hbox = {
|
|
name = "3_personality_traits"
|
|
visible = "[LessThanOrEqualTo_int32(GetDataModelSize(TraitArrays.GetPersonalityTraits), '(int32)3')]"
|
|
|
|
fixedgridbox = {
|
|
name = "personality_traits"
|
|
datamodel = "[TraitArrays.GetPersonalityTraits]"
|
|
flipdirection = yes
|
|
addcolumn = 54
|
|
addrow = 55
|
|
maxhorizontalslots = 3
|
|
|
|
item = {
|
|
icon_trait = {
|
|
blockoverride "icon_size"
|
|
{
|
|
size = { 55 55 }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
hbox = {
|
|
visible = "[Not(IsDataModelEmpty( TraitArrays.GetTraits ))]"
|
|
layoutpolicy_vertical = expanding
|
|
margin = { 5 10 }
|
|
|
|
divider_light = {
|
|
layoutpolicy_vertical = expanding
|
|
}
|
|
}
|
|
|
|
fixedgridbox = {
|
|
name = "traits_big"
|
|
datamodel = "[TraitArrays.GetTraits]"
|
|
visible = "[LessThanOrEqualTo_int32(GetDataModelSize(TraitArrays.GetTraits), '(int32)5')]"
|
|
flipdirection = yes
|
|
addcolumn = 54
|
|
addrow = 55
|
|
maxhorizontalslots = 5
|
|
maxverticalslots = 1
|
|
|
|
item = {
|
|
icon_trait = {
|
|
blockoverride "icon_size"
|
|
{
|
|
size = { 55 55 }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
fixedgridbox = {
|
|
name = "traits_medium"
|
|
datamodel = "[TraitArrays.GetTraits]"
|
|
visible = "[And(GreaterThan_int32(GetDataModelSize(TraitArrays.GetTraits), '(int32)5'), LessThanOrEqualTo_int32(GetDataModelSize(TraitArrays.GetTraits), '(int32)7'))]"
|
|
flipdirection = yes
|
|
addcolumn = 39
|
|
addrow = 40
|
|
maxhorizontalslots = 7
|
|
maxverticalslots = 1
|
|
|
|
item = {
|
|
icon_trait = {
|
|
blockoverride "icon_size"
|
|
{
|
|
size = { 40 40 }
|
|
}
|
|
|
|
blockoverride "glow_radius"
|
|
{
|
|
glow_radius = 4
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
fixedgridbox = {
|
|
name = "traits_small"
|
|
datamodel = "[TraitArrays.GetTraits]"
|
|
visible = "[And(GreaterThan_int32(GetDataModelSize(TraitArrays.GetTraits), '(int32)7'), LessThanOrEqualTo_int32(GetDataModelSize(TraitArrays.GetTraits), '(int32)10'))]"
|
|
flipdirection = yes
|
|
addcolumn = 28
|
|
addrow = 29
|
|
maxhorizontalslots = 10
|
|
maxverticalslots = 1
|
|
|
|
item = {
|
|
icon_trait = {
|
|
blockoverride "icon_size"
|
|
{
|
|
size = { 29 29 }
|
|
}
|
|
|
|
blockoverride "glow_radius"
|
|
{
|
|
glow_radius = 3
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
fixedgridbox = {
|
|
name = "traits_tiny"
|
|
datamodel = "[TraitArrays.GetTraits]"
|
|
visible = "[GreaterThan_int32(GetDataModelSize(TraitArrays.GetTraits), '(int32)10')]"
|
|
flipdirection = yes
|
|
addcolumn = 24
|
|
addrow = 25
|
|
maxhorizontalslots = 11
|
|
datamodel_wrap = 11
|
|
maxverticalslots = 2
|
|
|
|
item = {
|
|
icon_trait = {
|
|
blockoverride "icon_size"
|
|
{
|
|
size = { 25 25 }
|
|
}
|
|
|
|
blockoverride "glow_radius"
|
|
{
|
|
glow_radius = 2
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
expand = {}
|
|
}
|
|
|
|
hbox = {
|
|
name = "4_personality_traits"
|
|
visible = "[GreaterThan_int32(GetDataModelSize(TraitArrays.GetPersonalityTraits), '(int32)3')]"
|
|
|
|
fixedgridbox = {
|
|
name = "personality_traits"
|
|
datamodel = "[TraitArrays.GetPersonalityTraits]"
|
|
flipdirection = yes
|
|
addcolumn = 54
|
|
addrow = 55
|
|
maxhorizontalslots = 4
|
|
|
|
item = {
|
|
icon_trait = {
|
|
blockoverride "icon_size"
|
|
{
|
|
size = { 55 55 }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
hbox = {
|
|
visible = "[Not(IsDataModelEmpty( TraitArrays.GetTraits ))]"
|
|
layoutpolicy_vertical = expanding
|
|
margin = { 5 10 }
|
|
|
|
divider_light = {
|
|
layoutpolicy_vertical = expanding
|
|
}
|
|
}
|
|
|
|
fixedgridbox = {
|
|
name = "traits_big"
|
|
datamodel = "[TraitArrays.GetTraits]"
|
|
visible = "[LessThanOrEqualTo_int32(GetDataModelSize(TraitArrays.GetTraits), '(int32)4')]"
|
|
flipdirection = yes
|
|
addcolumn = 54
|
|
addrow = 55
|
|
maxhorizontalslots = 5
|
|
maxverticalslots = 1
|
|
|
|
item = {
|
|
icon_trait = {
|
|
blockoverride "icon_size"
|
|
{
|
|
size = { 55 55 }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
fixedgridbox = {
|
|
name = "traits_medium"
|
|
datamodel = "[TraitArrays.GetTraits]"
|
|
visible = "[And(GreaterThan_int32(GetDataModelSize(TraitArrays.GetTraits), '(int32)4'), LessThanOrEqualTo_int32(GetDataModelSize(TraitArrays.GetTraits), '(int32)6'))]"
|
|
flipdirection = yes
|
|
addcolumn = 39
|
|
addrow = 40
|
|
maxhorizontalslots = 7
|
|
maxverticalslots = 1
|
|
|
|
item = {
|
|
icon_trait = {
|
|
blockoverride "icon_size"
|
|
{
|
|
size = { 40 40 }
|
|
}
|
|
|
|
blockoverride "glow_radius"
|
|
{
|
|
glow_radius = 4
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
fixedgridbox = {
|
|
name = "traits_small"
|
|
datamodel = "[TraitArrays.GetTraits]"
|
|
visible = "[And(GreaterThan_int32(GetDataModelSize(TraitArrays.GetTraits), '(int32)6'), LessThanOrEqualTo_int32(GetDataModelSize(TraitArrays.GetTraits), '(int32)8'))]"
|
|
flipdirection = yes
|
|
addcolumn = 28
|
|
addrow = 29
|
|
maxhorizontalslots = 10
|
|
maxverticalslots = 1
|
|
|
|
item = {
|
|
icon_trait = {
|
|
blockoverride "icon_size"
|
|
{
|
|
size = { 29 29 }
|
|
}
|
|
|
|
blockoverride "glow_radius"
|
|
{
|
|
glow_radius = 3
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
fixedgridbox = {
|
|
name = "traits_tiny"
|
|
datamodel = "[TraitArrays.GetTraits]"
|
|
visible = "[GreaterThan_int32(GetDataModelSize(TraitArrays.GetTraits), '(int32)8')]"
|
|
flipdirection = yes
|
|
addcolumn = 24
|
|
addrow = 25
|
|
maxhorizontalslots = 9
|
|
datamodel_wrap = 9
|
|
maxverticalslots = 2
|
|
|
|
item = {
|
|
icon_trait = {
|
|
blockoverride "icon_size"
|
|
{
|
|
size = { 25 25 }
|
|
}
|
|
|
|
blockoverride "glow_radius"
|
|
{
|
|
glow_radius = 2
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
expand = {}
|
|
}
|
|
}
|
|
expand = {}
|
|
}
|
|
|
|
type hbox_traits_list_small = hbox
|
|
{
|
|
layoutpolicy_horizontal = expanding
|
|
|
|
widget = {
|
|
layoutpolicy_horizontal = expanding
|
|
size = { 0 55 }
|
|
|
|
hbox = {
|
|
name = "3_personality_traits"
|
|
visible = "[LessThanOrEqualTo_int32(GetDataModelSize(TraitArrays.GetPersonalityTraits), '(int32)3')]"
|
|
|
|
fixedgridbox = {
|
|
name = "personality_traits"
|
|
datamodel = "[TraitArrays.GetPersonalityTraits]"
|
|
flipdirection = yes
|
|
addcolumn = 54
|
|
addrow = 55
|
|
maxhorizontalslots = 3
|
|
|
|
item = {
|
|
icon_trait = {
|
|
blockoverride "icon_size"
|
|
{
|
|
size = { 55 55 }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
hbox = {
|
|
visible = "[Not(IsDataModelEmpty( TraitArrays.GetTraits ))]"
|
|
layoutpolicy_vertical = expanding
|
|
margin = { 5 10 }
|
|
|
|
divider_light = {
|
|
layoutpolicy_vertical = expanding
|
|
}
|
|
}
|
|
|
|
fixedgridbox = {
|
|
name = "traits_big"
|
|
datamodel = "[TraitArrays.GetTraits]"
|
|
visible = "[LessThanOrEqualTo_int32(GetDataModelSize(TraitArrays.GetTraits), '(int32)4')]"
|
|
flipdirection = yes
|
|
addcolumn = 39
|
|
addrow = 40
|
|
maxhorizontalslots = 4
|
|
maxverticalslots = 1
|
|
|
|
item = {
|
|
icon_trait = {
|
|
blockoverride "icon_size"
|
|
{
|
|
size = { 40 40 }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
fixedgridbox = {
|
|
name = "traits_small"
|
|
datamodel = "[TraitArrays.GetTraits]"
|
|
visible = "[And(GreaterThan_int32(GetDataModelSize(TraitArrays.GetTraits), '(int32)4'), LessThanOrEqualTo_int32(GetDataModelSize(TraitArrays.GetTraits), '(int32)6'))]"
|
|
flipdirection = yes
|
|
addcolumn = 28
|
|
addrow = 29
|
|
maxhorizontalslots = 6
|
|
maxverticalslots = 1
|
|
|
|
item = {
|
|
icon_trait = {
|
|
blockoverride "icon_size"
|
|
{
|
|
size = { 29 29 }
|
|
}
|
|
|
|
blockoverride "glow_radius"
|
|
{
|
|
glow_radius = 3
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
fixedgridbox = {
|
|
name = "traits_tiny"
|
|
datamodel = "[TraitArrays.GetTraits]"
|
|
visible = "[GreaterThan_int32(GetDataModelSize(TraitArrays.GetTraits), '(int32)6')]"
|
|
flipdirection = yes
|
|
addcolumn = 24
|
|
addrow = 25
|
|
maxhorizontalslots = 7
|
|
datamodel_wrap = 7
|
|
maxverticalslots = 2
|
|
|
|
item = {
|
|
icon_trait = {
|
|
blockoverride "icon_size"
|
|
{
|
|
size = { 25 25 }
|
|
}
|
|
|
|
blockoverride "glow_radius"
|
|
{
|
|
glow_radius = 2
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
expand = {}
|
|
}
|
|
|
|
hbox = {
|
|
name = "4_personality_traits"
|
|
visible = "[GreaterThan_int32(GetDataModelSize(TraitArrays.GetPersonalityTraits), '(int32)3')]"
|
|
|
|
fixedgridbox = {
|
|
name = "personality_traits"
|
|
datamodel = "[TraitArrays.GetPersonalityTraits]"
|
|
flipdirection = yes
|
|
addcolumn = 54
|
|
addrow = 55
|
|
maxhorizontalslots = 4
|
|
|
|
item = {
|
|
icon_trait = {
|
|
blockoverride "icon_size"
|
|
{
|
|
size = { 55 55 }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
hbox = {
|
|
visible = "[Not(IsDataModelEmpty( TraitArrays.GetTraits ))]"
|
|
layoutpolicy_vertical = expanding
|
|
margin = { 5 10 }
|
|
|
|
divider_light = {
|
|
layoutpolicy_vertical = expanding
|
|
}
|
|
}
|
|
|
|
fixedgridbox = {
|
|
name = "traits_big"
|
|
datamodel = "[TraitArrays.GetTraits]"
|
|
visible = "[LessThanOrEqualTo_int32(GetDataModelSize(TraitArrays.GetTraits), '(int32)4')]"
|
|
flipdirection = yes
|
|
addcolumn = 39
|
|
addrow = 40
|
|
maxhorizontalslots = 4
|
|
maxverticalslots = 1
|
|
|
|
item = {
|
|
icon_trait = {
|
|
blockoverride "icon_size"
|
|
{
|
|
size = { 40 40 }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
fixedgridbox = {
|
|
name = "traits_small"
|
|
datamodel = "[TraitArrays.GetTraits]"
|
|
visible = "[And(GreaterThan_int32(GetDataModelSize(TraitArrays.GetTraits), '(int32)4'), LessThanOrEqualTo_int32(GetDataModelSize(TraitArrays.GetTraits), '(int32)6'))]"
|
|
flipdirection = yes
|
|
addcolumn = 28
|
|
addrow = 29
|
|
maxhorizontalslots = 6
|
|
maxverticalslots = 1
|
|
|
|
item = {
|
|
icon_trait = {
|
|
blockoverride "icon_size"
|
|
{
|
|
size = { 29 29 }
|
|
}
|
|
|
|
blockoverride "glow_radius"
|
|
{
|
|
glow_radius = 3
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
fixedgridbox = {
|
|
name = "traits_tiny"
|
|
datamodel = "[TraitArrays.GetTraits]"
|
|
visible = "[GreaterThan_int32(GetDataModelSize(TraitArrays.GetTraits), '(int32)6')]"
|
|
flipdirection = yes
|
|
addcolumn = 24
|
|
addrow = 25
|
|
maxhorizontalslots = 6
|
|
datamodel_wrap = 6
|
|
maxverticalslots = 2
|
|
|
|
item = {
|
|
icon_trait = {
|
|
blockoverride "icon_size"
|
|
{
|
|
size = { 25 25 }
|
|
}
|
|
|
|
blockoverride "glow_radius"
|
|
{
|
|
glow_radius = 2
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
expand = {}
|
|
}
|
|
}
|
|
expand = {}
|
|
}
|
|
}
|
|
|
|
types Vassals
|
|
{
|
|
type icon_vassal_contract_warning_blocked = alert_icon {
|
|
visible = "[SubjectContract.IsBlockedFromModification]"
|
|
parentanchor = bottom|right
|
|
size = { 20 20 }
|
|
|
|
tooltip = "VASSAL_CONTRACT_IS_BLOCKED"
|
|
using = tooltip_sw
|
|
}
|
|
|
|
type icon_vassal_contract_warning_default = alert_icon {
|
|
visible = "[Not( SubjectContract.IsContractDefault )]"
|
|
parentanchor = bottom|right
|
|
size = { 20 20 }
|
|
|
|
tooltip = "VASSAL_CONTRACT_NOT_DEFAULT"
|
|
using = tooltip_sw
|
|
}
|
|
|
|
type vassal_stance_icon = icon {
|
|
datacontext = "[Character.GetVassalStance]"
|
|
visible = "[And( Character.IsVassalOf( GetPlayer ), Not( Character.IsPlayer ) )]"
|
|
|
|
texture = "[VassalStance.GetIcon]"
|
|
tooltipwidget = {
|
|
using = vassal_stance_tooltip
|
|
}
|
|
}
|
|
|
|
type vassal_expected_legitimacy_widget = widget {
|
|
visible = "[And(And( Character.IsVassalOf( GetPlayer ), Not( Character.IsPlayer ) ), And( GetPlayer.GetGovernment.HasRule( 'legitimacy' ), GetPlayer.GetLegitimacyType.IsValid ) )]"
|
|
tooltip = "VASSAL_EXPECTED_LEGITIMACY_TT"
|
|
|
|
# A glow if you are below their expectations. Needs to be its own icon since glow generation does not work on frame-based icons
|
|
icon = {
|
|
name = "below_glow"
|
|
size = { 100% 100% }
|
|
texture = "[GetPlayer.GetLegitimacyType.GetFlatIcon]"
|
|
|
|
visible = "[GreaterThan_int32( Character.GetLegitimacyExpectationsOfLiege, Character.GetLiege.GetLegitimacyLevel.GetIndex )]"
|
|
using = Animation_Glow_Pulse
|
|
|
|
glow = {
|
|
glow_radius = 3
|
|
using = Glow_Standard
|
|
using = Color_Red
|
|
}
|
|
}
|
|
|
|
icon = {
|
|
name = "tiered_icon"
|
|
size = { 100% 100% }
|
|
|
|
texture = "[GetPlayer.GetLegitimacyType.GetLevelsIcon]"
|
|
framesize = { 70 70 }
|
|
frame = "[IntToFrameIndex( Character.GetLegitimacyExpectationsOfLiege )]"
|
|
}
|
|
}
|
|
}
|
|
|
|
####################################
|
|
########### SCROLL AREA ############
|
|
####################################
|
|
|
|
## Generic scrollarea. Remember that "scrollbox_content" can only contain one child without siblings.
|
|
types Scrollbar
|
|
{
|
|
type scrollbox = scrollarea {
|
|
size = { 100 100 }
|
|
|
|
scrollbarpolicy_horizontal = always_off
|
|
|
|
block "scrollbox_scrollbar_vertical"
|
|
{
|
|
scrollbar_vertical = {
|
|
using = Scrollbar_Vertical
|
|
}
|
|
}
|
|
|
|
block "scrollbox_background"
|
|
{
|
|
background = {
|
|
using = Background_Area
|
|
}
|
|
}
|
|
|
|
scrollwidget = {
|
|
block "scrollbox_replace_vbox"
|
|
{
|
|
vbox = {
|
|
block "scrollbox_margins"
|
|
{
|
|
using = Scrollbox_Margins
|
|
}
|
|
|
|
block "scrollbox_content"
|
|
{
|
|
debug_square = {}
|
|
}
|
|
|
|
text_single = {
|
|
layoutpolicy_vertical = expanding
|
|
default_format = "#weak"
|
|
|
|
block "scrollbox_empty"
|
|
{
|
|
visible = no
|
|
}
|
|
}
|
|
|
|
block "scrollbox_expand"
|
|
{
|
|
expand = {
|
|
layoutpolicy_vertical = growing
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
block "scrollbox_background_fade" {
|
|
icon = {
|
|
name = "scrollbar_fade"
|
|
texture = "gfx/interface/scrollbars/scrollbar_fade.dds"
|
|
size = { 100% 100% }
|
|
alwaystransparent = yes
|
|
|
|
spriteType = Corneredtiled
|
|
spriteborder = { 0 30 }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
## Vertical scrollbar
|
|
template Scrollbar_Vertical
|
|
{
|
|
scrollbar = {
|
|
name = "vertical_scrollbar"
|
|
size = { 12 12 }
|
|
wheelstep = 60
|
|
direction = vertical
|
|
|
|
track = {
|
|
button = {
|
|
size = { 12 12 }
|
|
gfxtype = buttongfx
|
|
|
|
texture = "gfx/interface/scrollbars/scrollbar_track_vertical.dds"
|
|
spriteType = Corneredtiled
|
|
spriteborder = { 0 3 }
|
|
effectname = "NoHighlight"
|
|
}
|
|
}
|
|
|
|
slider = {
|
|
button = {
|
|
gfxtype = framedbuttongfx
|
|
effectname = "NoHighlight"
|
|
|
|
texture = "gfx/interface/scrollbars/scrollbar_slider.dds"
|
|
spriteType = Corneredtiled
|
|
spriteborder = { 0 3 }
|
|
framesize = { 12 40 }
|
|
minimumsize = { -1 40 }
|
|
|
|
upframe = 1
|
|
overframe = 2
|
|
downframe = 2
|
|
|
|
oversound = "event:/SFX/UI/Generic/sfx_ui_generic_icon_pointer_over"
|
|
|
|
state = {
|
|
name = _mouse_press
|
|
start_sound = {
|
|
soundeffect = "event:/SFX/UI/Generic/sfx_ui_generic_icon_select"
|
|
}
|
|
}
|
|
|
|
state = {
|
|
name = _mouse_release
|
|
start_sound = {
|
|
soundeffect = "event:/SFX/UI/Generic/sfx_ui_generic_icon_select"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
dec_button = {
|
|
button = {
|
|
}
|
|
}
|
|
|
|
inc_button = {
|
|
button = {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
## Horizontal scrollbar
|
|
template Scrollbar_Horizontal
|
|
{
|
|
scrollbar = {
|
|
name = "horizontal_scrollbar"
|
|
size = { 12 12 }
|
|
wheelstep = 60
|
|
direction = horizontal
|
|
|
|
track = {
|
|
button = {
|
|
size = { 12 12 }
|
|
gfxtype = buttongfx
|
|
|
|
texture = "gfx/interface/scrollbars/scrollbar_track_horizontal.dds"
|
|
spriteType = Corneredtiled
|
|
spriteborder = { 3 0 }
|
|
effectname = "NoHighlight"
|
|
intersectionmask = yes
|
|
}
|
|
}
|
|
|
|
slider = {
|
|
button = {
|
|
gfxtype = framedbuttongfx
|
|
effectname = "NoHighlight"
|
|
|
|
texture = "gfx/interface/scrollbars/scrollbar_slider_horizontal.dds"
|
|
spriteType = Corneredtiled
|
|
spriteborder = { 3 0 }
|
|
framesize = { 40 12 }
|
|
minimumsize = { 15 -1 }
|
|
|
|
upframe = 1
|
|
overframe = 2
|
|
downframe = 2
|
|
|
|
intersectionmask = yes
|
|
oversound = "event:/SFX/UI/Generic/sfx_ui_generic_icon_pointer_over"
|
|
|
|
state = {
|
|
name = _mouse_press
|
|
start_sound = {
|
|
soundeffect = "event:/SFX/UI/Generic/sfx_ui_generic_icon_select"
|
|
}
|
|
}
|
|
|
|
state = {
|
|
name = _mouse_release
|
|
start_sound = {
|
|
soundeffect = "event:/SFX/UI/Generic/sfx_ui_generic_icon_select"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
dec_button = {
|
|
button = {
|
|
}
|
|
}
|
|
|
|
inc_button = {
|
|
button = {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
types DataModelViewTypes
|
|
{
|
|
type data_model_view_options_hbox = hbox
|
|
{
|
|
spacing = 5
|
|
|
|
button_standard = {
|
|
name = "filters"
|
|
size = { 25 25 }
|
|
|
|
down = "[DataModelView.AreFiltersShown]"
|
|
onclick = "[DataModelView.ToggleFiltersShown]"
|
|
|
|
tooltip = "TOGGLE_FILTERS"
|
|
using = tooltip_nw
|
|
|
|
button_search = {
|
|
alwaystransparent = yes
|
|
parentanchor = center
|
|
size = { 20 20 }
|
|
}
|
|
}
|
|
|
|
divider_light = {
|
|
size = { 3 20 }
|
|
}
|
|
|
|
text_single = {
|
|
text = "SORT_BY"
|
|
align = nobaseline
|
|
}
|
|
|
|
dropdown_menu_standard = {
|
|
name = "sort_options"
|
|
|
|
blockoverride "dropdown_properties"
|
|
{
|
|
datamodel = "[DataModelView.GetSorters]"
|
|
selectedindex = "[DataModelView.GetActiveSortIndex]"
|
|
onselectionchanged = "[DataModelView.SortBy]"
|
|
}
|
|
|
|
blockoverride "dropdown_active_item_properties"
|
|
{
|
|
text = "[DataModelSorter.GetName]"
|
|
}
|
|
|
|
blockoverride "dropdown_item_properties"
|
|
{
|
|
text = "[DataModelSorter.GetName]"
|
|
}
|
|
}
|
|
|
|
button_standard = {
|
|
name = "sort_order"
|
|
size = { 25 25 }
|
|
|
|
using = tooltip_ne
|
|
onclick = "[DataModelView.ToggleSortOrder]"
|
|
|
|
button_icon = {
|
|
size = { 25 25 }
|
|
texture = "gfx/interface/icons/flat_icons/sort_icon.dds"
|
|
framesize = { 66 66 }
|
|
frame = "[BoolTo1And2( DataModelView.GetSortOrder )]"
|
|
|
|
alwaystransparent = yes
|
|
|
|
blockoverride "button_frames"
|
|
{
|
|
effectname = "NoHighlight"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
type data_model_view_toggle_filter = button_checkbox_label
|
|
{
|
|
layoutpolicy_horizontal = expanding
|
|
|
|
onclick = "[DataModelView.ToggleFilter( PdxGuiWidget.GetIndexInDataModel )]"
|
|
|
|
block "toggle_onclick"
|
|
{
|
|
}
|
|
|
|
blockoverride "checkbox"
|
|
{
|
|
checked = "[DataModelFilter.IsEnabled]"
|
|
}
|
|
|
|
blockoverride "text"
|
|
{
|
|
text = "[DataModelFilter.GetName]"
|
|
}
|
|
}
|
|
|
|
type data_model_view_dropdown_filter = hbox
|
|
{
|
|
layoutpolicy_horizontal = expanding
|
|
|
|
spacing = 5
|
|
|
|
text_single = {
|
|
layoutpolicy_horizontal = expanding
|
|
text = "[DataModelGroupedFilter.GetGroupName]"
|
|
default_format = "#medium"
|
|
align = nobaseline
|
|
autoresize = no
|
|
}
|
|
|
|
dropdown_menu_standard = {
|
|
blockoverride "dropdown_properties"
|
|
{
|
|
datamodel = "[DataModelGroupedFilter.GetFilters]"
|
|
selectedindex = "[DataModelGroupedFilter.GetActiveFilter]"
|
|
onselectionchanged = "[DataModelView.SelectGroupFilter( PdxGuiWidget.GetIndexInDataModel )]"
|
|
|
|
block "dropdown_onselect"
|
|
{
|
|
}
|
|
}
|
|
|
|
blockoverride "dropdown_active_item_properties"
|
|
{
|
|
text = "[CString.GetString]"
|
|
}
|
|
|
|
blockoverride "dropdown_item_properties"
|
|
{
|
|
text = "[CString.GetString]"
|
|
}
|
|
}
|
|
}
|
|
|
|
type data_model_view_filter_hbox = hbox
|
|
{
|
|
layoutpolicy_horizontal = expanding
|
|
spacing = 10
|
|
|
|
hbox = {
|
|
name = "toggle_filters"
|
|
layoutpolicy_horizontal = expanding
|
|
datamodel = "[DataModelView.GetFilters]"
|
|
|
|
item = {
|
|
data_model_view_toggle_filter = {}
|
|
}
|
|
}
|
|
|
|
hbox = {
|
|
name = "grouped_filters"
|
|
layoutpolicy_horizontal = expanding
|
|
datamodel = "[DataModelView.GetGroupedFilters]"
|
|
|
|
item = {
|
|
data_model_view_dropdown_filter = {}
|
|
}
|
|
}
|
|
}
|
|
|
|
type data_model_view_filters_window = window
|
|
{
|
|
visible_at_creation = no
|
|
visible = "[DataModelView.AreFiltersShown]"
|
|
|
|
parentanchor = top|right
|
|
position = { -780 20 }
|
|
size = { 510 800 }
|
|
focuspolicy = click
|
|
|
|
allow_outside = yes
|
|
|
|
using = Window_Movable
|
|
using = Window_Background_Subwindow
|
|
|
|
state = {
|
|
name = _show
|
|
using = Animation_FadeIn_Quick
|
|
}
|
|
|
|
state = {
|
|
name = _hide
|
|
using = Animation_FadeOut_Quick
|
|
}
|
|
|
|
vbox = {
|
|
margin = { 4 4 }
|
|
|
|
spacing = 10
|
|
|
|
header_pattern = {
|
|
layoutpolicy_horizontal = expanding
|
|
|
|
blockoverride "header_text"
|
|
{
|
|
text = "CHARACTER_LIST_FILTERS"
|
|
}
|
|
blockoverride "button_close"
|
|
{
|
|
onclick = "[DataModelView.ToggleSortOrder]"
|
|
}
|
|
}
|
|
|
|
scrollbox = {
|
|
layoutpolicy_horizontal = expanding
|
|
layoutpolicy_vertical = expanding
|
|
|
|
blockoverride "scrollbox_content"
|
|
{
|
|
vbox = {
|
|
name = "toggle_filters"
|
|
layoutpolicy_horizontal = expanding
|
|
datamodel = "[DataModelView.GetFilters]"
|
|
|
|
item = {
|
|
data_model_view_toggle_filter = {}
|
|
}
|
|
}
|
|
|
|
vbox = {
|
|
name = "grouped_filters"
|
|
layoutpolicy_horizontal = expanding
|
|
datamodel = "[DataModelView.GetGroupedFilters]"
|
|
|
|
item = {
|
|
data_model_view_dropdown_filter = {}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
hbox = {
|
|
layoutpolicy_horizontal = growing
|
|
margin_bottom = 10
|
|
|
|
button_standard = {
|
|
name = "remove_filters"
|
|
raw_text = "Remove Filters"
|
|
focuspolicy = click
|
|
onclick = "[DataModelView.RemoveAllFilters]"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|