Files
coa-weakauras/WeakAuras/Templates.lua
T
2025-10-15 22:49:42 +02:00

476 lines
20 KiB
Lua

if not WeakAuras.IsLibsOK() then return end
local AddonName = ...
local Private = select(2, ...)
local function setCorner(corner, point, relativeTo, x, y, width, height)
corner:ClearAllPoints()
corner:SetPoint(point, relativeTo, x, y)
corner:SetSize(width, height)
end
local function setEdge(edge, point1, relativeTo1, point2, relativeTo2, width, height)
edge:ClearAllPoints()
edge:SetSize(width, height)
edge:SetPoint(point1, relativeTo1, point2, 0, 0)
edge:SetPoint(point2, relativeTo2, point1, 0, 0)
end
local function UpdateNineSliceBorders(frame)
local NineSlice = frame.NineSlice
local PortaitMode = frame:GetFrameLayoutType() == "PortraitMode"
local topLeftCorner = PortaitMode and NineSlice.TopLeftCorner or NineSlice.TopLeftCornerNoPortrait
local topEdgeRelativeTo = PortaitMode and NineSlice.TopLeftCorner or NineSlice.TopLeftCornerNoPortrait
local leftEdgeRelativeTo = PortaitMode and NineSlice.TopLeftCorner or NineSlice.TopLeftCornerNoPortrait
-- Top Left Corner
setCorner(topLeftCorner, "TOPLEFT", NineSlice, -13, 16, 75, 75)
-- Top Right Corner
setCorner(NineSlice.TopRightCorner, "TOPRIGHT", NineSlice, 4, 16, 75, 75)
-- Bottom Left Corner
setCorner(NineSlice.BottomLeftCorner, "BOTTOMLEFT", NineSlice, -13, -3, 32, 32)
-- Bottom Right Corner
setCorner(NineSlice.BottomRightCorner, "BOTTOMRIGHT", NineSlice, 4, -3, 32, 32)
-- Top Edge
setEdge(NineSlice.TopEdge, "TOPLEFT", topEdgeRelativeTo, "TOPRIGHT", NineSlice.TopRightCorner, 32, 75)
-- Bottom Edge
setEdge(NineSlice.BottomEdge, "BOTTOMLEFT", NineSlice.BottomLeftCorner, "BOTTOMRIGHT", NineSlice.BottomRightCorner, 32, 32)
-- Left Edge
setEdge(NineSlice.LeftEdge, "TOPLEFT", leftEdgeRelativeTo, "BOTTOMLEFT", NineSlice.BottomLeftCorner, 75, 8)
-- Right Edge
setEdge(NineSlice.RightEdge, "TOPLEFT", NineSlice.TopRightCorner, "BOTTOMLEFT", NineSlice.BottomRightCorner, 75, 8)
end
local function InputBoxInstructions_OnTextChanged(self)
if self:GetText() == "" then
self.Instructions:Show();
else
self.Instructions:Hide();
end
end
local function InputBoxInstructions_UpdateColorForEnabledState(self, color)
if color then
self:SetTextColor(color.r, color.g, color.b, color.a);
end
end
local function InputBoxInstructions_OnDisable(self)
InputBoxInstructions_UpdateColorForEnabledState(self, self.disabledColor);
end
local function InputBoxInstructions_OnEnable(self)
InputBoxInstructions_UpdateColorForEnabledState(self, self.enabledColor);
end
local function SearchBoxTemplate_OnEditFocusLost(self)
if ( self:GetText() == "" ) then
self.searchIcon:SetVertexColor(0.6, 0.6, 0.6);
self.clearButton:Hide();
end
end
local function SearchBoxTemplate_OnEditFocusGained(self)
self.searchIcon:SetVertexColor(1.0, 1.0, 1.0);
self.clearButton:Show();
end
function WA_SearchBoxTemplate_OnTextChanged(self)
if ( not self:HasFocus() and self:GetText() == "" ) then
self.searchIcon:SetVertexColor(0.6, 0.6, 0.6);
self.clearButton:Hide();
else
self.searchIcon:SetVertexColor(1.0, 1.0, 1.0);
self.clearButton:Show();
end
InputBoxInstructions_OnTextChanged(self);
end
local function SearchBoxTemplate_ClearText(self)
self:SetText("");
self:ClearFocus();
end
local function SearchBoxTemplateClearButton_OnClick(self)
PlaySound("igMainMenuOptionCheckBoxOn");
SearchBoxTemplate_ClearText(self:GetParent());
end
local function GetParentName(frame)
return frame:GetName() or frame
end
WeakAuras.XMLTemplates = {
-- InputBoxTemplate (Retail 11.1.7 (61967))
["InputBoxTemplate"] = function(frame)
frame:EnableMouse(true)
-- Left Texture
local left = frame:CreateTexture(nil, "BACKGROUND")
left:SetTexture("Interface\\AddOns\\WeakAuras\\Media\\Textures\\CommonSearch")
left:SetSize(8, 20)
left:SetPoint("LEFT", frame, "LEFT", -5, 0)
left:SetTexCoord(0.886719, 0.949219, 0.335938, 0.648438)
frame.Left = left
-- Right Texture
local right = frame:CreateTexture(nil, "BACKGROUND")
right:SetTexture("Interface\\AddOns\\WeakAuras\\Media\\Textures\\CommonSearch")
right:SetSize(8, 20)
right:SetPoint("RIGHT", frame, "RIGHT", 0, 0)
right:SetTexCoord(0.00390625, 0.0664062, 0.664062, 0.976562)
frame.Right = right
-- Middle Texture (zwischen Left und Right)
local middle = frame:CreateTexture(nil, "BACKGROUND")
middle:SetTexture("Interface\\AddOns\\WeakAuras\\Media\\Textures\\CommonSearch")
middle:SetSize(10, 20)
middle:SetTexCoord(0.00390625, 0.878906, 0.335938, 0.648438)
middle:SetPoint("LEFT", left, "RIGHT")
middle:SetPoint("RIGHT", right, "LEFT")
frame.Middle = middle
-- FontString
frame:SetFontObject("ChatFontNormal")
-- Scripts
frame:SetScript("OnEscapePressed", function(self)
EditBox_ClearFocus(self)
end)
frame:SetScript("OnEditFocusLost", function(self)
EditBox_ClearHighlight(self)
end)
frame:SetScript("OnEditFocusGained", function(self)
EditBox_HighlightText(self)
end)
end,
-- InputBoxInstructionsTemplate (Retail 11.1.7 (61967))
["InputBoxInstructionsTemplate"] = function(frame)
WeakAuras.XMLTemplates["InputBoxTemplate"](frame) -- Inherits from InputBoxTemplate
--[[ Optional
frame.disabledColor = { r = 0.35, g = 0.35, b = 0.35, a = 1 }
frame.enabledColor = { r = 1, g = 1, b = 1, a = 1 }
]]
-- Instructions FontString
local instructions = frame:CreateFontString(nil, "ARTWORK", "GameFontDisableSmall")
instructions:SetJustifyH("LEFT")
instructions:SetJustifyV("MIDDLE")
instructions:SetAllPoints(frame)
instructions:SetTextColor(0.35, 0.35, 0.35)
frame.Instructions = instructions
-- Skripts
frame:SetScript("OnTextChanged", InputBoxInstructions_OnTextChanged)
frame:SetScript("OnDisable", InputBoxInstructions_OnDisable)
frame:SetScript("OnEnable", InputBoxInstructions_OnEnable)
-- FontObject
frame:SetFontObject("GameFontHighlightSmall")
end,
-- SearchBoxTemplate (Retail 11.1.7 (61967))
["SearchBoxTemplate"] = function(frame)
WeakAuras.XMLTemplates["InputBoxInstructionsTemplate"](frame) -- Inherits from InputBoxInstructionsTemplate
frame:SetAutoFocus(false)
frame:SetTextInsets(16, 20, 0, 0);
frame.instructionText = SEARCH
frame.Instructions:SetText(frame.instructionText);
frame.Instructions:ClearAllPoints();
frame.Instructions:SetPoint("TOPLEFT", frame, "TOPLEFT", 16, 0);
frame.Instructions:SetPoint("BOTTOMRIGHT", frame, "BOTTOMRIGHT", -20, 0);
-- Search-Icon
local searchIcon = frame:CreateTexture(GetParentName(frame) .. "SearchIcon", "OVERLAY")
searchIcon:SetTexture("Interface\\AddOns\\WeakAuras\\Media\\Textures\\CommonSearch")
searchIcon:SetSize(10, 10)
searchIcon:SetPoint("LEFT", 1, -1)
searchIcon:SetTexCoord(0.0742188, 0.167969, 0.664062, 0.851562)
searchIcon:SetVertexColor(0.6, 0.6, 0.6);
frame.searchIcon = searchIcon
-- Clear-Button
local clearButton = CreateFrame("Button", GetParentName(frame) .. "ClearButton", frame)
clearButton:SetSize(17, 17)
clearButton:SetPoint("RIGHT", -3, 0)
clearButton:Hide()
frame.clearButton = clearButton
local texture = clearButton:CreateTexture(nil, "ARTWORK")
texture:SetTexture("Interface\\AddOns\\WeakAuras\\Media\\Textures\\CommonSearch")
texture:SetAlpha(0.5)
texture:SetSize(10, 10)
texture:SetPoint("TOPLEFT", 3, -3)
texture:SetTexCoord(0.175781, 0.253906, 0.664062, 0.820312)
clearButton.texture = texture
-- Clear-Button Scripts
clearButton:SetScript("OnEnter", function(self)
self.texture:SetAlpha(1.0)
end)
clearButton:SetScript("OnLeave", function(self)
self.texture:SetAlpha(0.5)
end)
clearButton:SetScript("OnMouseDown", function(self)
if self:IsEnabled() then
self.texture:SetPoint("TOPLEFT", self, "TOPLEFT", 4, -4)
end
end)
clearButton:SetScript("OnMouseUp", function(self)
self.texture:SetPoint("TOPLEFT", self, "TOPLEFT", 3, -3)
end)
clearButton:SetScript("OnClick", SearchBoxTemplateClearButton_OnClick)
-- EditBox Scripts
frame:SetScript("OnEscapePressed", EditBox_ClearFocus)
frame:SetScript("OnEnterPressed", EditBox_ClearFocus)
frame:SetScript("OnEditFocusLost", SearchBoxTemplate_OnEditFocusLost)
frame:SetScript("OnEditFocusGained", SearchBoxTemplate_OnEditFocusGained)
frame:SetScript("OnTextChanged", WA_SearchBoxTemplate_OnTextChanged)
end,
-- PortraitFrameTemplate (Retail 11.1.7 (61967))
-- This is an empty frame with space for a portrait/icon in the top left corner.
["PortraitFrameTemplate"] = function(frame)
frame:SetSize(338, 424)
-- NineSlice Borders
local nineSlice = CreateFrame("Frame", nil, frame)
nineSlice:SetAllPoints(frame)
nineSlice:SetFrameLevel(125)
frame.NineSlice = nineSlice
-- Top Left Corner
local topLeftCorner = nineSlice:CreateTexture(nil, "OVERLAY")
topLeftCorner:SetTexture("Interface\\AddOns\\WeakAuras\\Media\\Textures\\UIFrameMetal2x")
topLeftCorner:SetSize(75, 75)
topLeftCorner:SetPoint("TOPLEFT", frame, "TOPLEFT", -13, 16)
topLeftCorner:SetTexCoord(0.00195312, 0.294922, 0.298828, 0.591797)
nineSlice.TopLeftCorner = topLeftCorner
-- Top Left Corner No Portrait
local topLeftCornerNoPortrait = nineSlice:CreateTexture(nil, "OVERLAY")
topLeftCornerNoPortrait:SetTexture("Interface\\AddOns\\WeakAuras\\Media\\Textures\\UIFrameMetal2x")
topLeftCornerNoPortrait:SetSize(75, 75)
topLeftCornerNoPortrait:SetPoint("TOPLEFT", frame, "TOPLEFT", -8, 16)
topLeftCornerNoPortrait:SetTexCoord(0.00195312, 0.294922, 0.00195312, 0.294922)
topLeftCornerNoPortrait:Hide()
nineSlice.TopLeftCornerNoPortrait = topLeftCornerNoPortrait
-- Top Right Corner
local topRightCorner = nineSlice:CreateTexture(nil, "OVERLAY")
topRightCorner:SetTexture("Interface\\AddOns\\WeakAuras\\Media\\Textures\\UIFrameMetal2x")
topRightCorner:SetSize(75, 75)
topRightCorner:SetPoint("TOPRIGHT", frame, "TOPRIGHT", 4, 16)
topRightCorner:SetTexCoord(0.298828, 0.591797, 0.00195312, 0.294922)
nineSlice.TopRightCorner = topRightCorner
-- Bottom Left Corner
local bottomLeftCorner = nineSlice:CreateTexture(nil, "OVERLAY")
bottomLeftCorner:SetTexture("Interface\\AddOns\\WeakAuras\\Media\\Textures\\UIFrameMetal2x")
bottomLeftCorner:SetSize(32, 32)
bottomLeftCorner:SetPoint("BOTTOMLEFT", frame, "BOTTOMLEFT", -13, -3)
bottomLeftCorner:SetTexCoord(0.298828, 0.423828, 0.298828, 0.423828)
nineSlice.BottomLeftCorner = bottomLeftCorner
-- Bottom Right Corner
local bottomRightCorner = nineSlice:CreateTexture(nil, "OVERLAY")
bottomRightCorner:SetTexture("Interface\\AddOns\\WeakAuras\\Media\\Textures\\UIFrameMetal2x")
bottomRightCorner:SetSize(32, 32)
bottomRightCorner:SetPoint("BOTTOMRIGHT", frame, "BOTTOMRIGHT", 4, -3)
bottomRightCorner:SetTexCoord(0.427734, 0.552734, 0.298828, 0.423828)
nineSlice.BottomRightCorner = bottomRightCorner
-- Top Edge
local topEdge = nineSlice:CreateTexture(nil, "OVERLAY")
topEdge:SetTexture("Interface\\AddOns\\WeakAuras\\Media\\Textures\\UIFrameMetalHorizontal2x")
topEdge:SetSize(32, 75)
topEdge:SetPoint("TOPLEFT", topLeftCorner, "TOPRIGHT", 0, 0)
topEdge:SetPoint("TOPRIGHT", topRightCorner, "TOPLEFT", 0, 0)
topEdge:SetHorizTile(true)
topEdge:SetTexCoord(0.0, 1.0, 0.00390625, 0.589844)
nineSlice.TopEdge = topEdge
-- Bottom Edge
local bottomEdge = nineSlice:CreateTexture(nil, "OVERLAY")
bottomEdge:SetTexture("Interface\\AddOns\\WeakAuras\\Media\\Textures\\UIFrameMetalHorizontal2x")
bottomEdge:SetSize(32, 32)
bottomEdge:SetPoint("BOTTOMLEFT", bottomLeftCorner, "BOTTOMRIGHT", 0, 0)
bottomEdge:SetPoint("BOTTOMRIGHT", bottomRightCorner, "BOTTOMLEFT", 0, 0)
bottomEdge:SetHorizTile(true)
bottomEdge:SetTexCoord(0.0, 0.5, 0.597656, 0.847656)
nineSlice.BottomEdge = bottomEdge
-- Left Edge
local leftEdge = nineSlice:CreateTexture(nil, "OVERLAY")
leftEdge:SetTexture("Interface\\AddOns\\WeakAuras\\Media\\Textures\\UIFrameMetalVertical2x")
leftEdge:SetSize(75, 8)
leftEdge:SetPoint("TOPLEFT", topLeftCorner, "BOTTOMLEFT", 0, 0)
leftEdge:SetPoint("BOTTOMLEFT", bottomLeftCorner, "TOPLEFT", 0, 0)
leftEdge:SetVertTile(true)
leftEdge:SetTexCoord(0.00195312, 0.294922, 0.0, 1.0)
nineSlice.LeftEdge = leftEdge
-- Right Edge
local rightEdge = nineSlice:CreateTexture(nil, "OVERLAY")
rightEdge:SetTexture("Interface\\AddOns\\WeakAuras\\Media\\Textures\\UIFrameMetalVertical2x")
rightEdge:SetSize(75, 8)
rightEdge:SetPoint("TOPLEFT", topRightCorner, "BOTTOMLEFT", 0, 0)
rightEdge:SetPoint("BOTTOMLEFT", bottomRightCorner, "TOPLEFT", 0, 0)
rightEdge:SetVertTile(true)
rightEdge:SetTexCoord(0.298828, 0.591797, 0.0, 1.0)
nineSlice.RightEdge = rightEdge
-- Portrait Container
local portraitContainer = CreateFrame("Frame", nil, frame)
portraitContainer:SetSize(1, 1)
portraitContainer:SetPoint("TOPLEFT")
portraitContainer:SetFrameLevel(120)
frame.PortraitContainer = portraitContainer
-- Portrait
local portrait = portraitContainer:CreateTexture(nil, "ARTWORK")
portrait:SetSize(62, 62)
portrait:SetPoint("TOPLEFT", portraitContainer, "TOPLEFT", -5, 7)
portraitContainer.portrait = portrait
-- Title Container
local titleContainer = CreateFrame("Frame", nil, frame)
titleContainer:SetSize(0, 20)
titleContainer:SetPoint("TOPLEFT", frame, "TOPLEFT", 58, -1)
titleContainer:SetPoint("TOPRIGHT", frame, "TOPRIGHT", -24, -1)
titleContainer:SetFrameLevel(126)
frame.TitleContainer = titleContainer
-- Title Text
local titleText = titleContainer:CreateFontString(GetParentName(frame) .. "TitleText", "OVERLAY", "GameFontNormal")
titleText:SetText("")
titleText:SetWordWrap(false)
titleText:SetPoint("TOP", titleContainer, "TOP", 0, -5)
titleText:SetPoint("LEFT", titleContainer, "LEFT")
titleText:SetPoint("RIGHT", titleContainer, "RIGHT")
titleContainer.TitleText = titleText
-- Close Button
local closeButton = CreateFrame("Button", nil, frame, "UIPanelCloseButton")
closeButton:SetSize(24, 24)
closeButton:SetPoint("TOPRIGHT", frame, "TOPRIGHT", 0, 0)
closeButton:SetFrameLevel(128)
frame.CloseButton = closeButton
closeButton:SetNormalTexture("Interface\\AddOns\\WeakAuras\\Media\\Textures\\redbutton2x")
closeButton:GetNormalTexture():SetTexCoord(0.152344, 0.292969, 0.0078125, 0.304688)
closeButton:SetPushedTexture("Interface\\AddOns\\WeakAuras\\Media\\Textures\\redbutton2x")
closeButton:GetPushedTexture():SetTexCoord(0.152344, 0.292969, 0.320312, 0.617188)
closeButton:SetDisabledTexture("Interface\\AddOns\\WeakAuras\\Media\\Textures\\redbutton2x")
closeButton:GetDisabledTexture():SetTexCoord(0.152344, 0.292969, 0.632812, 0.929688)
closeButton:SetHighlightTexture("Interface\\AddOns\\WeakAuras\\Media\\Textures\\redbutton2x", "ADD")
closeButton:GetHighlightTexture():SetTexCoord(0.449219, 0.589844, 0.0078125, 0.304688)
-- Background
local bgTexture = frame:CreateTexture(nil, "BACKGROUND")
bgTexture:SetTexture("Interface\\AddOns\\WeakAuras\\Media\\Textures\\UI-Background-Rock")
bgTexture:SetHorizTile(true)
bgTexture:SetVertTile(true)
bgTexture:SetPoint("TOPLEFT", frame, "TOPLEFT", 2, -21)
bgTexture:SetPoint("BOTTOMRIGHT", frame, "BOTTOMRIGHT", -2, 2)
frame.Bg = bgTexture
-- Border
local topTileStreaks = frame:CreateTexture(nil, "BORDER")
topTileStreaks:SetTexture("Interface\\AddOns\\WeakAuras\\Media\\Textures\\UIFrameHorizontal")
topTileStreaks:SetSize(256, 43)
topTileStreaks:SetPoint("TOPLEFT", frame, "TOPLEFT", 6, -21)
topTileStreaks:SetPoint("TOPRIGHT", frame, "TOPRIGHT", -2, -21)
topTileStreaks:SetHorizTile(true)
topTileStreaks:SetTexCoord(0.0, 1.0, 0.0078125, 0.34375)
frame.TopTileStreaks = topTileStreaks
-- Mixin
frame.Bg:SetVertexColor(0.5882, 0.6275, 0.6706, 0.8) -- approx. PANEL_BACKGROUND_COLOR #ff1f1e21
frame.layoutType = "PortraitMode"
frame.ShowPortrait = function(self)
self.PortraitContainer:Show();
self.NineSlice.TopLeftCorner:Show();
self.NineSlice.TopLeftCornerNoPortrait:Hide();
self.layoutType = "PortraitMode"
end
frame.HidePortrait = function(self)
self.PortraitContainer:Hide();
self.NineSlice.TopLeftCorner:Hide();
self.NineSlice.TopLeftCornerNoPortrait:Show();
self.layoutType = "NoPortraitMode"
end
frame.GetFrameLayoutType = function(self)
return self.layoutType or self:GetParent().layoutType;
end
-- update NineSlice Borders on SizeChanged, since they like to be scuffed when the frame is resized
frame:SetScript("OnSizeChanged", function(self)
UpdateNineSliceBorders(self);
end)
end,
-- MaximizeMinimizeButtonFrameTemplate (Retail 11.1.7 (61967))
["MaximizeMinimizeButtonFrameTemplate"] = function(frame)
frame:SetSize(24, 24)
frame:SetFrameLevel(127)
-- Maximize Button
local maximizeButton = CreateFrame("Button", "MaximizeButton", frame)
maximizeButton:SetAllPoints(frame)
maximizeButton:Hide()
frame.MaximizeButton = maximizeButton
maximizeButton:SetNormalTexture("Interface\\AddOns\\WeakAuras\\Media\\Textures\\redbutton2x")
maximizeButton:GetNormalTexture():SetTexCoord(0.300781, 0.441406, 0.0078125, 0.304688)
maximizeButton:SetPushedTexture("Interface\\AddOns\\WeakAuras\\Media\\Textures\\redbutton2x")
maximizeButton:GetPushedTexture():SetTexCoord(0.300781, 0.441406, 0.320312, 0.617188)
maximizeButton:SetDisabledTexture("Interface\\AddOns\\WeakAuras\\Media\\Textures\\redbutton2x")
maximizeButton:GetDisabledTexture():SetTexCoord(0.300781, 0.441406, 0.632812, 0.929688)
maximizeButton:SetHighlightTexture("Interface\\AddOns\\WeakAuras\\Media\\Textures\\redbutton2x", "ADD")
maximizeButton:GetHighlightTexture():SetTexCoord(0.449219, 0.589844, 0.0078125, 0.304688)
-- Minimize Button
local minimizeButton = CreateFrame("Button", "MinimizeButton", frame)
minimizeButton:SetAllPoints(frame)
frame.MinimizeButton = minimizeButton
minimizeButton:SetNormalTexture("Interface\\AddOns\\WeakAuras\\Media\\Textures\\redbutton2x")
minimizeButton:GetNormalTexture():SetTexCoord(0.00390625, 0.144531, 0.0078125, 0.304688)
minimizeButton:SetPushedTexture("Interface\\AddOns\\WeakAuras\\Media\\Textures\\redbutton2x")
minimizeButton:GetPushedTexture():SetTexCoord(0.00390625, 0.144531, 0.320312, 0.617188)
minimizeButton:SetDisabledTexture("Interface\\AddOns\\WeakAuras\\Media\\Textures\\redbutton2x")
minimizeButton:GetDisabledTexture():SetTexCoord(0.00390625, 0.144531, 0.632812, 0.929688)
minimizeButton:SetHighlightTexture("Interface\\AddOns\\WeakAuras\\Media\\Textures\\redbutton2x", "ADD")
minimizeButton:GetHighlightTexture():SetTexCoord(0.449219, 0.589844, 0.0078125, 0.304688)
-- Mixin
frame.isMinimized = false
frame.OnShow = function(self)
if self.isMinimized then
self:SetMaximizedLook()
else
self:SetMinimizedLook()
end
end
frame.IsMinimized = function(self)
return self.isMinimized
end
frame.SetOnMaximizedCallback = function(self, callback)
self.maximizedCallback = callback
end
frame.SetOnMinimizedCallback = function(self, callback)
self.minimizedCallback = callback
end
frame.Maximize = function(self, skipCallback)
if self.maximizedCallback and not skipCallback then
self:maximizedCallback()
end
self.isMinimized = false
self:SetMinimizedLook()
end
frame.Minimize = function(self, skipCallback)
if self.minimizedCallback and not skipCallback then
self:minimizedCallback()
end
self.isMinimized = true
self:SetMaximizedLook()
end
frame.SetMinimizedLook = function(self)
self.MaximizeButton:Hide()
self.MinimizeButton:Show()
end
frame.SetMaximizedLook = function(self)
self.MaximizeButton:Show()
self.MinimizeButton:Hide()
end
frame:SetScript("OnShow", function(self)
self:OnShow();
end)
maximizeButton:SetScript("OnClick", function(self)
self:GetParent():Maximize();
PlaySound("igMainMenuOptionCheckBoxOn");
end)
minimizeButton:SetScript("OnClick", function(self)
self:GetParent():Minimize();
PlaySound("igMainMenuOptionCheckBoxOn");
end)
end,
}