режим предателя + UI референсы и DragonUI

This commit is contained in:
2026-04-09 02:05:29 +04:00
parent 1109d19bb5
commit e8f1ae4ab9
397 changed files with 202750 additions and 37 deletions
@@ -0,0 +1,353 @@
MAX_ACCOUNT_MACROS = 36;
MAX_CHARACTER_MACROS = 18;
NUM_MACROS_PER_ROW = 6;
NUM_MACRO_ICONS_SHOWN = 20;
NUM_ICONS_PER_ROW = 5;
NUM_ICON_ROWS = 4;
MACRO_ICON_ROW_HEIGHT = 36;
UIPanelWindows["MacroFrame"] = { area = "left", pushable = 5, whileDead = 1 };
function MacroFrame_Show()
ShowUIPanel(MacroFrame);
end
function MacroFrame_OnLoad(self)
MacroFrame_SetAccountMacros();
PanelTemplates_SetNumTabs(MacroFrame, 2);
PanelTemplates_SetTab(MacroFrame, 1);
end
function MacroFrame_OnShow(self)
MacroFrame_Update();
PlaySound("igCharacterInfoOpen");
UpdateMicroButtons();
end
function MacroFrame_OnHide(self)
MacroPopupFrame:Hide();
MacroFrame_SaveMacro();
--SaveMacros();
PlaySound("igCharacterInfoClose");
UpdateMicroButtons();
end
function MacroFrame_SetAccountMacros()
MacroFrame.macroBase = 0;
MacroFrame.macroMax = MAX_ACCOUNT_MACROS;
local numAccountMacros, numCharacterMacros = GetNumMacros();
if ( numAccountMacros > 0 ) then
MacroFrame_SelectMacro(MacroFrame.macroBase + 1);
else
MacroFrame_SelectMacro(nil);
end
end
function MacroFrame_SetCharacterMacros()
MacroFrame.macroBase = MAX_ACCOUNT_MACROS;
MacroFrame.macroMax = MAX_CHARACTER_MACROS;
local numAccountMacros, numCharacterMacros = GetNumMacros();
if ( numCharacterMacros > 0 ) then
MacroFrame_SelectMacro(MacroFrame.macroBase + 1);
else
MacroFrame_SelectMacro(nil);
end
end
function MacroFrame_Update()
local numMacros;
local numAccountMacros, numCharacterMacros = GetNumMacros();
local macroButtonName, macroButton, macroIcon, macroName;
local name, texture, body;
local selectedName, selectedBody, selectedIcon;
if ( MacroFrame.macroBase == 0 ) then
numMacros = numAccountMacros;
else
numMacros = numCharacterMacros;
end
-- Macro List
local maxMacroButtons = max(MAX_ACCOUNT_MACROS, MAX_CHARACTER_MACROS);
for i=1, maxMacroButtons do
macroButtonName = "MacroButton"..i;
macroButton = _G[macroButtonName];
macroIcon = _G[macroButtonName.."Icon"];
macroName = _G[macroButtonName.."Name"];
if ( i <= MacroFrame.macroMax ) then
if ( i <= numMacros ) then
name, texture, body = GetMacroInfo(MacroFrame.macroBase + i);
macroIcon:SetTexture(texture);
macroName:SetText(name);
macroButton:Enable();
-- Highlight Selected Macro
if ( MacroFrame.selectedMacro and (i == (MacroFrame.selectedMacro - MacroFrame.macroBase)) ) then
macroButton:SetChecked(1);
MacroFrameSelectedMacroName:SetText(name);
MacroFrameText:SetText(body);
MacroFrameSelectedMacroButton:SetID(i);
MacroFrameSelectedMacroButtonIcon:SetTexture(texture);
MacroPopupFrame.selectedIconTexture = texture;
else
macroButton:SetChecked(0);
end
else
macroButton:SetChecked(0);
macroIcon:SetTexture("");
macroName:SetText("");
macroButton:Disable();
end
macroButton:Show();
else
macroButton:Hide();
end
end
-- Macro Details
if ( MacroFrame.selectedMacro ~= nil ) then
MacroFrame_ShowDetails();
MacroDeleteButton:Enable();
else
MacroFrame_HideDetails();
MacroDeleteButton:Disable();
end
--Update New Button
if ( numMacros < MacroFrame.macroMax ) then
MacroNewButton:Enable();
else
MacroNewButton:Disable();
end
-- Disable Buttons
if ( MacroPopupFrame:IsShown() ) then
MacroEditButton:Disable();
MacroDeleteButton:Disable();
else
MacroEditButton:Enable();
MacroDeleteButton:Enable();
end
if ( not MacroFrame.selectedMacro ) then
MacroDeleteButton:Disable();
end
end
function MacroFrame_AddMacroLine(line)
if ( MacroFrameText:IsVisible() ) then
MacroFrameText:SetText(MacroFrameText:GetText()..line);
end
end
function MacroButton_OnClick(self, button)
MacroFrame_SaveMacro();
MacroFrame_SelectMacro(MacroFrame.macroBase + self:GetID());
MacroFrame_Update();
MacroPopupFrame:Hide();
MacroFrameText:ClearFocus();
end
function MacroFrame_SelectMacro(id)
MacroFrame.selectedMacro = id;
end
function MacroFrame_DeleteMacro()
local selectedMacro = MacroFrame.selectedMacro;
DeleteMacro(selectedMacro);
-- the order of the return values (account macros, character macros) matches up with the IDs of the tabs
local numMacros = select(PanelTemplates_GetSelectedTab(MacroFrame), GetNumMacros());
if ( selectedMacro > numMacros + MacroFrame.macroBase) then
selectedMacro = selectedMacro - 1;
end
if ( selectedMacro <= MacroFrame.macroBase ) then
MacroFrame.selectedMacro = nil;
else
MacroFrame.selectedMacro = selectedMacro;
end
MacroFrame_Update();
MacroFrameText:ClearFocus();
end
function MacroNewButton_OnClick(self, button)
MacroFrame_SaveMacro();
MacroPopupFrame.mode = "new";
MacroPopupFrame:Show();
end
function MacroEditButton_OnClick(self, button)
MacroFrame_SaveMacro();
MacroPopupFrame.mode = "edit";
MacroPopupFrame:Show();
end
function MacroFrame_HideDetails()
MacroEditButton:Hide();
MacroFrameCharLimitText:Hide();
MacroFrameText:Hide();
MacroFrameSelectedMacroName:Hide();
MacroFrameSelectedMacroBackground:Hide();
MacroFrameSelectedMacroButton:Hide();
end
function MacroFrame_ShowDetails()
MacroEditButton:Show();
MacroFrameCharLimitText:Show();
MacroFrameEnterMacroText:Show();
MacroFrameText:Show();
MacroFrameSelectedMacroName:Show();
MacroFrameSelectedMacroBackground:Show();
MacroFrameSelectedMacroButton:Show();
end
function MacroButtonContainer_OnLoad(self)
local button;
local maxMacroButtons = max(MAX_ACCOUNT_MACROS, MAX_CHARACTER_MACROS);
for i=1, maxMacroButtons do
button = CreateFrame("CheckButton", "MacroButton"..i, self, "MacroButtonTemplate");
button:SetID(i);
if ( i == 1 ) then
button:SetPoint("TOPLEFT", self, "TOPLEFT", 6, -6);
elseif ( mod(i, NUM_MACROS_PER_ROW) == 1 ) then
button:SetPoint("TOP", "MacroButton"..(i-NUM_MACROS_PER_ROW), "BOTTOM", 0, -10);
else
button:SetPoint("LEFT", "MacroButton"..(i-1), "RIGHT", 13, 0);
end
end
end
function MacroPopupFrame_OnShow(self)
MacroPopupEditBox:SetFocus();
PlaySound("igCharacterInfoOpen");
MacroPopupFrame_Update(self);
MacroPopupOkayButton_Update();
if ( self.mode == "new" ) then
MacroFrameText:Hide();
MacroPopupButton_SelectTexture(1);
end
-- Disable Buttons
MacroEditButton:Disable();
MacroDeleteButton:Disable();
MacroNewButton:Disable();
MacroFrameTab1:Disable();
MacroFrameTab2:Disable();
end
function MacroPopupFrame_OnHide(self)
if ( self.mode == "new" ) then
MacroFrameText:Show();
MacroFrameText:SetFocus();
end
-- Enable Buttons
MacroEditButton:Enable();
MacroDeleteButton:Enable();
local numMacros;
local numAccountMacros, numCharacterMacros = GetNumMacros();
if ( MacroFrame.macroBase == 0 ) then
numMacros = numAccountMacros;
else
numMacros = numCharacterMacros;
end
if ( numMacros < MacroFrame.macroMax ) then
MacroNewButton:Enable();
end
-- Enable tabs
PanelTemplates_UpdateTabs(MacroFrame);
end
function MacroPopupFrame_Update(self)
self = self or MacroPopupFrame;
local numMacroIcons = GetNumMacroIcons();
local macroPopupIcon, macroPopupButton;
local macroPopupOffset = FauxScrollFrame_GetOffset(MacroPopupScrollFrame);
local index;
-- Determine whether we're creating a new macro or editing an existing one
if ( self.mode == "new" ) then
MacroPopupEditBox:SetText("");
elseif ( self.mode == "edit" ) then
local name, texture, body = GetMacroInfo(MacroFrame.selectedMacro);
MacroPopupEditBox:SetText(name);
end
-- Icon list
local texture;
for i=1, NUM_MACRO_ICONS_SHOWN do
macroPopupIcon = _G["MacroPopupButton"..i.."Icon"];
macroPopupButton = _G["MacroPopupButton"..i];
index = (macroPopupOffset * NUM_ICONS_PER_ROW) + i;
texture = GetMacroIconInfo(index);
if ( index <= numMacroIcons ) then
macroPopupIcon:SetTexture(texture);
macroPopupButton:Show();
else
macroPopupIcon:SetTexture("");
macroPopupButton:Hide();
end
if ( MacroPopupFrame.selectedIcon and (index == MacroPopupFrame.selectedIcon) ) then
macroPopupButton:SetChecked(1);
elseif ( MacroPopupFrame.selectedIconTexture == texture ) then
macroPopupButton:SetChecked(1);
else
macroPopupButton:SetChecked(nil);
end
end
-- Scrollbar stuff
FauxScrollFrame_Update(MacroPopupScrollFrame, ceil(numMacroIcons / NUM_ICONS_PER_ROW) , NUM_ICON_ROWS, MACRO_ICON_ROW_HEIGHT );
end
function MacroPopupFrame_CancelEdit()
MacroPopupFrame:Hide();
MacroFrame_Update();
MacroPopupFrame.selectedIcon = nil;
end
function MacroPopupOkayButton_Update()
if ( (strlen(MacroPopupEditBox:GetText()) > 0) and MacroPopupFrame.selectedIcon ) then
MacroPopupOkayButton:Enable();
else
MacroPopupOkayButton:Disable();
end
if ( MacroPopupFrame.mode == "edit" and (strlen(MacroPopupEditBox:GetText()) > 0) ) then
MacroPopupOkayButton:Enable();
end
end
function MacroPopupButton_SelectTexture(selectedIcon)
MacroPopupFrame.selectedIcon = selectedIcon;
-- Clear out selected texture
MacroPopupFrame.selectedIconTexture = nil;
MacroFrameSelectedMacroButtonIcon:SetTexture(GetMacroIconInfo(MacroPopupFrame.selectedIcon));
MacroPopupOkayButton_Update();
local mode = MacroPopupFrame.mode;
MacroPopupFrame.mode = nil;
MacroPopupFrame_Update(MacroPopupFrame);
MacroPopupFrame.mode = mode;
end
function MacroPopupButton_OnClick(self, button)
MacroPopupButton_SelectTexture(self:GetID() + (FauxScrollFrame_GetOffset(MacroPopupScrollFrame) * NUM_ICONS_PER_ROW));
end
function MacroPopupOkayButton_OnClick(self, button)
local index = 1
if ( MacroPopupFrame.mode == "new" ) then
index = CreateMacro(MacroPopupEditBox:GetText(), MacroPopupFrame.selectedIcon, nil, (MacroFrame.macroBase > 0));
elseif ( MacroPopupFrame.mode == "edit" ) then
index = EditMacro(MacroFrame.selectedMacro, MacroPopupEditBox:GetText(), MacroPopupFrame.selectedIcon);
end
MacroPopupFrame:Hide();
MacroFrame_SelectMacro(index);
MacroFrame_Update();
end
function MacroFrame_SaveMacro()
if ( MacroFrame.textChanged and MacroFrame.selectedMacro ) then
EditMacro(MacroFrame.selectedMacro, nil, nil, MacroFrameText:GetText());
MacroFrame.textChanged = nil;
end
end
@@ -0,0 +1,6 @@
## Interface: 30300
## Title: Blizzard Macro UI
## Secure: 1
## LoadOnDemand: 1
Blizzard_MacroUI.xml
Localization.lua
@@ -0,0 +1,840 @@
<Ui xmlns="http://www.blizzard.com/wow/ui/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.blizzard.com/wow/ui/
..\..\FrameXML\UI.xsd">
<Script file="Blizzard_MacroUI.lua"/>
<CheckButton name="MacroButtonTemplate" inherits="PopupButtonTemplate" virtual="true">
<Scripts>
<OnLoad>
self:RegisterForDrag("LeftButton");
</OnLoad>
<OnClick>
MacroButton_OnClick(self, button, down);
</OnClick>
<OnDragStart>
PickupMacro(MacroFrame.macroBase + self:GetID());
</OnDragStart>
</Scripts>
</CheckButton>
<CheckButton name="MacroPopupButtonTemplate" inherits="SimplePopupButtonTemplate" virtual="true">
<Scripts>
<OnClick>
MacroPopupButton_OnClick(self, button, down);
</OnClick>
</Scripts>
<NormalTexture name="$parentIcon" nonBlocking="true">
<Size>
<AbsDimension x="36" y="36"/>
</Size>
<Anchors>
<Anchor point="CENTER">
<Offset>
<AbsDimension x="0" y="-1"/>
</Offset>
</Anchor>
</Anchors>
</NormalTexture>
<HighlightTexture alphaMode="ADD" file="Interface\Buttons\ButtonHilight-Square"/>
<CheckedTexture alphaMode="ADD" file="Interface\Buttons\CheckButtonHilight"/>
</CheckButton>
<Frame name="MacroFrame" toplevel="true" movable="true" parent="UIParent" enableMouse="true" hidden="true">
<Size>
<AbsDimension x="384" y="512"/>
</Size>
<Anchors>
<Anchor point="TOPLEFT">
<Offset>
<AbsDimension x="0" y="-104"/>
</Offset>
</Anchor>
</Anchors>
<HitRectInsets>
<AbsInset left="0" right="34" top="0" bottom="75"/>
</HitRectInsets>
<Layers>
<Layer level="BACKGROUND">
<Texture name="MacroFramePortrait" file="Interface\MacroFrame\MacroFrame-Icon">
<Size>
<AbsDimension x="60" y="60"/>
</Size>
<Anchors>
<Anchor point="TOPLEFT">
<Offset>
<AbsDimension x="7" y="-6"/>
</Offset>
</Anchor>
</Anchors>
</Texture>
</Layer>
<Layer level="BORDER">
<Texture file="Interface\PaperDollInfoFrame\UI-Character-General-TopLeft">
<Size>
<AbsDimension x="256" y="256"/>
</Size>
<Anchors>
<Anchor point="TOPLEFT"/>
</Anchors>
</Texture>
<Texture file="Interface\PaperDollInfoFrame\UI-Character-General-TopRight">
<Size>
<AbsDimension x="128" y="256"/>
</Size>
<Anchors>
<Anchor point="TOPRIGHT"/>
</Anchors>
</Texture>
<Texture file="Interface\MacroFrame\MacroFrame-BotLeft">
<Size>
<AbsDimension x="256" y="256"/>
</Size>
<Anchors>
<Anchor point="BOTTOMLEFT"/>
</Anchors>
</Texture>
<Texture file="Interface\MacroFrame\MacroFrame-BotRight">
<Size>
<AbsDimension x="128" y="256"/>
</Size>
<Anchors>
<Anchor point="BOTTOMRIGHT"/>
</Anchors>
</Texture>
<FontString inherits="GameFontNormal" text="CREATE_MACROS">
<Anchors>
<Anchor point="TOP" relativeTo="MacroFrame">
<Offset>
<AbsDimension x="0" y="-17"/>
</Offset>
</Anchor>
</Anchors>
</FontString>
</Layer>
<Layer level="ARTWORK">
<Texture name="MacroHorizontalBarLeft" file="Interface\ClassTrainerFrame\UI-ClassTrainer-HorizontalBar">
<Size>
<AbsDimension x="256" y="16"/>
</Size>
<Anchors>
<Anchor point="TOPLEFT">
<Offset>
<AbsDimension x="15" y="-220"/>
</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="MacroHorizontalBarLeft" relativePoint="RIGHT">
<Offset>
<AbsDimension x="0" y="0"/>
</Offset>
</Anchor>
</Anchors>
<TexCoords left="0" right="0.29296875" top="0.25" bottom="0.5"/>
</Texture>
<Texture name="MacroFrameSelectedMacroBackground" file="Interface\Buttons\UI-EmptySlot">
<Size>
<AbsDimension x="64" y="64"/>
</Size>
<Anchors>
<Anchor point="TOPLEFT">
<Offset>
<AbsDimension x="16" y="-228"/>
</Offset>
</Anchor>
</Anchors>
</Texture>
<FontString name="MacroFrameSelectedMacroName" inherits="GameFontNormalLarge" justifyH="LEFT">
<Size>
<AbsDimension x="256" y="16"/>
</Size>
<Anchors>
<Anchor point="TOPLEFT" relativeTo="MacroFrameSelectedMacroBackground" relativePoint="TOPRIGHT">
<Offset>
<AbsDimension x="-4" y="-10"/>
</Offset>
</Anchor>
</Anchors>
</FontString>
<FontString name="MacroFrameEnterMacroText" inherits="GameFontHighlightSmall" text="ENTER_MACRO_LABEL">
<Anchors>
<Anchor point="TOPLEFT" relativeTo="MacroFrameSelectedMacroBackground" relativePoint="BOTTOMLEFT">
<Offset>
<AbsDimension x="8" y="0"/>
</Offset>
</Anchor>
</Anchors>
</FontString>
<FontString name="MacroFrameCharLimitText" inherits="GameFontHighlightSmall">
<Size>
<AbsDimension x="0" y="10"/>
</Size>
<Anchors>
<Anchor point="BOTTOM">
<Offset>
<AbsDimension x="-15" y="105"/>
</Offset>
</Anchor>
</Anchors>
</FontString>
</Layer>
</Layers>
<Frames>
<CheckButton name="MacroFrameSelectedMacroButton" frameStrata="HIGH" inherits="MacroButtonTemplate" id="0">
<Anchors>
<Anchor point="TOPLEFT" relativeTo="MacroFrameSelectedMacroBackground">
<Offset>
<AbsDimension x="14" y="-14"/>
</Offset>
</Anchor>
</Anchors>
<Scripts>
<OnClick>
self:SetChecked(nil);
PickupMacro(MacroFrame.selectedMacro);
</OnClick>
</Scripts>
</CheckButton>
<ScrollFrame name="MacroButtonScrollFrame" inherits="UIPanelScrollFrameTemplate">
<Size x="294" y="146"/>
<Anchors>
<Anchor point="TOPLEFT">
<Offset x="23" y="-76"/>
</Anchor>
</Anchors>
<Layers>
<Layer level="ARTWORK">
<Texture name="$parentTop" file="Interface\PaperDollInfoFrame\UI-Character-ScrollBar">
<Size>
<AbsDimension x="31" y="102"/>
</Size>
<Anchors>
<Anchor point="TOPLEFT" relativePoint="TOPRIGHT">
<Offset>
<AbsDimension x="-2" y="5"/>
</Offset>
</Anchor>
</Anchors>
<TexCoords left="0" right="0.484375" top="0" bottom="0.4"/>
</Texture>
<Texture name="$parentBottom" file="Interface\PaperDollInfoFrame\UI-Character-ScrollBar">
<Size>
<AbsDimension x="31" y="106"/>
</Size>
<Anchors>
<Anchor point="BOTTOMLEFT" relativePoint="BOTTOMRIGHT">
<Offset>
<AbsDimension x="-2" y="-2"/>
</Offset>
</Anchor>
</Anchors>
<TexCoords left="0.515625" right="1.0" top="0" bottom="0.4140625"/>
</Texture>
<Texture name="$parentMiddle" file="Interface\PaperDollInfoFrame\UI-Character-ScrollBar">
<Size>
<AbsDimension x="31" y="1"/>
</Size>
<Anchors>
<Anchor point="TOP" relativeTo="$parentTop" relativePoint="BOTTOM"/>
<Anchor point="BOTTOM" relativeTo="$parentBottom" relativePoint="TOP"/>
</Anchors>
<TexCoords left="0" right="0.484375" top=".75" bottom="1.0"/>
</Texture>
</Layer>
</Layers>
<Scripts>
<OnLoad function="ScrollFrame_OnLoad"/>
</Scripts>
<ScrollChild>
<Frame name="MacroButtonContainer">
<Size x="285" y="10"/>
<Anchors>
<Anchor point="TOPLEFT"/>
</Anchors>
<Scripts>
<OnLoad function="MacroButtonContainer_OnLoad"/>
</Scripts>
</Frame>
</ScrollChild>
</ScrollFrame>
<Button name="MacroEditButton" frameStrata="HIGH" inherits="UIPanelButtonTemplate" text="CHANGE_MACRO_NAME_ICON">
<Size>
<AbsDimension x="170" y="22"/>
</Size>
<Anchors>
<Anchor point="TOPLEFT" relativeTo="MacroFrameSelectedMacroBackground">
<Offset>
<AbsDimension x="51" y="-30"/>
</Offset>
</Anchor>
</Anchors>
<Scripts>
<OnClick function="MacroEditButton_OnClick"/>
</Scripts>
</Button>
<ScrollFrame name="MacroFrameScrollFrame" inherits="UIPanelScrollFrameTemplate">
<Size>
<AbsDimension x="286" y="85"/>
</Size>
<Anchors>
<Anchor point="TOPLEFT" relativeTo="MacroFrameSelectedMacroBackground" relativePoint="BOTTOMLEFT">
<Offset>
<AbsDimension x="11" y="-18"/>
</Offset>
</Anchor>
</Anchors>
<ScrollChild>
<EditBox name="MacroFrameText" multiLine="true" letters="255" autoFocus="false" countInvisibleLetters="true">
<Size>
<AbsDimension x="286" y="85"/>
</Size>
<Scripts>
<OnTextChanged>
MacroFrame.textChanged = 1;
if ( MacroPopupFrame.mode == "new" ) then
MacroPopupFrame:Hide();
end
MacroFrameCharLimitText:SetFormattedText(MACROFRAME_CHAR_LIMIT, MacroFrameText:GetNumLetters());
ScrollingEdit_OnTextChanged(self, self:GetParent());
</OnTextChanged>
<OnCursorChanged function="ScrollingEdit_OnCursorChanged"/>
<OnUpdate>
ScrollingEdit_OnUpdate(self, elapsed, self:GetParent());
</OnUpdate>
<OnEscapePressed function="EditBox_ClearFocus"/>
</Scripts>
<FontString inherits="GameFontHighlightSmall"/>
</EditBox>
</ScrollChild>
</ScrollFrame>
<Button name="MacroFrameTextButton">
<Size>
<AbsDimension x="286" y="85"/>
</Size>
<Anchors>
<Anchor point="TOPLEFT" relativeTo="MacroFrameText"/>
</Anchors>
<Scripts>
<OnClick>
MacroFrameText:SetFocus();
</OnClick>
</Scripts>
</Button>
<Frame name="MacroFrameTextBackground">
<Size>
<AbsDimension x="322" y="95"/>
</Size>
<Anchors>
<Anchor point="TOPLEFT" relativeTo="MacroFrame">
<Offset>
<AbsDimension x="18" y="-305"/>
</Offset>
</Anchor>
</Anchors>
<Backdrop bgFile="Interface\Tooltips\UI-Tooltip-Background" edgeFile="Interface\Tooltips\UI-Tooltip-Border" tile="true">
<EdgeSize>
<AbsValue val="16"/>
</EdgeSize>
<TileSize>
<AbsValue val="16"/>
</TileSize>
<BackgroundInsets>
<AbsInset left="5" right="5" top="5" bottom="5"/>
</BackgroundInsets>
</Backdrop>
<Scripts>
<OnLoad>
self:SetBackdropBorderColor(TOOLTIP_DEFAULT_COLOR.r, TOOLTIP_DEFAULT_COLOR.g, TOOLTIP_DEFAULT_COLOR.b);
self:SetBackdropColor(TOOLTIP_DEFAULT_BACKGROUND_COLOR.r, TOOLTIP_DEFAULT_BACKGROUND_COLOR.g, TOOLTIP_DEFAULT_BACKGROUND_COLOR.b);
</OnLoad>
</Scripts>
</Frame>
<Button name="MacroFrameTab1" inherits="TabButtonTemplate" text="GENERAL_MACROS" id="1">
<Anchors>
<Anchor point="TOPLEFT">
<Offset>
<AbsDimension x="65" y="-39"/>
</Offset>
</Anchor>
</Anchors>
<Scripts>
<OnLoad>
PanelTemplates_TabResize(self, -15);
_G[self:GetName().."HighlightTexture"]:SetWidth(self:GetTextWidth() + 31);
</OnLoad>
<OnClick>
PanelTemplates_SetTab(MacroFrame, self:GetID());
MacroFrame_SaveMacro();
MacroFrame_SetAccountMacros();
MacroFrame_Update();
MacroButtonScrollFrame:SetVerticalScroll(0);
</OnClick>
</Scripts>
</Button>
<Button name="MacroFrameTab2" inherits="TabButtonTemplate" id="2">
<Anchors>
<Anchor point="LEFT" relativeTo="MacroFrameTab1" relativePoint="RIGHT">
<Offset>
<AbsDimension x="0" y="0"/>
</Offset>
</Anchor>
</Anchors>
<Scripts>
<OnLoad>
self:SetFormattedText(CHARACTER_SPECIFIC_MACROS, UnitName("player"));
_G[self:GetName().."HighlightTexture"]:SetWidth(self:GetTextWidth() + 31);
PanelTemplates_TabResize(self, -15, nil, 150);
</OnLoad>
<OnClick>
PanelTemplates_SetTab(MacroFrame, self:GetID());
MacroFrame_SaveMacro();
MacroFrame_SetCharacterMacros();
MacroFrame_Update();
MacroButtonScrollFrame:SetVerticalScroll(0);
</OnClick>
</Scripts>
</Button>
<Button name="MacroDeleteButton" inherits="UIPanelButtonGrayTemplate" text="DELETE">
<Size>
<AbsDimension x="80" y="22"/>
</Size>
<Anchors>
<Anchor point="BOTTOMLEFT" relativeTo="MacroFrame">
<Offset>
<AbsDimension x="17" y="79"/>
</Offset>
</Anchor>
</Anchors>
<Scripts>
<OnClick>
MacroFrame_DeleteMacro();
</OnClick>
</Scripts>
</Button>
<Button name="MacroNewButton" inherits="UIPanelButtonTemplate" text="NEW">
<Size>
<AbsDimension x="80" y="22"/>
</Size>
<Anchors>
<Anchor point="CENTER" relativeTo="MacroFrame" relativePoint="TOPLEFT">
<Offset>
<AbsDimension x="222" y="-422"/>
</Offset>
</Anchor>
</Anchors>
<Scripts>
<OnClick function="MacroNewButton_OnClick"/>
</Scripts>
</Button>
<Button name="MacroExitButton" inherits="UIPanelButtonTemplate" text="EXIT">
<Size>
<AbsDimension x="80" y="22"/>
</Size>
<Anchors>
<Anchor point="CENTER" relativeTo="MacroFrame" relativePoint="TOPLEFT">
<Offset>
<AbsDimension x="303" y="-422"/>
</Offset>
</Anchor>
</Anchors>
<Scripts>
<OnClick function="HideParentPanel"/>
</Scripts>
</Button>
<Button name="MacroFrameCloseButton" inherits="UIPanelCloseButton">
<Anchors>
<Anchor point="TOPRIGHT" relativeTo="MacroFrame" relativePoint="TOPRIGHT">
<Offset>
<AbsDimension x="-29" y="-8"/>
</Offset>
</Anchor>
</Anchors>
</Button>
</Frames>
<Scripts>
<OnLoad function="MacroFrame_OnLoad"/>
<OnShow function="MacroFrame_OnShow"/>
<OnHide function="MacroFrame_OnHide"/>
</Scripts>
</Frame>
<Frame name="MacroPopupFrame" toplevel="true" parent="UIParent" movable="true" enableMouse="true" hidden="true">
<Size>
<AbsDimension x="297" y="298"/>
</Size>
<Anchors>
<Anchor point="TOPLEFT" relativeTo="MacroFrame" relativePoint="TOPRIGHT">
<Offset>
<AbsDimension x="-40" y="-40"/>
</Offset>
</Anchor>
</Anchors>
<Layers>
<Layer level="BACKGROUND">
<Texture file="Interface\MacroFrame\MacroPopup-TopLeft">
<Size>
<AbsDimension x="256" y="256"/>
</Size>
<Anchors>
<Anchor point="TOPLEFT"/>
</Anchors>
</Texture>
<Texture file="Interface\MacroFrame\MacroPopup-TopRight">
<Size>
<AbsDimension x="64" y="256"/>
</Size>
<Anchors>
<Anchor point="TOPLEFT">
<Offset>
<AbsDimension x="256" y="0"/>
</Offset>
</Anchor>
</Anchors>
</Texture>
<Texture file="Interface\MacroFrame\MacroPopup-BotLeft">
<Size>
<AbsDimension x="256" y="64"/>
</Size>
<Anchors>
<Anchor point="TOPLEFT">
<Offset>
<AbsDimension x="0" y="-256"/>
</Offset>
</Anchor>
</Anchors>
</Texture>
<Texture file="Interface\MacroFrame\MacroPopup-BotRight">
<Size>
<AbsDimension x="64" y="64"/>
</Size>
<Anchors>
<Anchor point="TOPLEFT">
<Offset>
<AbsDimension x="256" y="-256"/>
</Offset>
</Anchor>
</Anchors>
</Texture>
<FontString inherits="GameFontHighlightSmall" text="MACRO_POPUP_TEXT">
<Anchors>
<Anchor point="TOPLEFT">
<Offset>
<AbsDimension x="24" y="-21"/>
</Offset>
</Anchor>
</Anchors>
</FontString>
<FontString inherits="GameFontHighlightSmall" text="MACRO_POPUP_CHOOSE_ICON">
<Anchors>
<Anchor point="TOPLEFT">
<Offset>
<AbsDimension x="24" y="-69"/>
</Offset>
</Anchor>
</Anchors>
</FontString>
</Layer>
</Layers>
<Frames>
<EditBox name="MacroPopupEditBox" letters="16" historyLines="0">
<Size>
<AbsDimension x="182" y="20"/>
</Size>
<Anchors>
<Anchor point="TOPLEFT">
<Offset>
<AbsDimension x="29" y="-35"/>
</Offset>
</Anchor>
</Anchors>
<Layers>
<Layer level="BACKGROUND">
<Texture name="MacroPopupNameLeft" file="Interface\ClassTrainerFrame\UI-ClassTrainer-FilterBorder">
<Size>
<AbsDimension x="12" y="29"/>
</Size>
<Anchors>
<Anchor point="TOPLEFT">
<Offset>
<AbsDimension x="-11" y="0"/>
</Offset>
</Anchor>
</Anchors>
<TexCoords left="0" right="0.09375" top="0" bottom="1.0"/>
</Texture>
<Texture name="MacroPopupNameMiddle" file="Interface\ClassTrainerFrame\UI-ClassTrainer-FilterBorder">
<Size>
<AbsDimension x="175" y="29"/>
</Size>
<Anchors>
<Anchor point="LEFT" relativeTo="MacroPopupNameLeft" relativePoint="RIGHT"/>
</Anchors>
<TexCoords left="0.09375" right="0.90625" top="0" bottom="1.0"/>
</Texture>
<Texture name="MacroPopupNameRight" file="Interface\ClassTrainerFrame\UI-ClassTrainer-FilterBorder">
<Size>
<AbsDimension x="12" y="29"/>
</Size>
<Anchors>
<Anchor point="LEFT" relativeTo="MacroPopupNameMiddle" relativePoint="RIGHT"/>
</Anchors>
<TexCoords left="0.90625" right="1.0" top="0" bottom="1.0"/>
</Texture>
</Layer>
</Layers>
<Scripts>
<OnTextChanged>
MacroPopupOkayButton_Update();
MacroFrameSelectedMacroName:SetText(self:GetText());
</OnTextChanged>
<OnEscapePressed function="MacroPopupFrame_CancelEdit"/>
<OnEnterPressed>
if ( MacroPopupOkayButton:IsEnabled() ~= 0 ) then
MacroPopupOkayButton_OnClick(MacroPopupOkayButton);
end
</OnEnterPressed>
</Scripts>
<FontString inherits="ChatFontNormal"/>
</EditBox>
<ScrollFrame name="MacroPopupScrollFrame" inherits="ClassTrainerListScrollFrameTemplate">
<Size>
<AbsDimension x="296" y="195"/>
</Size>
<Anchors>
<Anchor point="TOPRIGHT" relativeTo="MacroPopupFrame" relativePoint="TOPRIGHT">
<Offset>
<AbsDimension x="-39" y="-67"/>
</Offset>
</Anchor>
</Anchors>
<Scripts>
<OnVerticalScroll>
FauxScrollFrame_OnVerticalScroll(self, offset, MACRO_ICON_ROW_HEIGHT, MacroPopupFrame_Update);
</OnVerticalScroll>
</Scripts>
</ScrollFrame>
<CheckButton name="MacroPopupButton1" inherits="MacroPopupButtonTemplate" id="1">
<Anchors>
<Anchor point="TOPLEFT">
<Offset>
<AbsDimension x="24" y="-85"/>
</Offset>
</Anchor>
</Anchors>
</CheckButton>
<CheckButton name="MacroPopupButton2" inherits="MacroPopupButtonTemplate" id="2">
<Anchors>
<Anchor point="LEFT" relativeTo="MacroPopupButton1" relativePoint="RIGHT">
<Offset>
<AbsDimension x="10" y="0"/>
</Offset>
</Anchor>
</Anchors>
</CheckButton>
<CheckButton name="MacroPopupButton3" inherits="MacroPopupButtonTemplate" id="3">
<Anchors>
<Anchor point="LEFT" relativeTo="MacroPopupButton2" relativePoint="RIGHT">
<Offset>
<AbsDimension x="10" y="0"/>
</Offset>
</Anchor>
</Anchors>
</CheckButton>
<CheckButton name="MacroPopupButton4" inherits="MacroPopupButtonTemplate" id="4">
<Anchors>
<Anchor point="LEFT" relativeTo="MacroPopupButton3" relativePoint="RIGHT">
<Offset>
<AbsDimension x="10" y="0"/>
</Offset>
</Anchor>
</Anchors>
</CheckButton>
<CheckButton name="MacroPopupButton5" inherits="MacroPopupButtonTemplate" id="5">
<Anchors>
<Anchor point="LEFT" relativeTo="MacroPopupButton4" relativePoint="RIGHT">
<Offset>
<AbsDimension x="10" y="0"/>
</Offset>
</Anchor>
</Anchors>
</CheckButton>
<CheckButton name="MacroPopupButton6" inherits="MacroPopupButtonTemplate" id="6">
<Anchors>
<Anchor point="TOPLEFT" relativeTo="MacroPopupButton1" relativePoint="BOTTOMLEFT">
<Offset>
<AbsDimension x="0" y="-8"/>
</Offset>
</Anchor>
</Anchors>
</CheckButton>
<CheckButton name="MacroPopupButton7" inherits="MacroPopupButtonTemplate" id="7">
<Anchors>
<Anchor point="LEFT" relativeTo="MacroPopupButton6" relativePoint="RIGHT">
<Offset>
<AbsDimension x="10" y="0"/>
</Offset>
</Anchor>
</Anchors>
</CheckButton>
<CheckButton name="MacroPopupButton8" inherits="MacroPopupButtonTemplate" id="8">
<Anchors>
<Anchor point="LEFT" relativeTo="MacroPopupButton7" relativePoint="RIGHT">
<Offset>
<AbsDimension x="10" y="0"/>
</Offset>
</Anchor>
</Anchors>
</CheckButton>
<CheckButton name="MacroPopupButton9" inherits="MacroPopupButtonTemplate" id="9">
<Anchors>
<Anchor point="LEFT" relativeTo="MacroPopupButton8" relativePoint="RIGHT">
<Offset>
<AbsDimension x="10" y="0"/>
</Offset>
</Anchor>
</Anchors>
</CheckButton>
<CheckButton name="MacroPopupButton10" inherits="MacroPopupButtonTemplate" id="10">
<Anchors>
<Anchor point="LEFT" relativeTo="MacroPopupButton9" relativePoint="RIGHT">
<Offset>
<AbsDimension x="10" y="0"/>
</Offset>
</Anchor>
</Anchors>
</CheckButton>
<CheckButton name="MacroPopupButton11" inherits="MacroPopupButtonTemplate" id="11">
<Anchors>
<Anchor point="TOPLEFT" relativeTo="MacroPopupButton6" relativePoint="BOTTOMLEFT">
<Offset>
<AbsDimension x="0" y="-8"/>
</Offset>
</Anchor>
</Anchors>
</CheckButton>
<CheckButton name="MacroPopupButton12" inherits="MacroPopupButtonTemplate" id="12">
<Anchors>
<Anchor point="LEFT" relativeTo="MacroPopupButton11" relativePoint="RIGHT">
<Offset>
<AbsDimension x="10" y="0"/>
</Offset>
</Anchor>
</Anchors>
</CheckButton>
<CheckButton name="MacroPopupButton13" inherits="MacroPopupButtonTemplate" id="13">
<Anchors>
<Anchor point="LEFT" relativeTo="MacroPopupButton12" relativePoint="RIGHT">
<Offset>
<AbsDimension x="10" y="0"/>
</Offset>
</Anchor>
</Anchors>
</CheckButton>
<CheckButton name="MacroPopupButton14" inherits="MacroPopupButtonTemplate" id="14">
<Anchors>
<Anchor point="LEFT" relativeTo="MacroPopupButton13" relativePoint="RIGHT">
<Offset>
<AbsDimension x="10" y="0"/>
</Offset>
</Anchor>
</Anchors>
</CheckButton>
<CheckButton name="MacroPopupButton15" inherits="MacroPopupButtonTemplate" id="15">
<Anchors>
<Anchor point="LEFT" relativeTo="MacroPopupButton14" relativePoint="RIGHT">
<Offset>
<AbsDimension x="10" y="0"/>
</Offset>
</Anchor>
</Anchors>
</CheckButton>
<CheckButton name="MacroPopupButton16" inherits="MacroPopupButtonTemplate" id="16">
<Anchors>
<Anchor point="TOPLEFT" relativeTo="MacroPopupButton11" relativePoint="BOTTOMLEFT">
<Offset>
<AbsDimension x="0" y="-8"/>
</Offset>
</Anchor>
</Anchors>
</CheckButton>
<CheckButton name="MacroPopupButton17" inherits="MacroPopupButtonTemplate" id="17">
<Anchors>
<Anchor point="LEFT" relativeTo="MacroPopupButton16" relativePoint="RIGHT">
<Offset>
<AbsDimension x="10" y="0"/>
</Offset>
</Anchor>
</Anchors>
</CheckButton>
<CheckButton name="MacroPopupButton18" inherits="MacroPopupButtonTemplate" id="18">
<Anchors>
<Anchor point="LEFT" relativeTo="MacroPopupButton17" relativePoint="RIGHT">
<Offset>
<AbsDimension x="10" y="0"/>
</Offset>
</Anchor>
</Anchors>
</CheckButton>
<CheckButton name="MacroPopupButton19" inherits="MacroPopupButtonTemplate" id="19">
<Anchors>
<Anchor point="LEFT" relativeTo="MacroPopupButton18" relativePoint="RIGHT">
<Offset>
<AbsDimension x="10" y="0"/>
</Offset>
</Anchor>
</Anchors>
</CheckButton>
<CheckButton name="MacroPopupButton20" inherits="MacroPopupButtonTemplate" id="20">
<Anchors>
<Anchor point="LEFT" relativeTo="MacroPopupButton19" relativePoint="RIGHT">
<Offset>
<AbsDimension x="10" y="0"/>
</Offset>
</Anchor>
</Anchors>
</CheckButton>
<Button name="MacroPopupCancelButton" inherits="UIPanelButtonTemplate" text="CANCEL">
<Size>
<AbsDimension x="78" y="22"/>
</Size>
<Anchors>
<Anchor point="BOTTOMRIGHT" relativeTo="MacroPopupFrame">
<Offset>
<AbsDimension x="-11" y="13"/>
</Offset>
</Anchor>
</Anchors>
<Scripts>
<OnClick>
MacroPopupFrame_CancelEdit();
PlaySound("gsTitleOptionOK");
</OnClick>
</Scripts>
</Button>
<Button name="MacroPopupOkayButton" inherits="UIPanelButtonTemplate" text="OKAY">
<Size>
<AbsDimension x="78" y="22"/>
</Size>
<Anchors>
<Anchor point="RIGHT" relativeTo="MacroPopupCancelButton" relativePoint="LEFT">
<Offset>
<AbsDimension x="-2" y="0"/>
</Offset>
</Anchor>
</Anchors>
<Scripts>
<OnClick>
MacroPopupOkayButton_OnClick();
PlaySound("gsTitleOptionOK");
</OnClick>
</Scripts>
</Button>
</Frames>
<Scripts>
<OnShow function="MacroPopupFrame_OnShow"/>
<OnHide function="MacroPopupFrame_OnHide"/>
</Scripts>
</Frame>
</Ui>
@@ -0,0 +1 @@
-- This file is executed at the end of addon load