I wondered if anyone could help? I am adding an info popup to our mod and it's mostly working ok, but for some reason that I am apparently to blind to see, I can't get the scroll bar to work. If I set AutoScrollBar to 0, it will show up, but not work. If I set it to 1, it doesn't show up at all. I've added several other screen with scrolling w/ no prob, not sure what I'm missing. Here's the code.
XML:
LUA:
Thanks.
XML:
Spoiler :
<?xml version="1.0" encoding="utf-8"?>
<Context Font="TwCenMT16" FontStyle="Base">
<Box Style="BGBlock_ClearTopBar" />
<Instance Name="CityOrder">
<Stack ID="City" Padding="0" StackGrowth="Right">
<Box Offset="20,0" Size="200,32" Color="Black,0">
<TextButton ID="Name" Anchor="L,C" String="" Font="TwCenMT20" WrapWidth="160" ToolTip="TXT_KEY_CH_CITY_TT"/>
</Box>
<Box Size="40,32" Color="Black,0">
<Label ID="Order" Anchor="R,C" String="99" Color0="255.77.105.255" Color1="0.0.0.128" Color2="255.255.200.255" Font="TwCenMT20" FontStyle="Stroke"/>
</Box>
<Box Size="40,32" Color="Black,0">
<Label ID="Happiness" Anchor="R,C" String="99" Color0="255.77.105.255" Color1="0.0.0.128" Color2="255.255.200.255" Font="TwCenMT20" FontStyle="Stroke"/>
</Box>
<Box Size="130,32" Color="Black,0">
<Label ID="Risk" Anchor="C,C" String="" Font="TwCenMT20" WrapWidth="120"/>
</Box>
</Stack>
</Instance>
<Grid Size="495,653" Anchor="C,C" Offset="0,42" Style="Grid9DetailFive140" ConsumeMouse="1">
<!-- Panel Header Text -->
<Label String="TXT_KEY_OR_OVERVIEW" Anchor="C,T" Offset="0,19" Font="TwCenMT20" Color0="30,50,80,255" Color1="133,184,186,255" Color2="133,184,186,255" FontStyle="SoftShadow" />
<Box Style="PopupLeftSideTreatment"/>
<Box Style="PopupRightSideTreatment"/>
<Image Anchor="C,T" AnchorSide="I,O" Size="256,64" Offset="0,-14" Texture="Top512IconTrim.dds" >
<Image ID="OrderIcon" Size="64,64" Anchor="C,C" Offset="0,0" Texture="Order_Icon64.dds" />
</Image>
<!-- Top Panel -->
<Box Anchor="C,T" Size="478,32" Offset="0,44" Color="0,0,0,128" >
<Stack Anchor="C,T" Size="486,32" Offset="0,0" Padding="0" StackGrowth="Right">
<Button Anchor="L,T" Size="300,24" Offset="0,0" String="TXT_KEY_CH_CITIES" ToolTip="TXT_KEY_PM_ORDER_HELP_INFO" ID="CitiesButton" >
</Button>
</Stack>
<Image Anchor="C,B" Offset="0,0" Texture="HorizontalTrim.dds" Size="478,5" />
</Box>
<Box Size="495,625" Anchor="C,C" Offset="0,42" Color="White,0">
<Box Anchor="L,T" Size="477,450" Offset="19,13" Color="White,0" ID="OrderProductionPanel">
<Box Anchor="L,T" Size="465,32" Offset="10,2" Color="White,0">
<Stack Padding="0" StackGrowth="Right">
<Box Offset="20,0" Size="200,32" Color="Black,0">
<TextButton ID="SortName" Anchor="L,C" Font="TwCenMT22" String="TXT_KEY_CH_CITY" WrapWidth="160" ToolTip="TXT_KEY_CH_SORT_NAME_TT"/>
</Box>
<Box Size="50,32" Color="Black,0">
<TextButton ID="SortOrder" Anchor="L,C" String="[ICON_ORDER]" ToolTip="TXT_KEY_OR_SORT_STATUS_TT"/>
</Box>
<Box Size="40,32" Color="Black,0">
<TextButton ID="SortHappiness" Anchor="L,C" String="[ICON_HAPPINESS_1]" ToolTip="TXT_KEY_HP_SORT_STATUS_TT"/>
</Box>
<Box Size="100,32" Color="Black,0">
<TextButton ID="SortRisk" Anchor="C,C" Font="TwCenMT20" String="TXT_KEY_OR_REVOLT" WrapWidth="120" ToolTip="TXT_KEY_OR_REVOLT_TT"/>
</Box>
</Stack>
</Box>
<Image Anchor="C,T" Offset="-10,32" Texture="HorizontalTrim.dds" Size="476,5" />
<ScrollPanel Offset="0,26" Anchor="L,T" AutoScrollBar="1" Size="470,440" Vertical="1" ID="MainScroll" >
<ScrollBar Style="VertSlider" Length="404" Offset="0.0" Anchor="R,T" />
<UpButton Offset="0.0" Style="ScrollBarUp" Anchor="R,T" />
<DownButton Offset="0.420" Style="ScrollBarDown" Anchor="R,T" />
<Stack Anchor="L,T" ID="OrderStack" StackGrowth="Bottom" Padding="0"/>
</ScrollPanel>
</Box>
<Image Anchor="C,B" Offset="0,130" Texture="HorizontalTrim.dds" Size="476,5" />
</Box>
<Box Anchor="C,B" AnchorSide="I,I" Offset="0,54" Size="480,56" Color="255,255,255,0" >
<GridButton Anchor="L,B" Style="SmallButton" Size="150,32" Offset="14,0" StateOffsetIncrement="0,0" ID="CloseButton">
<Label Anchor="C,C" Offset="0,0" String="TXT_KEY_CLOSE" Font="TwCenMT18" ColorSet="Beige_Black_Alpha" FontStyle="Shadow" />
</GridButton>
</Box>
</Grid>
</Context>
<Context Font="TwCenMT16" FontStyle="Base">
<Box Style="BGBlock_ClearTopBar" />
<Instance Name="CityOrder">
<Stack ID="City" Padding="0" StackGrowth="Right">
<Box Offset="20,0" Size="200,32" Color="Black,0">
<TextButton ID="Name" Anchor="L,C" String="" Font="TwCenMT20" WrapWidth="160" ToolTip="TXT_KEY_CH_CITY_TT"/>
</Box>
<Box Size="40,32" Color="Black,0">
<Label ID="Order" Anchor="R,C" String="99" Color0="255.77.105.255" Color1="0.0.0.128" Color2="255.255.200.255" Font="TwCenMT20" FontStyle="Stroke"/>
</Box>
<Box Size="40,32" Color="Black,0">
<Label ID="Happiness" Anchor="R,C" String="99" Color0="255.77.105.255" Color1="0.0.0.128" Color2="255.255.200.255" Font="TwCenMT20" FontStyle="Stroke"/>
</Box>
<Box Size="130,32" Color="Black,0">
<Label ID="Risk" Anchor="C,C" String="" Font="TwCenMT20" WrapWidth="120"/>
</Box>
</Stack>
</Instance>
<Grid Size="495,653" Anchor="C,C" Offset="0,42" Style="Grid9DetailFive140" ConsumeMouse="1">
<!-- Panel Header Text -->
<Label String="TXT_KEY_OR_OVERVIEW" Anchor="C,T" Offset="0,19" Font="TwCenMT20" Color0="30,50,80,255" Color1="133,184,186,255" Color2="133,184,186,255" FontStyle="SoftShadow" />
<Box Style="PopupLeftSideTreatment"/>
<Box Style="PopupRightSideTreatment"/>
<Image Anchor="C,T" AnchorSide="I,O" Size="256,64" Offset="0,-14" Texture="Top512IconTrim.dds" >
<Image ID="OrderIcon" Size="64,64" Anchor="C,C" Offset="0,0" Texture="Order_Icon64.dds" />
</Image>
<!-- Top Panel -->
<Box Anchor="C,T" Size="478,32" Offset="0,44" Color="0,0,0,128" >
<Stack Anchor="C,T" Size="486,32" Offset="0,0" Padding="0" StackGrowth="Right">
<Button Anchor="L,T" Size="300,24" Offset="0,0" String="TXT_KEY_CH_CITIES" ToolTip="TXT_KEY_PM_ORDER_HELP_INFO" ID="CitiesButton" >
</Button>
</Stack>
<Image Anchor="C,B" Offset="0,0" Texture="HorizontalTrim.dds" Size="478,5" />
</Box>
<Box Size="495,625" Anchor="C,C" Offset="0,42" Color="White,0">
<Box Anchor="L,T" Size="477,450" Offset="19,13" Color="White,0" ID="OrderProductionPanel">
<Box Anchor="L,T" Size="465,32" Offset="10,2" Color="White,0">
<Stack Padding="0" StackGrowth="Right">
<Box Offset="20,0" Size="200,32" Color="Black,0">
<TextButton ID="SortName" Anchor="L,C" Font="TwCenMT22" String="TXT_KEY_CH_CITY" WrapWidth="160" ToolTip="TXT_KEY_CH_SORT_NAME_TT"/>
</Box>
<Box Size="50,32" Color="Black,0">
<TextButton ID="SortOrder" Anchor="L,C" String="[ICON_ORDER]" ToolTip="TXT_KEY_OR_SORT_STATUS_TT"/>
</Box>
<Box Size="40,32" Color="Black,0">
<TextButton ID="SortHappiness" Anchor="L,C" String="[ICON_HAPPINESS_1]" ToolTip="TXT_KEY_HP_SORT_STATUS_TT"/>
</Box>
<Box Size="100,32" Color="Black,0">
<TextButton ID="SortRisk" Anchor="C,C" Font="TwCenMT20" String="TXT_KEY_OR_REVOLT" WrapWidth="120" ToolTip="TXT_KEY_OR_REVOLT_TT"/>
</Box>
</Stack>
</Box>
<Image Anchor="C,T" Offset="-10,32" Texture="HorizontalTrim.dds" Size="476,5" />
<ScrollPanel Offset="0,26" Anchor="L,T" AutoScrollBar="1" Size="470,440" Vertical="1" ID="MainScroll" >
<ScrollBar Style="VertSlider" Length="404" Offset="0.0" Anchor="R,T" />
<UpButton Offset="0.0" Style="ScrollBarUp" Anchor="R,T" />
<DownButton Offset="0.420" Style="ScrollBarDown" Anchor="R,T" />
<Stack Anchor="L,T" ID="OrderStack" StackGrowth="Bottom" Padding="0"/>
</ScrollPanel>
</Box>
<Image Anchor="C,B" Offset="0,130" Texture="HorizontalTrim.dds" Size="476,5" />
</Box>
<Box Anchor="C,B" AnchorSide="I,I" Offset="0,54" Size="480,56" Color="255,255,255,0" >
<GridButton Anchor="L,B" Style="SmallButton" Size="150,32" Offset="14,0" StateOffsetIncrement="0,0" ID="CloseButton">
<Label Anchor="C,C" Offset="0,0" String="TXT_KEY_CLOSE" Font="TwCenMT18" ColorSet="Beige_Black_Alpha" FontStyle="Shadow" />
</GridButton>
</Box>
</Grid>
</Context>
LUA:
Spoiler :
function UpdateData(iPlayer)
local pPlayer = Players[iPlayer]
g_OrderProductionManager:ResetInstances()
g_SortOrderTable = {}
for pCity in pPlayer:Cities() do
local instance = g_OrderProductionManager:GetInstance()
local sort = {}
g_SortOrderTable[tostring(instance.City)] = sort
sort.name = pCity:GetName()
instance.Name:SetText(pCity:GetName())
instance.Name:RegisterCallback(Mouse.eLClick, function() OnCity(pCity) end)
local CityOrder = GetCityOrder(pCity)
sort.order = CityOrder
instance.Order:SetText(CityOrder)
instance.Order:SetToolTipString(GetOrderTooltip(pCity, true))
local CityHappiness = pCity:GetLocalHappiness();
sort.happiness = CityHappiness
instance.Happiness:SetText(CityHappiness)
sort.risk = GetCityRevoltString(CityOrder, CityHappiness)
instance.Risk:SetText(Locale.ConvertTextKey(sort.risk))
end
Controls.OrderStack:SortChildren(SortByValue)
Controls.OrderStack:CalculateSize()
Controls.MainScroll:CalculateInternalSize();
end
local pPlayer = Players[iPlayer]
g_OrderProductionManager:ResetInstances()
g_SortOrderTable = {}
for pCity in pPlayer:Cities() do
local instance = g_OrderProductionManager:GetInstance()
local sort = {}
g_SortOrderTable[tostring(instance.City)] = sort
sort.name = pCity:GetName()
instance.Name:SetText(pCity:GetName())
instance.Name:RegisterCallback(Mouse.eLClick, function() OnCity(pCity) end)
local CityOrder = GetCityOrder(pCity)
sort.order = CityOrder
instance.Order:SetText(CityOrder)
instance.Order:SetToolTipString(GetOrderTooltip(pCity, true))
local CityHappiness = pCity:GetLocalHappiness();
sort.happiness = CityHappiness
instance.Happiness:SetText(CityHappiness)
sort.risk = GetCityRevoltString(CityOrder, CityHappiness)
instance.Risk:SetText(Locale.ConvertTextKey(sort.risk))
end
Controls.OrderStack:SortChildren(SortByValue)
Controls.OrderStack:CalculateSize()
Controls.MainScroll:CalculateInternalSize();
end
Thanks.