N3OW/gui/lists.gui
2026-03-09 03:51:24 +00:00

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]"
}
}
}
}
}