some progress on implementing retail like attachments

This commit is contained in:
Manuel Simon Hirsig
2016-02-21 10:36:40 +01:00
parent d66d786103
commit 6485963c57
2 changed files with 232 additions and 258 deletions
+181 -27
View File
@@ -45,6 +45,151 @@ function Postal:OnInitialize()
PostalInboxFrame.eventFunc = {}
end
function Postal:SendMailFrame_Update()
do
local background = ({SendMailPackageButton:GetRegions()})[1]
background:Hide()
local count = ({SendMailPackageButton:GetRegions()})[3]
count:Hide()
SendMailPackageButton:Disable()
SendMailPackageButton:SetScript('OnReceiveDrag', nil)
SendMailPackageButton:SetScript('OnDragStart', nil)
end
do
SendMailMoneyText:SetPoint('TOPLEFT', 0, -2)
SendMailMoney:ClearAllPoints()
SendMailMoney:SetPoint('TOPLEFT', SendMailMoneyText, 'BOTTOMLEFT', 5, -3)
SendMailSendMoneyButton:SetPoint('TOPLEFT', SendMailMoney, 'TOPRIGHT', 0, 12)
end
SendMailMailButton:SetScript('OnClick', function()
PostalGlobalFrame.queue = Postal:FillItemTable();
PostalGlobalFrame.total = getn(PostalGlobalFrame.queue);
Postal:ClearItems();
PostalGlobalFrame:Show();
this:GetParent():Hide();
POSTAL_CANSENDNEXT = 1
end)
ATTACHMENTS_PER_ROW_SEND = 7
ATTACHMENTS_MAX_SEND = 21
ATTACHMENTS_MAX = 21
ATTACHMENTS_MAX_ROWS_SEND = 3
local itemCount = 0
local itemTitle
local gap
-- local last = 0
local last = self:GetNumMails()
for i=1, ATTACHMENTS_MAX_SEND do
-- -- get info about the attachment
-- local itemName, itemTexture, stackCount, quality = GetSendMailItem(i)
-- -- set attachment texture info
-- _G["PostalAttachment"..i]:SetNormalTexture(itemTexture)
-- -- set the stack count
-- if ( stackCount <= 1 ) then
-- _G["PostalAttachment"..i.."Count"]:SetText("")
-- else
-- _G["PostalAttachment"..i.."Count"]:SetText(stackCount)
-- end
-- local attachmentButton = _G["PostalAttachment"..i]
-- SetItemButtonQuality(attachmentButton, quality, GetSendMailItemLink(i))
-- -- determine what a name for the message in case it doesn't already have one
-- if ( itemName ) then
-- itemCount = itemCount + 1
-- if ( not itemTitle ) then
-- if ( stackCount <= 1 ) then
-- itemTitle = itemName
-- else
-- itemTitle = itemName.." ("..stackCount..")"
-- end
-- end
-- if ((last + 1) ~= i) then
-- gap = 1
-- end
-- last = i
-- end
end
-- Determine how many rows of attachments to show
local itemRowCount = 1
local temp = last
while temp > ATTACHMENTS_PER_ROW_SEND and itemRowCount < ATTACHMENTS_MAX_ROWS_SEND do
itemRowCount = itemRowCount + 1;
temp = temp - ATTACHMENTS_PER_ROW_SEND
end
Aux.log(itemRowCount)
if not gap and temp == ATTACHMENTS_PER_ROW_SEND and itemRowCount < ATTACHMENTS_MAX_ROWS_SEND then
itemRowCount = itemRowCount + 1;
end
if SendMailFrame.maxRowsShown and last > 0 and itemRowCount < SendMailFrame.maxRowsShown then
itemRowCount = SendMailFrame.maxRowsShown
else
SendMailFrame.maxRowsShown = itemRowCount
end
-- Compute sizes
local cursorx = 0
local cursory = itemRowCount - 1
local marginxl = 8 + 6
local marginxr = 40 + 6
local areax = SendMailFrame:GetWidth() - marginxl - marginxr
local iconx = PostalAttachment1:GetWidth() + 2
local icony = PostalAttachment1:GetHeight() + 2
local gapx1 = floor((areax - (iconx * ATTACHMENTS_PER_ROW_SEND)) / (ATTACHMENTS_PER_ROW_SEND - 1))
local gapx2 = floor((areax - (iconx * ATTACHMENTS_PER_ROW_SEND) - (gapx1 * (ATTACHMENTS_PER_ROW_SEND - 1))) / 2)
local gapy1 = 5
local gapy2 = 6
local areay = (gapy2 * 2) + (gapy1 * (itemRowCount - 1)) + (icony * itemRowCount)
local indentx = marginxl + gapx2 + 17
local indenty = 170 + gapy2 + icony - 13
local tabx = (iconx + gapx1) - 3 --this magic number changes the attachment spacing
local taby = (icony + gapy1)
local scrollHeight = 249 - areay
PostalHorizontalBarLeft:SetPoint('TOPLEFT', SendMailFrame, 'BOTTOMLEFT', 2 + 15, 184 + areay - 14)
SendMailScrollFrame:SetHeight(scrollHeight)
SendMailScrollChildFrame:SetHeight(scrollHeight)
local SendMailScrollFrameTop = ({SendMailScrollFrame:GetRegions()})[3]
SendMailScrollFrameTop:SetHeight(scrollHeight)
SendMailScrollFrameTop:SetTexCoord(0, 0.484375, 0, scrollHeight / 256)
StationeryBackgroundLeft:SetHeight(scrollHeight)
StationeryBackgroundLeft:SetTexCoord(0, 1.0, 0, scrollHeight / 256)
StationeryBackgroundRight:SetHeight(scrollHeight)
StationeryBackgroundRight:SetTexCoord(0, 1.0, 0, scrollHeight / 256)
-- Set Items
for i=1, ATTACHMENTS_MAX_SEND do
if cursory >= 0 then
getglobal("PostalAttachment"..i):Enable()
getglobal("PostalAttachment"..i):Show()
getglobal("PostalAttachment"..i):SetPoint("TOPLEFT", "SendMailFrame", "BOTTOMLEFT", indentx + (tabx * cursorx), indenty + (taby * cursory));
cursorx = cursorx + 1
if cursorx >= ATTACHMENTS_PER_ROW_SEND then
cursory = cursory - 1
cursorx = 0
end
else
getglobal("PostalAttachment"..i):Hide()
end
end
for i=ATTACHMENTS_MAX_SEND+1, ATTACHMENTS_MAX do
getglobal("PostalAttachment"..i):Hide()
end
end
function Postal:OnEnable()
self:RegisterEvent("MAIL_INBOX_UPDATE")
self:RegisterEvent("UI_ERROR_MESSAGE")
@@ -56,6 +201,7 @@ function Postal:OnEnable()
self:Hook("ContainerFrameItemButton_OnClick")
self:Hook("PickupContainerItem")
self:Hook("UseContainerItem")
self:Hook("SendMailFrame_Update")
self:Hook("ContainerFrame_Update")
self:Hook("ClickSendMailItemButton")
self:HookScript(TradeFrame, "OnShow", "TF_Show")
@@ -67,9 +213,19 @@ function Postal:OnEnable()
self:Hook("OpenMail_Reply")
oldTakeInboxMoney = OpenMailMoneyButton:GetScript("OnClick")
SendMailScrollFrame:SetHeight(200)
StationeryBackgroundLeft:SetHeight(200)
StationeryBackgroundRight:SetHeight(200)
-- NEW
SendMailFrame:CreateTexture('PostalHorizontalBarLeft', 'BACKGROUND')
PostalHorizontalBarLeft:SetTexture([[Interface\ClassTrainerFrame\UI-ClassTrainer-HorizontalBar]])
PostalHorizontalBarLeft:SetWidth(256)
PostalHorizontalBarLeft:SetHeight(16)
PostalHorizontalBarLeft:SetTexCoord(0, 1, 0, 0.25)
SendMailFrame:CreateTexture('PostalHorizontalBarRight', 'BACKGROUND')
PostalHorizontalBarRight:SetTexture([[Interface\ClassTrainerFrame\UI-ClassTrainer-HorizontalBar]])
PostalHorizontalBarRight:SetWidth(75)
PostalHorizontalBarRight:SetHeight(16)
PostalHorizontalBarRight:SetTexCoord(0, 0.29296875, 0.25, 0.5)
PostalHorizontalBarRight:SetPoint('LEFT', PostalHorizontalBarLeft, 'RIGHT')
Postal:SendMailFrame_Update()
end
function Postal:MAIL_CLOSED()
@@ -131,10 +287,10 @@ function Postal:UseContainerItem(bag, item)
PostalFrame.bag = bag
PostalFrame.item = item
end
if PostalFrame:IsVisible() and not CursorHasItem() then
if SendMailFrame:IsVisible() and not CursorHasItem() then
local i
for i = 1, POSTAL_NUMITEMBUTTONS do
if not getglobal("PostalButton" .. i).item then
if not getglobal("PostalAttachment" .. i).item then
if self:ItemIsMailable(bag, item) then
Postal:Print("Postal: Cannot attach item.", 1, 0.5, 0)
@@ -142,15 +298,11 @@ function Postal:UseContainerItem(bag, item)
end
self.hooks["PickupContainerItem"].orig(bag, item)
self:MailButton_OnClick(getglobal("PostalButton" .. i))
self:MailButton_OnClick(getglobal("PostalAttachment" .. i))
self:UpdateItemButtons()
return
end
end
elseif SendMailFrame:IsVisible() and not CursorHasItem() then
self.hooks["PickupContainerItem"].orig(bag, item)
ClickSendMailItemButton()
return
elseif TradeFrame:IsVisible() and not CursorHasItem() then
for i = 1, 6 do
if not GetTradePlayerItemLink(i) then
@@ -229,8 +381,8 @@ function Postal:MailButton_OnClick(button)
PostalFrame.item = nil
end
local texture, count = GetContainerItemInfo(bag, item)
getglobal(button:GetName() .. "IconTexture"):Show()
getglobal(button:GetName() .. "IconTexture"):SetTexture(texture)
-- getglobal(button:GetName() .. "IconTexture"):Show()
button:SetNormalTexture(texture)
if count > 1 then
getglobal(button:GetName() .. "Count"):SetText(count)
getglobal(button:GetName() .. "Count"):Show()
@@ -243,7 +395,8 @@ function Postal:MailButton_OnClick(button)
button.count = count
elseif button.item and button.bag then
self.hooks["PickupContainerItem"].orig(button.bag, button.item)
getglobal(button:GetName() .. "IconTexture"):Hide()
-- getglobal(button:GetName() .. "IconTexture"):Hide()
button:SetNormalTexture(nil)
getglobal(button:GetName() .. "Count"):Hide()
PostalFrame.bag = button.bag
PostalFrame.item = button.item
@@ -255,13 +408,15 @@ function Postal:MailButton_OnClick(button)
local num = self:GetNumMails()
PostalFrame.num = num
self:CanSend(PostalNameEditBox)
if num == 0 then num = 1 end
MoneyFrame_Update("PostalCostMoneyFrame", GetSendMailPrice()*num)
MoneyFrame_Update("PostalCostMoneyFrame", GetSendMailPrice() * max(1, num))
for i = 1, NUM_CONTAINER_FRAMES do
if getglobal("ContainerFrame" .. i):IsVisible() then
ContainerFrame_Update(getglobal("ContainerFrame" .. i))
end
end
-- NEW
Postal:SendMailFrame_Update()
end
function Postal:ItemIsMailable(bag, item)
@@ -284,15 +439,15 @@ end
function Postal:UpdateItemButtons(frame)
local i
for i = 1, POSTAL_NUMITEMBUTTONS do
local btn = getglobal("PostalButton" .. i)
local btn = getglobal("PostalAttachment" .. i)
if not frame or btn ~= frame then
local texture, count
if btn.item and btn.bag then
texture, count = GetContainerItemInfo(btn.bag, btn.item)
end
if not texture then
getglobal(btn:GetName() .. "IconTexture"):Hide()
getglobal(btn:GetName() .. "Count"):Hide()
btn:SetNormalTexture(nil)
getglobal(btn:GetName().."Count"):Hide()
btn.item = nil
btn.bag = nil
btn.count = nil
@@ -300,13 +455,12 @@ function Postal:UpdateItemButtons(frame)
else
btn.count = count
btn.texture = texture
getglobal(btn:GetName() .. "IconTexture"):Show()
getglobal(btn:GetName() .. "IconTexture"):SetTexture(texture)
btn:SetNormalTexture(texture)
if count > 1 then
getglobal(btn:GetName() .. "Count"):Show()
getglobal(btn:GetName() .. "Count"):SetText(count)
getglobal(btn:GetName().."Count"):Show()
getglobal(btn:GetName().."Count"):SetText(count)
else
getglobal(btn:GetName() .. "Count"):Hide()
getglobal(btn:GetName().."Count"):Hide()
end
end
end
@@ -316,7 +470,7 @@ end
function Postal:GetItemFrame(bag, item)
local i
for i = 1, POSTAL_NUMITEMBUTTONS do
local btn = getglobal("PostalButton" .. i)
local btn = getglobal("PostalAttachment" .. i)
if btn.item == item and btn.bag == bag then
return btn
end
@@ -328,7 +482,7 @@ function Postal:GetNumMails()
local i
local num = 0
for i = 1, POSTAL_NUMITEMBUTTONS do
local btn = getglobal("PostalButton" .. i)
local btn = getglobal("PostalAttachment" .. i)
if btn.item and btn.bag then
num = num + 1
end
@@ -340,7 +494,7 @@ function Postal:ClearItems()
local i
local num = 0
for i = 1, POSTAL_NUMITEMBUTTONS do
local btn = getglobal("PostalButton" .. i)
local btn = getglobal("PostalAttachment" .. i)
btn.item = nil
btn.count = nil
btn.bag = nil
@@ -418,7 +572,7 @@ end
function Postal:FillItemTable()
local arr = {}
for i = 1, POSTAL_NUMITEMBUTTONS do
local btn = getglobal("PostalButton" .. i)
local btn = getglobal("PostalAttachment" .. i)
if btn.item and btn.bag then
tinsert(arr, { ["item"] = btn.item, ["bag"] = btn.bag, ["to"] = PostalNameEditBox:GetText() })
end
+51 -231
View File
@@ -12,7 +12,8 @@ C:\Projects\WoW\Bin\Interface\FrameXML\UI.xsd">
</OnLoad>
</Scripts>
</frame>
<Button name="PostalButtonTemplate" virtual="true">
<Button name="PostalAttachment" virtual="true">
<Size>
<AbsDimension x="37" y="37"/>
</Size>
@@ -25,7 +26,7 @@ C:\Projects\WoW\Bin\Interface\FrameXML\UI.xsd">
<Anchors>
<Anchor point="TOPLEFT">
<Offset>
<AbsDimension x="-2" y="2"/>
<AbsDimension x="-1" y="1"/>
</Offset>
</Anchor>
</Anchors>
@@ -43,13 +44,21 @@ C:\Projects\WoW\Bin\Interface\FrameXML\UI.xsd">
</Anchors>
</FontString>
</Layer>
<Layer level="BORDER">
<Texture name="$parentIconTexture"/>
<Layer level="OVERLAY">
<Texture parentKey="IconBorder" file="Interface\Common\WhiteIconFrame" hidden="true">
<Size>
<AbsDimension x="37" y="37"/>
</Size>
<Anchors>
<Anchor point="CENTER"/>
</Anchors>
</Texture>
</Layer>
</Layers>
<Scripts>
<OnLoad>
this:RegisterForDrag("LeftButton")
this:RegisterForClicks('LeftButtonUp', 'RightButtonUp')
this:RegisterForDrag('LeftButton')
</OnLoad>
<OnReceiveDrag>
Postal:MailButton_OnClick()
@@ -61,19 +70,51 @@ C:\Projects\WoW\Bin\Interface\FrameXML\UI.xsd">
Postal:MailButton_OnClick()
</OnClick>
<OnEnter>
GameTooltip:SetOwner(this, "ANCHOR_RIGHT");
if ( this.item and this.bag ) then
GameTooltip:SetBagItem(this.bag,this.item);
GameTooltip:SetOwner(this, 'ANCHOR_RIGHT')
if this.item and this.bag then
GameTooltip:SetBagItem(this.bag,this.item)
else
GameTooltip:SetText(ATTACHMENT_TEXT, 1.0, 1.0, 1.0);
GameTooltip:SetText(ATTACHMENT_TEXT, 1.0, 1.0, 1.0)
end
</OnEnter>
<OnLeave>
GameTooltip:Hide()
</OnLeave>
</Scripts>
<!--
<OnEnter>
SendMailAttachment_OnEnter(self, motion);
</OnEnter>
<OnUpdate>
if ( GameTooltip:IsOwned(self) ) then
SendMailAttachment_OnEnter(self);
end
</OnUpdate>-->
</Scripts>
<HighlightTexture alphaMode="ADD" file="Interface\Buttons\ButtonHilight-Square"/>
</Button>
<Button name="PostalAttachment1" parent="SendMailFrame" inherits="PostalAttachment" id="1"/>
<Button name="PostalAttachment2" parent="SendMailFrame" inherits="PostalAttachment" id="2"/>
<Button name="PostalAttachment3" parent="SendMailFrame" inherits="PostalAttachment" id="3"/>
<Button name="PostalAttachment4" parent="SendMailFrame" inherits="PostalAttachment" id="4"/>
<Button name="PostalAttachment5" parent="SendMailFrame" inherits="PostalAttachment" id="5"/>
<Button name="PostalAttachment6" parent="SendMailFrame" inherits="PostalAttachment" id="6"/>
<Button name="PostalAttachment7" parent="SendMailFrame" inherits="PostalAttachment" id="7"/>
<Button name="PostalAttachment8" parent="SendMailFrame" inherits="PostalAttachment" id="8"/>
<Button name="PostalAttachment9" parent="SendMailFrame" inherits="PostalAttachment" id="9"/>
<Button name="PostalAttachment10" parent="SendMailFrame" inherits="PostalAttachment" id="10"/>
<Button name="PostalAttachment11" parent="SendMailFrame" inherits="PostalAttachment" id="11"/>
<Button name="PostalAttachment12" parent="SendMailFrame" inherits="PostalAttachment" id="12"/>
<Button name="PostalAttachment13" parent="SendMailFrame" inherits="PostalAttachment" id="13"/>
<Button name="PostalAttachment14" parent="SendMailFrame" inherits="PostalAttachment" id="14"/>
<Button name="PostalAttachment15" parent="SendMailFrame" inherits="PostalAttachment" id="15"/>
<Button name="PostalAttachment16" parent="SendMailFrame" inherits="PostalAttachment" id="16"/>
<Button name="PostalAttachment17" parent="SendMailFrame" inherits="PostalAttachment" id="17"/>
<Button name="PostalAttachment18" parent="SendMailFrame" inherits="PostalAttachment" id="18"/>
<Button name="PostalAttachment19" parent="SendMailFrame" inherits="PostalAttachment" id="19"/>
<Button name="PostalAttachment20" parent="SendMailFrame" inherits="PostalAttachment" id="20"/>
<Button name="PostalAttachment21" parent="SendMailFrame" inherits="PostalAttachment" id="21"/>
<Frame name="PostalFrame" parent="MailFrame" hidden="true">
<Size>
<AbsDimension x="384" y="512"/>
@@ -119,32 +160,6 @@ C:\Projects\WoW\Bin\Interface\FrameXML\UI.xsd">
</Anchor>
</Anchors>
</FontString>
<Texture name="PostalHorizontalBarLeft" file="Interface\ClassTrainerFrame\UI-ClassTrainer-HorizontalBar">
<Size>
<AbsDimension x="256" y="16"/>
</Size>
<Anchors>
<Anchor point="TOPLEFT">
<Offset>
<AbsDimension x="15" y="-350"/>
</Offset>
</Anchor>
</Anchors>
<TexCoords left="0" right="1.0" top="0" bottom="0.25"/>
</Texture>
<Texture file="Interface\ClassTrainerFrame\UI-ClassTrainer-HorizontalBar">
<Size>
<AbsDimension x="75" y="16"/>
</Size>
<Anchors>
<Anchor point="LEFT" relativeTo="PostalHorizontalBarLeft" relativePoint="RIGHT">
<Offset>
<AbsDimension x="0" y="0"/>
</Offset>
</Anchor>
</Anchors>
<TexCoords left="0" right="0.29296875" top="0.25" bottom="0.5"/>
</Texture>
</Layer>
</Layers>
<Frames>
@@ -383,201 +398,6 @@ C:\Projects\WoW\Bin\Interface\FrameXML\UI.xsd">
</OnClick>
</Scripts>
</Button>
<Button name="PostalButton1" inherits="PostalButtonTemplate" id="1" hidden="false">
<Anchors>
<Anchor point="TOPLEFT">
<Offset>
<AbsDimension x="30" y="-222"/>
</Offset>
</Anchor>
</Anchors>
</Button>
<Button name="PostalButton2" inherits="PostalButtonTemplate" id="2" hidden="false">
<Anchors>
<Anchor point="LEFT" relativePoint="RIGHT" relativeTo="PostalButton1">
<Offset>
<AbsDimension x="8" y="0"/>
</Offset>
</Anchor>
</Anchors>
</Button>
<Button name="PostalButton3" inherits="PostalButtonTemplate" id="3" hidden="false">
<Anchors>
<Anchor point="LEFT" relativePoint="RIGHT" relativeTo="PostalButton2">
<Offset>
<AbsDimension x="8" y="0"/>
</Offset>
</Anchor>
</Anchors>
</Button>
<Button name="PostalButton4" inherits="PostalButtonTemplate" id="4" hidden="false">
<Anchors>
<Anchor point="LEFT" relativePoint="RIGHT" relativeTo="PostalButton3">
<Offset>
<AbsDimension x="8" y="0"/>
</Offset>
</Anchor>
</Anchors>
</Button>
<Button name="PostalButton5" inherits="PostalButtonTemplate" id="5" hidden="false">
<Anchors>
<Anchor point="LEFT" relativePoint="RIGHT" relativeTo="PostalButton4">
<Offset>
<AbsDimension x="8" y="0"/>
</Offset>
</Anchor>
</Anchors>
</Button>
<Button name="PostalButton6" inherits="PostalButtonTemplate" id="6" hidden="false">
<Anchors>
<Anchor point="LEFT" relativePoint="RIGHT" relativeTo="PostalButton5">
<Offset>
<AbsDimension x="8" y="0"/>
</Offset>
</Anchor>
</Anchors>
</Button>
<Button name="PostalButton7" inherits="PostalButtonTemplate" id="7" hidden="false">
<Anchors>
<Anchor point="LEFT" relativePoint="RIGHT" relativeTo="PostalButton6">
<Offset>
<AbsDimension x="8" y="0"/>
</Offset>
</Anchor>
</Anchors>
</Button>
<Button name="PostalButton8" inherits="PostalButtonTemplate" id="8" hidden="false">
<Anchors>
<Anchor point="TOP" relativePoint="BOTTOM" relativeTo="PostalButton1">
<Offset>
<AbsDimension x="0" y="-8"/>
</Offset>
</Anchor>
</Anchors>
</Button>
<Button name="PostalButton9" inherits="PostalButtonTemplate" id="9" hidden="false">
<Anchors>
<Anchor point="LEFT" relativePoint="RIGHT" relativeTo="PostalButton8">
<Offset>
<AbsDimension x="8" y="0"/>
</Offset>
</Anchor>
</Anchors>
</Button>
<Button name="PostalButton10" inherits="PostalButtonTemplate" id="10" hidden="false">
<Anchors>
<Anchor point="LEFT" relativePoint="RIGHT" relativeTo="PostalButton9">
<Offset>
<AbsDimension x="8" y="0"/>
</Offset>
</Anchor>
</Anchors>
</Button>
<Button name="PostalButton11" inherits="PostalButtonTemplate" id="11" hidden="false">
<Anchors>
<Anchor point="LEFT" relativePoint="RIGHT" relativeTo="PostalButton10">
<Offset>
<AbsDimension x="8" y="0"/>
</Offset>
</Anchor>
</Anchors>
</Button>
<Button name="PostalButton12" inherits="PostalButtonTemplate" id="12" hidden="false">
<Anchors>
<Anchor point="LEFT" relativePoint="RIGHT" relativeTo="PostalButton11">
<Offset>
<AbsDimension x="8" y="0"/>
</Offset>
</Anchor>
</Anchors>
</Button>
<Button name="PostalButton13" inherits="PostalButtonTemplate" id="13" hidden="false">
<Anchors>
<Anchor point="LEFT" relativePoint="RIGHT" relativeTo="PostalButton12">
<Offset>
<AbsDimension x="8" y="0"/>
</Offset>
</Anchor>
</Anchors>
</Button>
<Button name="PostalButton14" inherits="PostalButtonTemplate" id="14" hidden="false">
<Anchors>
<Anchor point="LEFT" relativePoint="RIGHT" relativeTo="PostalButton13">
<Offset>
<AbsDimension x="8" y="0"/>
</Offset>
</Anchor>
</Anchors>
</Button>
<Button name="PostalButton15" inherits="PostalButtonTemplate" id="15" hidden="false">
<Anchors>
<Anchor point="TOP" relativePoint="BOTTOM" relativeTo="PostalButton8">
<Offset>
<AbsDimension x="0" y="-8"/>
</Offset>
</Anchor>
</Anchors>
</Button>
<Button name="PostalButton16" inherits="PostalButtonTemplate" id="16" hidden="false">
<Anchors>
<Anchor point="LEFT" relativePoint="RIGHT" relativeTo="PostalButton15">
<Offset>
<AbsDimension x="8" y="0"/>
</Offset>
</Anchor>
</Anchors>
</Button>
<Button name="PostalButton17" inherits="PostalButtonTemplate" id="17" hidden="false">
<Anchors>
<Anchor point="LEFT" relativePoint="RIGHT" relativeTo="PostalButton16">
<Offset>
<AbsDimension x="8" y="0"/>
</Offset>
</Anchor>
</Anchors>
</Button>
<Button name="PostalButton18" inherits="PostalButtonTemplate" id="18" hidden="false">
<Anchors>
<Anchor point="LEFT" relativePoint="RIGHT" relativeTo="PostalButton17">
<Offset>
<AbsDimension x="8" y="0"/>
</Offset>
</Anchor>
</Anchors>
</Button>
<Button name="PostalButton19" inherits="PostalButtonTemplate" id="19" hidden="false">
<Anchors>
<Anchor point="LEFT" relativePoint="RIGHT" relativeTo="PostalButton18">
<Offset>
<AbsDimension x="8" y="0"/>
</Offset>
</Anchor>
</Anchors>
</Button>
<Button name="PostalButton20" inherits="PostalButtonTemplate" id="20" hidden="false">
<Anchors>
<Anchor point="LEFT" relativePoint="RIGHT" relativeTo="PostalButton19">
<Offset>
<AbsDimension x="8" y="0"/>
</Offset>
</Anchor>
</Anchors>
</Button>
<Button name="PostalButton21" inherits="PostalButtonTemplate" id="21" hidden="false">
<Anchors>
<Anchor point="LEFT" relativePoint="RIGHT" relativeTo="PostalButton20">
<Offset>
<AbsDimension x="8" y="0"/>
</Offset>
</Anchor>
</Anchors>
</Button>
</Frames>
<Scripts>
<OnShow>