64df5f1f90
* update to release 7.3.1 * minor tweaks - tweaked the drop location text to display a bit more cleanly - added boss sigils to bc raid tables - added right click context menu to boss name list so you can open db to that boss (only has raids atm) - the All dungeon items list now wont precache past the normal loot * fixs and text display change - updated old locations to have new display - frame now sits on top when selected - fixed some incorrect ids * favorites button change/loot table updates - Changed how favorites buttons are saved you now alt right click them to save - Added missing new t0 sets to classic dungeon sets - Added missing new trash loot weapons to Black temple * minor changes/fixs - fixed t3 incorrect itemids - added heroic bloodforged * merg from main repo * bug fix and item removals - some quest tooltip was showing up incorrect - removed depreciated high risk patterns * swapped to using ItemButtonTemplate for popup window buttons * added all the new heirloom items * all the changes from main git up to 7.3.9 * update to version 7.3.15 * Revert "Merge branch 'main' into anch-main" This reverts commit 8db63dc268f910dcc1df31d50072735263eeda58, reversing changes made to f536a382a8fce401e0d8dcfaae8eb0a2c61f1e08.
917 lines
43 KiB
Lua
917 lines
43 KiB
Lua
local AL = LibStub("AceLocale-3.0"):GetLocale("AtlasLoot")
|
|
local BLUE = "|cff6666ff"
|
|
local WHITE = "|cFFFFFFFF"
|
|
local INDENT = " "
|
|
|
|
local function removeScripts(button)
|
|
button:SetScript("OnMouseDown", nil)
|
|
button:SetScript("OnMouseUp", nil)
|
|
button:SetScript("OnShow", nil)
|
|
button:SetScript("OnEnter", nil)
|
|
button:SetScript("OnLeave", nil)
|
|
end
|
|
|
|
--Main AtlasLoot Frame
|
|
local mainframe = CreateFrame("FRAME", "AtlasLootDefaultFrame", UIParent, "PortraitFrameTemplate")
|
|
mainframe:SetPoint("CENTER",0,0)
|
|
mainframe:SetSize(1105,640)
|
|
mainframe:EnableMouse(true)
|
|
mainframe:SetMovable(true)
|
|
mainframe.portrait:SetPortraitTexture("Interface\\Icons\\INV_Box_01")
|
|
mainframe:SetFrameStrata("HIGH")
|
|
mainframe.TitleText:SetText(AtlasLoot.Version)
|
|
mainframe:RegisterForDrag("LeftButton")
|
|
mainframe:EnableKeyboard(true)
|
|
mainframe:SetToplevel(true)
|
|
mainframe:Hide()
|
|
mainframe:SetScript("OnShow", function()
|
|
AtlasLoot:OnShow()
|
|
end)
|
|
mainframe:SetScript("OnMouseDown", function()
|
|
AtlasLoot.Dewdrop:Close()
|
|
AtlasLootDefaultFrameSearchBox:ClearFocus()
|
|
end)
|
|
mainframe:SetScript("OnHide", function()
|
|
AtlasLoot.Dewdrop:Close()
|
|
AtlasLoot:ItemsLoading("reset")
|
|
end)
|
|
mainframe:SetScript("OnDragStart", function(self)
|
|
self:StartMoving()
|
|
self.isMoving = true
|
|
end)
|
|
mainframe:SetScript("OnDragStop", function(self)
|
|
self:StopMovingOrSizing()
|
|
self.isMoving = false
|
|
end)
|
|
|
|
--Loot Background
|
|
local lootBackground = CreateFrame("Frame", "AtlaslLoot_LootBackground", mainframe)
|
|
lootBackground:SetSize(770,515)
|
|
lootBackground:SetPoint("TOPLEFT", mainframe, "TOPLEFT",30,-86)
|
|
lootBackground:EnableMouse()
|
|
lootBackground:EnableMouseWheel()
|
|
lootBackground:SetScript("OnMouseDown",function(self, button)
|
|
if _G["AtlasLootItemsFrame_BACK"]:IsVisible() and button == "RightButton" then
|
|
AtlasLoot:BackButton_OnClick()
|
|
elseif AtlasLootDefaultFrame_AdvancedSearchPanel:IsVisible() and button == "RightButton" then
|
|
AtlasLoot:AdvancedSearchClose()
|
|
end
|
|
AtlasLoot.Dewdrop:Close()
|
|
AtlasLootDefaultFrameSearchBox:ClearFocus()
|
|
end)
|
|
lootBackground:SetScript("OnMouseWheel", function(self,delta)
|
|
if AtlasLootItemsFrame_NEXT:IsVisible() and delta == -1 then
|
|
AtlasLootItemsFrame_NEXT:Click()
|
|
end
|
|
if AtlasLootItemsFrame_PREV:IsVisible() and delta == 1 then
|
|
AtlasLootItemsFrame_PREV:Click()
|
|
end
|
|
end)
|
|
lootBackground:SetBackdrop({
|
|
bgFile = "Interface\\DialogFrame\\UI-DialogBox-Background", tile = true, tileSize = 16,
|
|
edgeFile = "Interface\\Tooltips\\UI-Tooltip-Border", edgeSize = 16,
|
|
insets = { left = 4, right = 4, top = 4, bottom = 4 },
|
|
})
|
|
lootBackground.Back = lootBackground:CreateTexture("AtlasLootItemsFrame_Back", "BACKGROUND")
|
|
lootBackground.Back:SetAllPoints()
|
|
lootBackground.Back:SetSize(730,475)
|
|
lootBackground.Back:SetPoint("CENTER",lootBackground)
|
|
----------------------------------- Item Loot Panel -------------------------------------------
|
|
local itemframe = CreateFrame("Frame", "AtlasLootItemsFrame", lootBackground)
|
|
itemframe:SetSize(765,510)
|
|
itemframe:Hide()
|
|
itemframe:SetPoint("TOPLEFT", lootBackground, "TOPLEFT", 2, -2)
|
|
itemframe.Label = itemframe:CreateFontString("AtlasLoot_BossName","OVERLAY","GameFontHighlightLarge")
|
|
itemframe.Label:SetPoint("TOP", "AtlasLootItemsFrame", "TOP")
|
|
itemframe.Label:SetSize(512,30)
|
|
itemframe.Label:SetJustifyH("CENTER")
|
|
|
|
for num = 1, 30 do
|
|
local button = CreateFrame("Button","AtlasLootItem_"..num, AtlasLootItemsFrame)
|
|
button:SetID(num)
|
|
button:SetSize(236,29)
|
|
button:SetHighlightTexture("Interface\\QuestFrame\\UI-QuestTitleHighlight", "ADD")
|
|
button.icon = button:CreateTexture("AtlasLootItem_"..num.."_Icon","ARTWORK")
|
|
button.icon:SetSize(25,25)
|
|
button.icon:SetPoint("TOPLEFT", "AtlasLootItem_"..num,"TOPLEFT",1,-1)
|
|
button.Highlight = button:CreateTexture("AtlasLootItem_"..num.."_Highlight", "OVERLAY")
|
|
button.Highlight:SetSize(26,26)
|
|
button.Highlight:SetPoint("CENTER", button.icon, 0, 0)
|
|
button.Highlight:SetTexture("Interface\\AddOns\\AtlasLoot\\Images\\knownGreen")
|
|
button.Highlight:Hide()
|
|
button.name = button:CreateFontString("AtlasLootItem_"..num.."_Name","ARTWORK","GameFontNormal")
|
|
button.name:SetSize(320,12)
|
|
button.name:SetPoint("TOPLEFT","AtlasLootItem_"..num.."_Icon","TOPRIGHT",3,0)
|
|
button.name:SetJustifyH("LEFT")
|
|
button.extra = button:CreateFontString("AtlasLootItem_"..num.."_Extra","ARTWORK","GameFontNormal")
|
|
button.extra:SetSize(320,10)
|
|
button.extra:SetPoint("TOPLEFT","AtlasLootItem_"..num.."_Name","BOTTOMLEFT",0,-1)
|
|
button.extra:SetJustifyH("LEFT")
|
|
button:RegisterForClicks("AnyDown")
|
|
button.number = num
|
|
button:SetScript("OnEnter", function(self) AtlasLoot:ItemOnEnter(self) end)
|
|
button:SetScript("OnLeave", function(self) AtlasLoot:ItemOnLeave(self) end)
|
|
button:SetScript("OnClick", function(self, arg1) AtlasLoot:ItemOnClick(self, arg1) end)
|
|
if num == 1 then
|
|
button:SetPoint("TOP", "AtlasLootItemsFrame", "TOP",-210,-35)
|
|
elseif num == 16 then
|
|
button:SetPoint("TOP", "AtlasLootItemsFrame", "TOP",150,-35)
|
|
else
|
|
button:SetPoint("TOPLEFT", "AtlasLootItem_"..(num - 1), "BOTTOMLEFT")
|
|
end
|
|
end
|
|
|
|
-- Next Button
|
|
local nextbtn = CreateFrame("Button", "AtlasLootItemsFrame_NEXT", AtlasLootItemsFrame)
|
|
nextbtn:SetPoint("BOTTOMRIGHT", "AtlasLootItemsFrame", -5, 5)
|
|
nextbtn:SetSize(32,32)
|
|
nextbtn.texture = nextbtn:CreateTexture(nil, "BACKGROUND")
|
|
nextbtn.texture:SetTexture("Interface\\Buttons\\UI-PageButton-Background")
|
|
nextbtn.texture:SetSize(32,32)
|
|
nextbtn.texture:SetPoint("CENTER",0,0)
|
|
nextbtn:SetNormalTexture("Interface\\Buttons\\UI-SpellbookIcon-NextPage-Up")
|
|
nextbtn:SetPushedTexture("Interface\\Buttons\\UI-SpellbookIcon-NextPage-Down")
|
|
nextbtn:SetDisabledTexture("Interface\\Buttons\\UI-SpellbookIcon-NextPage-Disabled")
|
|
nextbtn:SetHighlightTexture("Interface\\Buttons\\UI-Common-MouseHilight", "ADD")
|
|
nextbtn:SetScript("OnClick", function(self) AtlasLoot:NavButton_OnClick(self) end)
|
|
nextbtn:Hide()
|
|
|
|
-- Previous button
|
|
local prevbtn = CreateFrame("Button", "AtlasLootItemsFrame_PREV", AtlasLootItemsFrame)
|
|
prevbtn:SetPoint("BOTTOMLEFT", "AtlasLootItemsFrame", 5, 5)
|
|
prevbtn:SetSize(32,32)
|
|
prevbtn.texture = prevbtn:CreateTexture(nil, "BACKGROUND")
|
|
prevbtn.texture:SetTexture("Interface\\Buttons\\UI-PageButton-Background")
|
|
prevbtn.texture:SetSize(32,32)
|
|
prevbtn.texture:SetPoint("CENTER",0,0)
|
|
prevbtn:SetNormalTexture("Interface\\Buttons\\UI-SpellbookIcon-PrevPage-Up")
|
|
prevbtn:SetPushedTexture("Interface\\Buttons\\UI-SpellbookIcon-PrevPage-Down")
|
|
prevbtn:SetDisabledTexture("Interface\\Buttons\\UI-SpellbookIcon-PrevPage-Disabled")
|
|
prevbtn:SetHighlightTexture("Interface\\Buttons\\UI-Common-MouseHilight", "ADD")
|
|
prevbtn:SetScript("OnClick", function(self) AtlasLoot:NavButton_OnClick(self) end)
|
|
prevbtn:Hide()
|
|
|
|
-- Back button
|
|
local backbtn = CreateFrame("Button", "AtlasLootItemsFrame_BACK", AtlasLootItemsFrame, "OptionsButtonTemplate")
|
|
backbtn:SetPoint("BOTTOM", "AtlasLootItemsFrame", "BOTTOM",0,5)
|
|
backbtn:SetText(AL["Back"])
|
|
backbtn:SetScript("OnClick", function(self) AtlasLoot:BackButton_OnClick() end)
|
|
backbtn:Hide()
|
|
|
|
-- Learn Unknown vanity spells button
|
|
local learnSpellbtn = CreateFrame("Button", "AtlasLootItemsFrame_Spell_Vanity_Learn", AtlasLootItemsFrame, "OptionsButtonTemplate")
|
|
learnSpellbtn:SetPoint("BOTTOM", "AtlasLootItemsFrame", "BOTTOM",0,5)
|
|
learnSpellbtn:SetText("Learn Unknown")
|
|
learnSpellbtn:SetWidth(150)
|
|
learnSpellbtn:SetScript("OnClick", function() AtlasLoot:BatchRequestVanity(AtlasLoot.vanityItems) end)
|
|
learnSpellbtn:SetScript("OnEnter", function(self)
|
|
GameTooltip:ClearLines()
|
|
GameTooltip:SetOwner(self, "ANCHOR_RIGHT", -(self:GetWidth() / 2), 5)
|
|
GameTooltip:AddLine("Learn all the vanity items on this page")
|
|
GameTooltip:Show()
|
|
end)
|
|
learnSpellbtn:SetScript("OnLeave", function() GameTooltip:Hide() end)
|
|
learnSpellbtn:Hide()
|
|
|
|
-- Wishlist Own/Swap button
|
|
local swapbtn = CreateFrame("Button", "AtlasLootItemsFrame_Wishlist_Swap", AtlasLootItemsFrame, "OptionsButtonTemplate")
|
|
swapbtn:SetPoint("BOTTOM", "AtlasLootItemsFrame", "BOTTOM",0,5)
|
|
swapbtn:SetScript("OnClick", function(self) AtlasLoot:WishListSwapButton(true) end)
|
|
swapbtn:Hide()
|
|
|
|
-- Wishlist Options button
|
|
local wishOptionsbtn = CreateFrame("Button", "AtlasLootItemsFrame_Wishlist_Options", AtlasLootItemsFrame, "OptionsButtonTemplate")
|
|
wishOptionsbtn:SetPoint("BOTTOM", "AtlasLootItemsFrame_Wishlist_Swap", "BOTTOM",-100,0)
|
|
wishOptionsbtn:SetText(AL["Options"])
|
|
wishOptionsbtn:SetScript("OnClick", function(self) AtlasLoot:WishListOptionsOpen() end)
|
|
wishOptionsbtn:Hide()
|
|
|
|
-- Wishlist Item Lock button
|
|
local lockbtn = CreateFrame("Button", "AtlasLootItemsFrame_Wishlist_UnLock", AtlasLootItemsFrame, "OptionsButtonTemplate")
|
|
lockbtn:SetPoint("BOTTOM", "AtlasLootItemsFrame_Wishlist_Options", "BOTTOM",-100,0)
|
|
lockbtn:SetScript("OnClick", function(self)
|
|
if AtlasLoot.itemUnlock then
|
|
AtlasLoot.itemUnlock = false
|
|
lockbtn:SetText("Locked")
|
|
else
|
|
AtlasLoot.itemUnlock = true
|
|
lockbtn:SetText("UnLocked")
|
|
end
|
|
end)
|
|
lockbtn:SetScript("OnEnter", function(self)
|
|
GameTooltip:ClearLines()
|
|
GameTooltip:SetOwner(self, "ANCHOR_RIGHT", -(self:GetWidth() / 2), 5)
|
|
GameTooltip:AddLine("Toggle Item Moving")
|
|
GameTooltip:AddLine("Left Click to move item up")
|
|
GameTooltip:AddLine("Right Click to move item down")
|
|
GameTooltip:AddLine("Alt + Left Click to add a Custom Header")
|
|
GameTooltip:Show()
|
|
end)
|
|
lockbtn:SetScript("OnLeave", function() GameTooltip:Hide() end)
|
|
lockbtn:SetText("Locked")
|
|
lockbtn:Hide()
|
|
|
|
-- Wishlist Share button
|
|
local sharebtn = CreateFrame("Button", "AtlasLootItemsFrame_Wishlist_Share", AtlasLootItemsFrame, "OptionsButtonTemplate")
|
|
sharebtn:SetPoint("BOTTOM", "AtlasLootItemsFrame_Wishlist_Swap", "BOTTOM",100,0)
|
|
sharebtn:SetText(AL["Share"])
|
|
sharebtn:SetScript("OnClick", function() AtlasLoot:ShareWishList() end)
|
|
sharebtn:Hide()
|
|
|
|
-- Wishlist Share button
|
|
local learnbtn = CreateFrame("Button", "AtlasLootItemsFrame_Wishlist_Vanity_Learn", AtlasLootItemsFrame, "OptionsButtonTemplate")
|
|
learnbtn:SetPoint("BOTTOM", "AtlasLootItemsFrame_Wishlist_Share", "BOTTOM",100,0)
|
|
learnbtn:SetText("Get Items")
|
|
learnbtn:SetScript("OnClick", function() AtlasLoot:BatchRequestVanity(AtlasLoot.vanityItems) end)
|
|
learnbtn:SetScript("OnEnter", function(self)
|
|
GameTooltip:ClearLines()
|
|
GameTooltip:SetOwner(self, "ANCHOR_RIGHT", -(self:GetWidth() / 2), 5)
|
|
GameTooltip:AddLine("Learn/Recive all the vanity items on this page")
|
|
GameTooltip:Show()
|
|
end)
|
|
learnbtn:SetScript("OnLeave", function() GameTooltip:Hide() end)
|
|
learnbtn:Hide()
|
|
|
|
-- Filter Button
|
|
local filterbtn = CreateFrame("CheckButton","AtlasLootFilterCheck",AtlasLootItemsFrame,"OptionsCheckButtonTemplate")
|
|
filterbtn:SetPoint("TOPLEFT", "AtlasLootItemsFrame",5 ,-5)
|
|
filterbtn.Label = filterbtn:CreateFontString("AtlasLootFilterCheckText","OVERLAY","GameFontNormal")
|
|
filterbtn.Label:SetText(AL["Filter"])
|
|
filterbtn.Label:SetPoint("RIGHT", AtlasLootFilterCheck, 30, 2)
|
|
filterbtn:RegisterForClicks("LeftButtonDown","RightButtonDown")
|
|
filterbtn:SetScript("OnClick", function(self, btnclick) AtlasLoot:FilterEnableButton(self, btnclick) end)
|
|
|
|
------------------------------------ Buttons at the top of the frame ---------------------------------------
|
|
|
|
--SubMenu Button
|
|
local submenubtn = CreateFrame("Button", "AtlasLootDefaultFrame_SubMenu", AtlasLootDefaultFrame, "FilterDropDownMenuTemplate")
|
|
removeScripts(submenubtn)
|
|
submenubtn:SetSize(275,25)
|
|
submenubtn:SetPoint("TOP", AtlaslLoot_LootBackground,"TOP",56,30)
|
|
submenubtn.template = "FilterDropDownMenuTemplate"
|
|
submenubtn.Lable = submenubtn:CreateFontString(nil, "OVERLAY","GameFontNormal")
|
|
submenubtn.Lable:SetPoint("TOP",submenubtn,"BOTTOM",0,42)
|
|
submenubtn.Lable:SetText("Select Subcategory")
|
|
submenubtn.Lable:Show()
|
|
submenubtn:SetScript("OnClick", function(self)
|
|
AtlasLoot:DewdropSubMenuOpen(AtlasLoot_SubMenus[AtlasLoot.currentTable])
|
|
end)
|
|
|
|
--Moduel Menu Button
|
|
local menubtn = CreateFrame("Button", "AtlasLootDefaultFrame_Menu", AtlasLootDefaultFrame, "FilterDropDownMenuTemplate")
|
|
removeScripts(menubtn)
|
|
menubtn:SetSize(275,25)
|
|
menubtn:SetPoint("RIGHT", "AtlasLootDefaultFrame_SubMenu", "LEFT",-5,0)
|
|
menubtn.template = "FilterDropDownMenuTemplate"
|
|
menubtn.Lable = menubtn:CreateFontString(nil, "OVERLAY","GameFontNormal")
|
|
menubtn.Lable:SetPoint("TOP",menubtn,"BOTTOM",0,42)
|
|
menubtn.Lable:SetText("Select Module")
|
|
menubtn.Lable:Show()
|
|
menubtn:SetText(AL["Select Loot Table"])
|
|
menubtn:SetScript("OnClick", function(self)
|
|
AtlasLoot:DewdropModuleMenuOpen()
|
|
end)
|
|
|
|
--Options Button
|
|
local optionsbtn = CreateFrame("Button", nil, AtlasLootDefaultFrame, "SettingsGearButtonTemplate")
|
|
removeScripts(optionsbtn)
|
|
optionsbtn:SetPoint("LEFT", "AtlasLootDefaultFrame_Menu",-27,0)
|
|
optionsbtn:SetScript("OnClick", function(self,button) AtlasLoot:OptionsToggle() end)
|
|
optionsbtn:SetScript("OnEnter", function(self)
|
|
GameTooltip:SetOwner(self, "ANCHOR_RIGHT")
|
|
GameTooltip:AddLine("Options")
|
|
GameTooltip:Show()
|
|
end)
|
|
optionsbtn:SetScript("OnLeave", function() GameTooltip:Hide() end)
|
|
mainframe.optionsbtn = optionsbtn
|
|
|
|
--Expansion Menu Button
|
|
local expansionmenubtn = CreateFrame("Button", "AtlasLootDefaultFrame_ExpansionMenu", AtlasLootDefaultFrame, "FilterDropDownMenuTemplate");
|
|
removeScripts(expansionmenubtn)
|
|
expansionmenubtn:SetSize(185,25);
|
|
expansionmenubtn:SetPoint("LEFT", "AtlasLootDefaultFrame_SubMenu", "RIGHT",5,0);
|
|
expansionmenubtn:SetText(AtlasLoot_ExpansionMenu[GetAccountExpansionLevel()+1][1]);
|
|
expansionmenubtn.template = "FilterDropDownMenuTemplate"
|
|
expansionmenubtn.Lable = expansionmenubtn:CreateFontString(nil, "OVERLAY","GameFontNormal")
|
|
expansionmenubtn.Lable:SetPoint("TOP",expansionmenubtn,"BOTTOM",0,42)
|
|
expansionmenubtn.Lable:SetText("Select Expansion")
|
|
expansionmenubtn.Lable:Show()
|
|
expansionmenubtn:SetScript("OnClick", function(self) AtlasLoot:DewdropExpansionMenuOpen(self) end)
|
|
|
|
---------------------------------------- Buttons Under the loot and subtable frames -------------------------------------------
|
|
--Search Edit Box
|
|
local searchbox = CreateFrame("EditBox", "AtlasLootDefaultFrameSearchBox", AtlasLootDefaultFrame, "SearchBoxTemplate")
|
|
searchbox:SetSize(190,25)
|
|
searchbox:SetPoint("BOTTOMLEFT", "AtlasLootDefaultFrame", "BOTTOMLEFT", 35, 10.5)
|
|
searchbox:SetScript("OnEnterPressed", function(self)
|
|
AtlasLoot:Search(self:GetText())
|
|
self:ClearFocus()
|
|
end)
|
|
searchbox:SetScript("OnTextChanged", function(self)
|
|
if self:HasFocus() then
|
|
SearchBoxTemplate_OnTextChanged(self)
|
|
end
|
|
end)
|
|
|
|
--Search Button
|
|
local searchbtn = CreateFrame("Button","AtlasLootDefaultFrameSearchButton",AtlasLootDefaultFrame,"FilterDropDownMenuTemplate")
|
|
removeScripts(searchbtn)
|
|
searchbtn:SetSize(69,25)
|
|
searchbtn:SetPoint("LEFT","AtlasLootDefaultFrameSearchBox","RIGHT",2,-1)
|
|
searchbtn:SetText(AL["Search"])
|
|
searchbtn:RegisterForClicks("AnyDown")
|
|
searchbtn.template = "FilterDropDownMenuTemplate"
|
|
searchbtn:SetScript("OnClick", function(self, button)
|
|
if button == "LeftButton" then
|
|
AtlasLoot:Search(AtlasLootDefaultFrameSearchBox:GetText())
|
|
AtlasLootDefaultFrameSearchBox:ClearFocus()
|
|
else
|
|
AtlasLoot:ShowSearchOptions(self)
|
|
end
|
|
end)
|
|
searchbtn:SetScript("OnEnter", function(self)
|
|
GameTooltip:SetOwner(self, "ANCHOR_TOPLEFT")
|
|
GameTooltip:AddLine("Left click to search\nRight click to select what modules to search in")
|
|
GameTooltip:Show()
|
|
end)
|
|
searchbtn:SetScript("OnLeave", function()
|
|
GameTooltip:Hide()
|
|
end)
|
|
|
|
--Last Result Button
|
|
local lastresult = CreateFrame("Button","AtlasLootDefaultFrameLastResultButton",AtlasLootDefaultFrameSearchBox,"FilterDropDownMenuTemplate")
|
|
removeScripts(lastresult)
|
|
lastresult:SetSize(80,25)
|
|
lastresult.template = "FilterDropDownMenuTemplate"
|
|
lastresult.Icon:Hide()
|
|
lastresult.Text:SetJustifyH("CENTER")
|
|
lastresult.Text:ClearAllPoints()
|
|
lastresult.Text:SetPoint("CENTER")
|
|
lastresult:SetPoint("LEFT", "AtlasLootDefaultFrameSearchButton", "RIGHT", 2, 0)
|
|
lastresult:SetText(AL["Last Result"])
|
|
lastresult:SetScript("OnClick", function() AtlasLoot:ShowSearchResult() end)
|
|
lastresult:SetScript("OnEnter", function(self)
|
|
GameTooltip:SetOwner(self, "ANCHOR_TOPLEFT")
|
|
GameTooltip:AddLine("Open Last Search Result")
|
|
GameTooltip:Show()
|
|
end)
|
|
lastresult:SetScript("OnLeave", function()
|
|
GameTooltip:Hide()
|
|
end)
|
|
|
|
-- Advanced Search Button
|
|
local advSearch = CreateFrame("Button","AtlasLootDefaultFrameAdvancedSearchButton", AtlasLootDefaultFrame,"FilterDropDownMenuTemplate")
|
|
removeScripts(advSearch)
|
|
advSearch:SetSize(80,25)
|
|
advSearch.Icon:Hide()
|
|
advSearch.Text:SetJustifyH("CENTER")
|
|
advSearch.Text:ClearAllPoints()
|
|
advSearch.Text:SetPoint("CENTER")
|
|
advSearch.template = "FilterDropDownMenuTemplate"
|
|
advSearch:SetPoint("LEFT","AtlasLootDefaultFrameLastResultButton","RIGHT",2)
|
|
advSearch:SetText("Advanced")
|
|
advSearch:SetScript("OnClick", function()
|
|
AtlasLoot:AdvancedSearchShow()
|
|
AtlasLootDefaultFrameSearchBox:ClearFocus()
|
|
end)
|
|
advSearch:SetScript("OnEnter", function(self)
|
|
GameTooltip:SetOwner(self, "ANCHOR_TOPLEFT")
|
|
GameTooltip:AddLine("Advanced Search")
|
|
GameTooltip:Show()
|
|
end)
|
|
advSearch:SetScript("OnLeave", function()
|
|
GameTooltip:Hide()
|
|
end)
|
|
|
|
--Wish List Button
|
|
local wishbtn = CreateFrame("Button", "AtlasLootDefaultFrameWishListButton", AtlasLootDefaultFrame, "FilterDropDownMenuTemplate")
|
|
removeScripts(wishbtn)
|
|
wishbtn:SetPoint("LEFT", "AtlasLootDefaultFrameAdvancedSearchButton", "RIGHT", 2, 0)
|
|
wishbtn:SetSize(80,25)
|
|
wishbtn.template = "FilterDropDownMenuTemplate"
|
|
wishbtn:RegisterForClicks("LeftButtonDown","RightButtonDown")
|
|
wishbtn:SetScript("OnClick", function(self, btnclick)AtlasLoot:WishListButton(self,true,btnclick) end)
|
|
wishbtn:SetText(AL["Wishlist"])
|
|
wishbtn:SetScript("OnEnter", function(self)
|
|
GameTooltip:ClearLines()
|
|
GameTooltip:SetOwner(self, "ANCHOR_RIGHT", -(self:GetWidth() / 2), 5)
|
|
GameTooltip:AddLine("Right Click For Menu")
|
|
GameTooltip:Show()
|
|
end)
|
|
wishbtn:SetScript("OnLeave", function() GameTooltip:Hide() end)
|
|
|
|
local favorites = CreateFrame("Button", "AtlasLoot_Favorites", AtlasLootDefaultFrame, "FilterDropDownMenuTemplate")
|
|
removeScripts(favorites)
|
|
favorites:SetPoint("LEFT", "AtlasLootDefaultFrameWishListButton", "RIGHT", 2, 0)
|
|
favorites:SetText("Favorites")
|
|
favorites:SetSize(150,25)
|
|
favorites.template = "FilterDropDownMenuTemplate"
|
|
favorites:SetScript("OnEnter", function(self)
|
|
GameTooltip:ClearLines()
|
|
GameTooltip:SetOwner(self, "ANCHOR_RIGHT", -(self:GetWidth() / 2), 5)
|
|
GameTooltip:AddLine("Left click open a favorite\nAlt + Right click to set favorite")
|
|
GameTooltip:Show()
|
|
AtlasLoot_FavoritesPopupFrame:Show()
|
|
end)
|
|
favorites:SetScript("OnLeave", function()
|
|
GameTooltip:Hide()
|
|
if GetMouseFocus():GetName() ~= "AtlasLoot_FavoritesPopupFrame" then
|
|
AtlasLoot_FavoritesPopupFrame:Hide()
|
|
end
|
|
end)
|
|
|
|
-- Load Current Instance Button
|
|
local currentInstance = CreateFrame("Button","AtlasLootDefaultFrame_LoadInstanceButton", AtlasLootDefaultFrame,"FilterDropDownMenuTemplate")
|
|
removeScripts(currentInstance)
|
|
currentInstance:SetSize(107,25)
|
|
currentInstance.Icon:Hide()
|
|
currentInstance.Text:SetJustifyH("CENTER")
|
|
currentInstance.Text:ClearAllPoints()
|
|
currentInstance.Text:SetPoint("CENTER")
|
|
currentInstance.template = "FilterDropDownMenuTemplate"
|
|
currentInstance:SetPoint("LEFT", "AtlasLoot_Favorites", "RIGHT", 2, 0)
|
|
currentInstance:SetScript("OnClick", function() AtlasLoot:ShowInstance() end)
|
|
currentInstance:SetScript("OnLeave", function() GameTooltip:Hide() end)
|
|
currentInstance:SetScript("OnEnter", function(self)
|
|
GameTooltip:ClearLines()
|
|
GameTooltip:SetOwner(self, "ANCHOR_RIGHT", -(self:GetWidth() / 2), 5)
|
|
GameTooltip:AddLine("Goto current instances lootpage")
|
|
GameTooltip:Show()
|
|
end)
|
|
currentInstance:SetText("Current Instance")
|
|
|
|
local popupframe = CreateFrame("Frame", "AtlasLoot_FavoritesPopupFrame", AtlasLoot_Favorites)
|
|
popupframe:SetBackdrop({
|
|
bgFile = "Interface\\DialogFrame\\UI-DialogBox-Background", tile = true, tileSize = 16,
|
|
edgeFile = "Interface\\Tooltips\\UI-Tooltip-Border", edgeSize = 16,
|
|
insets = { left = 4, right = 4, top = 4, bottom = 4 },
|
|
})
|
|
popupframe:EnableMouse()
|
|
popupframe:SetScript("OnLeave", function()
|
|
local focus = GetMouseFocus():GetName()
|
|
if focus ~= "AtlasLootDefaultFrame_Preset1" and focus ~= "AtlasLootDefaultFrame_Preset2" and focus ~= "AtlasLootDefaultFrame_Preset3" and focus ~= "AtlasLootDefaultFrame_Preset4" then
|
|
popupframe:Hide()
|
|
end
|
|
end)
|
|
popupframe:SetPoint("BOTTOMLEFT",0,-37)
|
|
popupframe:SetSize(150, 40)
|
|
popupframe:Hide()
|
|
|
|
--Favorites Buttons
|
|
local function presetcreate(preset,num)
|
|
preset:SetSize(30,30)
|
|
preset.tex = preset:CreateTexture(nil, "ARTWORK")
|
|
preset.tex:SetPoint("CENTER")
|
|
preset.Icon:Hide()
|
|
preset.Text:Hide()
|
|
preset.template = "FilterDropDownMenuTemplate"
|
|
local tex = AtlasUtil:GetAtlasInfo("services-number-"..num)
|
|
preset.tex:SetTexture(tex.filename)
|
|
preset.tex:SetTexCoord(tex.leftTexCoord, tex.rightTexCoord, tex.topTexCoord, tex.bottomTexCoord)
|
|
preset.tex:SetSize(25,25)
|
|
preset:SetScript("OnEnter", function(self)
|
|
if AtlasLootCharDB["QuickLooks"][num] then
|
|
GameTooltip:ClearLines()
|
|
GameTooltip:SetOwner(self, "ANCHOR_RIGHT", -(self:GetWidth() / 2), 5)
|
|
GameTooltip:AddLine(AtlasLootCharDB["QuickLooks"][num][6])
|
|
GameTooltip:Show()
|
|
end
|
|
end)
|
|
preset:RegisterForClicks("LeftButtonDown","RightButtonDown")
|
|
preset:SetScript("OnLeave", function()
|
|
GameTooltip:Hide()
|
|
if not GetMouseFocus() then return end
|
|
local focus = GetMouseFocus():GetName()
|
|
if focus ~= "AtlasLoot_FavoritesPopupFrame" and focus ~= "AtlasLoot_Favorites" and focus ~= "AtlasLootDefaultFrame_Preset1" and focus ~= "AtlasLootDefaultFrame_Preset2" and focus ~= "AtlasLootDefaultFrame_Preset3" and focus ~= "AtlasLootDefaultFrame_Preset4" then
|
|
popupframe:Hide()
|
|
end
|
|
end)
|
|
preset:SetScript("OnClick", function(self, button)
|
|
if button == "RightButton" and IsAltKeyDown() then
|
|
AtlasLoot:SetFavorites(num)
|
|
else
|
|
if AtlasLootCharDB["QuickLooks"][num] and AtlasLoot:IsLootTableAvailable(AtlasLootCharDB["QuickLooks"][num][4]) then
|
|
AtlasLoot.lastModule = AtlasLootCharDB["QuickLooks"][num][4]
|
|
AtlasLoot.currentTable = AtlasLootCharDB["QuickLooks"][num][5]
|
|
if AtlasLootCharDB["QuickLooks"][num][2] == "AtlasLootWishList" then
|
|
AtlasLoot:ShowWishList(AtlasLootCharDB["QuickLooks"][num][1], AtlasLootCharDB["QuickLooks"][num][3])
|
|
else
|
|
AtlasLoot:ShowItemsFrame(AtlasLootCharDB["QuickLooks"][num][1], AtlasLootCharDB["QuickLooks"][num][2], AtlasLootCharDB["QuickLooks"][num][3])
|
|
end
|
|
end
|
|
end
|
|
end)
|
|
end
|
|
--QuickLook Button 1
|
|
local presetsize = 3
|
|
local preset1 = CreateFrame("Button", "AtlasLootDefaultFrame_Preset1", AtlasLoot_FavoritesPopupFrame, "FilterDropDownMenuTemplate")
|
|
removeScripts(preset1)
|
|
presetcreate(preset1,1)
|
|
preset1:SetPoint("LEFT", popupframe, 8, 0)
|
|
--QuickLook Button 2
|
|
local preset2 = CreateFrame("Button", "AtlasLootDefaultFrame_Preset2", AtlasLoot_FavoritesPopupFrame, "FilterDropDownMenuTemplate")
|
|
removeScripts(preset2)
|
|
presetcreate(preset2,2)
|
|
preset2:SetPoint("LEFT", "AtlasLootDefaultFrame_Preset1", "RIGHT", presetsize, 0)
|
|
--QuickLook Button 3
|
|
local preset3 = CreateFrame("Button", "AtlasLootDefaultFrame_Preset3", AtlasLoot_FavoritesPopupFrame, "FilterDropDownMenuTemplate")
|
|
removeScripts(preset3)
|
|
presetcreate(preset3,3)
|
|
preset3:SetPoint("LEFT", "AtlasLootDefaultFrame_Preset2", "RIGHT", presetsize, 0)
|
|
--QuickLook Button 4
|
|
local preset4 = CreateFrame("Button", "AtlasLootDefaultFrame_Preset4", AtlasLoot_FavoritesPopupFrame, "FilterDropDownMenuTemplate")
|
|
removeScripts(preset4)
|
|
presetcreate(preset4,4)
|
|
preset4:SetPoint("LEFT", "AtlasLootDefaultFrame_Preset3", "RIGHT", presetsize, 0)
|
|
|
|
--------------------- Diffcuility ScrollFrame ----------------------------------
|
|
local ROW_HEIGHT = 16 -- How tall is each row?
|
|
local MAX_ROWS = 5 -- How many rows can be shown at once?
|
|
|
|
local scrollFrame = CreateFrame("Frame", "Atlasloot_Difficulty_ScrollFrame", AtlasLootDefaultFrame)
|
|
scrollFrame:EnableMouse(true)
|
|
scrollFrame:SetSize(265, ROW_HEIGHT * MAX_ROWS + 16)
|
|
scrollFrame:SetPoint("TOPRIGHT","AtlasLootDefaultFrame",-30,-55.5)
|
|
scrollFrame:SetBackdrop({
|
|
bgFile = "Interface\\DialogFrame\\UI-DialogBox-Background", tile = true, tileSize = 16,
|
|
edgeFile = "Interface\\Tooltips\\UI-Tooltip-Border", edgeSize = 16,
|
|
insets = { left = 4, right = 4, top = 4, bottom = 4 },
|
|
})
|
|
scrollFrame.Lable = scrollFrame:CreateFontString("Atlasloot_HeaderLabel", "OVERLAY","GameFontNormal")
|
|
scrollFrame.Lable:SetPoint("TOPLEFT",Atlasloot_Difficulty_ScrollFrame,10,-10)
|
|
scrollFrame.Lable:SetJustifyH("LEFT")
|
|
scrollFrame.Lable:SetFont("GameFontNormal", 24)
|
|
scrollFrame.Back = scrollFrame:CreateTexture("Atlasloot_Difficulty_ScrollFrame_Back", "BACKGROUND")
|
|
scrollFrame.Back:SetAllPoints()
|
|
scrollFrame.Back:SetSize(255, ROW_HEIGHT * MAX_ROWS + 6)
|
|
scrollFrame.Back:SetPoint("CENTER",scrollFrame)
|
|
|
|
function AtlasLoot:ScrollFrameUpdate(hide,wishlist)
|
|
local maxValue,offset,row,value
|
|
scrollFrame.wishList = nil
|
|
if wishlist then
|
|
scrollFrame.wishList = wishlist
|
|
maxValue = #AtlasLootWishList[wishlist]
|
|
FauxScrollFrame_Update(scrollFrame.scrollBar, maxValue, MAX_ROWS, ROW_HEIGHT)
|
|
offset = FauxScrollFrame_GetOffset(scrollFrame.scrollBar)
|
|
for i = 1, MAX_ROWS do
|
|
value = i + offset
|
|
scrollFrame.rows[i]:SetChecked(false)
|
|
scrollFrame.rows[i]:SetHighlightTexture("Interface\\QuestFrame\\UI-QuestTitleHighlight", "ADD")
|
|
if value <= maxValue and AtlasLootWishList[wishlist][value] then
|
|
row = scrollFrame.rows[i]
|
|
row:SetText("|cffFFd200"..AtlasLootWishList[wishlist][value].Name)
|
|
row.itemIndex = value
|
|
if row.itemIndex == ATLASLOOT_CURRENT_WISHLIST_NUM then
|
|
row:SetChecked(true)
|
|
end
|
|
row:Show()
|
|
else
|
|
scrollFrame.rows[i]:Hide()
|
|
end
|
|
end
|
|
elseif self.Difficulties then
|
|
maxValue = #self.Difficulties[self.CurrentType]
|
|
FauxScrollFrame_Update(scrollFrame.scrollBar, maxValue, MAX_ROWS, ROW_HEIGHT)
|
|
offset = FauxScrollFrame_GetOffset(scrollFrame.scrollBar)
|
|
for i = 1, MAX_ROWS do
|
|
value = i + offset
|
|
scrollFrame.rows[i]:SetChecked(false)
|
|
scrollFrame.rows[i]:SetHighlightTexture("Interface\\QuestFrame\\UI-QuestTitleHighlight", "ADD")
|
|
if value <= maxValue and self.Difficulties[self.CurrentType][value] and hide == nil then
|
|
row = scrollFrame.rows[i]
|
|
row:SetText("|cffFFd200"..self.Difficulties[self.CurrentType][value][1])
|
|
row.itemIndex = self.Difficulties[self.CurrentType][value][2]
|
|
if row.itemIndex == ItemindexID then
|
|
row:SetChecked(true)
|
|
end
|
|
row:Show()
|
|
else
|
|
scrollFrame.rows[i]:Hide()
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
local scrollSlider = CreateFrame("ScrollFrame","AtlasLootDefaultFrameScroll", Atlasloot_Difficulty_ScrollFrame, "FauxScrollFrameTemplate")
|
|
scrollSlider:SetPoint("TOPLEFT", 0, -8)
|
|
scrollSlider:SetPoint("BOTTOMRIGHT", -30, 8)
|
|
scrollSlider:SetScript("OnVerticalScroll", function(self, offset)
|
|
self.offset = math.floor(offset / ROW_HEIGHT + 0.5)
|
|
if scrollFrame.wishList then
|
|
AtlasLoot:ScrollFrameUpdate(nil,scrollFrame.wishList)
|
|
else
|
|
AtlasLoot:ScrollFrameUpdate()
|
|
end
|
|
end)
|
|
|
|
scrollSlider:SetScript("OnShow", function()
|
|
if scrollFrame.wishList then
|
|
AtlasLoot:ScrollFrameUpdate(nil,scrollFrame.wishList)
|
|
else
|
|
AtlasLoot:ScrollFrameUpdate()
|
|
end
|
|
end)
|
|
|
|
scrollFrame.scrollBar = scrollSlider
|
|
|
|
local rows = setmetatable({}, { __index = function(t, i)
|
|
local row = CreateFrame("CheckButton", "$parentRow"..i, Atlasloot_Difficulty_ScrollFrame)
|
|
row:SetSize(230, ROW_HEIGHT)
|
|
row:SetFrameStrata("HIGH")
|
|
row:SetNormalFontObject(GameFontHighlightLeft)
|
|
row:SetCheckedTexture("Interface\\QuestFrame\\UI-QuestTitleHighlight", "ADD")
|
|
row:SetScript("OnClick", function()
|
|
if scrollFrame.wishList then
|
|
AtlasLoot:ShowWishList(scrollFrame.wishList,row.itemIndex)
|
|
AtlasLoot_CurrentWishList["Show"].ListNum = row.itemIndex
|
|
AtlasLoot:ScrollFrameUpdate(nil,scrollFrame.wishList)
|
|
else
|
|
ItemindexID = row.itemIndex
|
|
if not AtlasLootDefaultFrame_AdvancedSearchPanel:IsVisible() then
|
|
AtlasLoot:ShowItemsFrame(AtlasLootItemsFrame.refresh[1], AtlasLootItemsFrame.refresh[2], AtlasLootItemsFrame.refresh[3])
|
|
end
|
|
AtlasLoot:ScrollFrameUpdate()
|
|
end
|
|
|
|
end)
|
|
if i == 1 then
|
|
row:SetPoint("TOPLEFT", scrollFrame, 8, -8)
|
|
else
|
|
row:SetPoint("TOPLEFT", scrollFrame.rows[i-1], "BOTTOMLEFT")
|
|
end
|
|
|
|
rawset(t, i, row)
|
|
return row
|
|
end })
|
|
|
|
scrollFrame.rows = rows
|
|
local MAX_ROWS2 = 26 -- How many rows can be shown at once?
|
|
|
|
--------------------Subtable Frame--------------------
|
|
local subtableFrame = CreateFrame("Frame", "Atlasloot_SubTableFrame", AtlasLootDefaultFrame)
|
|
subtableFrame:EnableMouse(true)
|
|
subtableFrame:SetSize(265, ROW_HEIGHT * MAX_ROWS2 + 23)
|
|
subtableFrame:SetPoint("BOTTOMLEFT","Atlasloot_Difficulty_ScrollFrame",0,-449.5)
|
|
subtableFrame:SetBackdrop({
|
|
bgFile = "Interface\\DialogFrame\\UI-DialogBox-Background", tile = true, tileSize = 16,
|
|
edgeFile = "Interface\\Tooltips\\UI-Tooltip-Border", edgeSize = 16,
|
|
insets = { left = 4, right = 4, top = 4, bottom = 4 },
|
|
})
|
|
subtableFrame.Back = subtableFrame:CreateTexture("Atlasloot_SubTableFrame_Back", "BACKGROUND")
|
|
subtableFrame.Back:SetAllPoints()
|
|
subtableFrame.Back:SetSize(255, ROW_HEIGHT * MAX_ROWS2 + 13)
|
|
subtableFrame.Back:SetPoint("CENTER",subtableFrame)
|
|
|
|
function AtlasLoot:SubTableScrollFrameUpdate(tablename, dataSource, tablenum)
|
|
if tablename == "FilterList" then return end
|
|
local maxValue = #_G[dataSource][tablename]
|
|
if dataSource == "AtlasLoot_MapData" then maxValue = #_G[dataSource][tablename][tablenum] end
|
|
subtableFrame.tablename = tablename
|
|
subtableFrame.dataSource = dataSource
|
|
subtableFrame.tablenum = tablenum
|
|
FauxScrollFrame_Update(subtableFrame.scrollBar, maxValue, MAX_ROWS2, ROW_HEIGHT)
|
|
local offset = FauxScrollFrame_GetOffset(subtableFrame.scrollBar)
|
|
for i = 1, MAX_ROWS2 do
|
|
local value = i + offset
|
|
subtableFrame.rows[i]:SetChecked(false)
|
|
subtableFrame.rows[i]:SetHighlightTexture("Interface\\QuestFrame\\UI-QuestTitleHighlight", "ADD")
|
|
if value <= maxValue and (_G[dataSource][tablename][value] or _G[dataSource][tablename][tablenum][value]) and tablename ~= "SearchMENU" then
|
|
local row = subtableFrame.rows[i]
|
|
row.dataSource = dataSource
|
|
row.tablename = tablename
|
|
row.tablenum = value
|
|
if dataSource == "AtlasLoot_MapData" then
|
|
local text = _G[dataSource][tablename][tablenum][value][1]
|
|
if _G[dataSource][tablename][tablenum][value][2] then text = text.._G[dataSource][tablename][tablenum][value][2] end
|
|
if _G[dataSource][tablename][tablenum][value].SubZone then
|
|
text = BLUE..text
|
|
elseif not _G[dataSource][tablename][tablenum][value].Zone then
|
|
text = WHITE..text
|
|
end
|
|
if not _G[dataSource][tablename][tablenum][value].cords and not _G[dataSource][tablename][tablenum][value].Zone and not _G[dataSource][tablename][tablenum][value].SubZone then text = INDENT..text end
|
|
row.Text:SetText(text)
|
|
row:SetScript("OnEnter", function(self)
|
|
GameTooltip:SetOwner(self, "ANCHOR_TOP")
|
|
GameTooltip:SetText(_G[dataSource][tablename][tablenum][value][1])
|
|
GameTooltip:Show()
|
|
end)
|
|
row:SetScript("OnLeave", function() GameTooltip:Hide() end)
|
|
else
|
|
row.Text:SetText("|cffFFd200".._G[dataSource][tablename][value].Name)
|
|
row:SetScript("OnEnter", function(self)
|
|
GameTooltip:Hide()
|
|
end)
|
|
if tablenum == value and dataSource ~= "AtlasLoot_MapData" then
|
|
row:SetChecked(true)
|
|
end
|
|
end
|
|
row:Show()
|
|
else
|
|
subtableFrame.rows[i]:Hide()
|
|
end
|
|
end
|
|
end
|
|
|
|
local scrollSlider2 = CreateFrame("ScrollFrame","AtlasLootDefaultFrameSubTableScroll",Atlasloot_SubTableFrame,"FauxScrollFrameTemplate")
|
|
scrollSlider2:SetPoint("TOPLEFT", 0, -8)
|
|
scrollSlider2:SetPoint("BOTTOMRIGHT", -30, 8)
|
|
scrollSlider2:SetScript("OnVerticalScroll", function(self, offset)
|
|
self.offset = math.floor(offset / ROW_HEIGHT + 0.5)
|
|
AtlasLoot:SubTableScrollFrameUpdate(subtableFrame.tablename, subtableFrame.dataSource, subtableFrame.tablenum)
|
|
end)
|
|
|
|
subtableFrame.scrollBar = scrollSlider2
|
|
|
|
local rows2 = setmetatable({}, { __index = function(t, i)
|
|
local row = CreateFrame("CheckButton", "$parentRow"..i, Atlasloot_SubTableFrame)
|
|
row:SetSize(230, ROW_HEIGHT)
|
|
row:SetFrameStrata("HIGH")
|
|
row:SetNormalFontObject(GameFontHighlightLeft)
|
|
row:SetCheckedTexture("Interface\\QuestFrame\\UI-QuestTitleHighlight", "ADD")
|
|
row:RegisterForClicks("AnyDown")
|
|
row.Text = row:CreateFontString("$parentRow"..i.."Text","OVERLAY","GameFontNormal")
|
|
row.Text:SetSize(230, ROW_HEIGHT)
|
|
row.Text:SetPoint("LEFT",row)
|
|
row.Text:SetJustifyH("LEFT")
|
|
row:SetScript("OnClick", function(self, button)
|
|
local npcID = _G[row.dataSource][row.tablename][row.tablenum].NpcID
|
|
if button == "RightButton" and npcID then
|
|
row:SetChecked(not row:GetChecked())
|
|
AtlasLoot:OpenDB(self, "npc", npcID)
|
|
elseif row.dataSource ~= "AtlasLoot_MapData" then
|
|
AtlasLoot:ShowItemsFrame(row.tablename, row.dataSource, row.tablenum)
|
|
else
|
|
row:SetChecked(false)
|
|
end
|
|
end)
|
|
if i == 1 then
|
|
row:SetPoint("TOPLEFT", subtableFrame, 8, -8)
|
|
else
|
|
row:SetPoint("TOPLEFT", subtableFrame.rows[i-1], "BOTTOMLEFT")
|
|
end
|
|
|
|
rawset(t, i, row)
|
|
return row
|
|
end })
|
|
|
|
subtableFrame.rows = rows2
|
|
|
|
--------------------------------- Map Frame and buttons -----------------------------------------------
|
|
|
|
--AtlasLoot Maps
|
|
local mapFrame = CreateFrame("Frame", "AtlasLootDefaultFrame_Map", AtlasLootDefaultFrame)
|
|
mapFrame:SetSize(770,513)
|
|
mapFrame:SetPoint("TOPLEFT", AtlasLootDefaultFrame, "TOPLEFT",30,-86)
|
|
mapFrame:SetFrameStrata("HIGH")
|
|
mapFrame:Hide()
|
|
mapFrame:EnableMouse()
|
|
mapFrame:SetScript("OnMouseDown", function(self, button)
|
|
if button == "RightButton" then
|
|
AtlasLoot:MapOnShow()
|
|
elseif button == "LeftButton" then
|
|
--print(AtlasLoot:GetCursorCords())
|
|
end
|
|
end)
|
|
|
|
mapFrame:EnableMouseWheel(true)
|
|
mapFrame.cursorCords = mapFrame:CreateFontString(nil,"ARTWORK","GameFontNormal")
|
|
mapFrame.cursorCords:SetPoint("TOPRIGHT", mapFrame, -10, 0)
|
|
mapFrame.cursorCords:Show()
|
|
mapFrame.cursorCords:SetSize(150, 25)
|
|
mapFrame.cursorCords:SetJustifyH("RIGHT")
|
|
mapFrame:SetScript("OnMouseWheel", function(self,delta)
|
|
if AtlasLootItemsFrame_NEXT:IsVisible() and delta == -1 then
|
|
AtlasLootItemsFrame_NEXT:Click()
|
|
end
|
|
if AtlasLootItemsFrame_PREV:IsVisible() and delta == 1 then
|
|
AtlasLootItemsFrame_PREV:Click()
|
|
end
|
|
end)
|
|
|
|
mapFrame:SetScript("OnShow", function() mapFrame.cursorCords:SetText(WHITE.."Cursor: ---") end)
|
|
mapFrame:SetScript("OnEnter", function() AtlasLoot.showCords = true AtlasLoot:MapOnEnter() end)
|
|
mapFrame:SetScript("OnUpdate", function() AtlasLoot:MapOnEnter() end)
|
|
mapFrame:SetScript("OnLeave", function()
|
|
AtlasLoot.showCords = false
|
|
mapFrame.cursorCords:SetText(WHITE.."Cursor: ---")
|
|
end)
|
|
|
|
for i=1, 12 do
|
|
mapFrame.tile = mapFrame:CreateTexture("AtlasLoot_MapDetailTile"..i, "BACKGROUND")
|
|
mapFrame.tile:SetSize(196,196)
|
|
mapFrame.tile:Show()
|
|
end
|
|
|
|
AtlasLoot_MapDetailTile1:SetPoint("TOPLEFT", mapFrame)
|
|
AtlasLoot_MapDetailTile2:SetPoint("TOPLEFT", AtlasLoot_MapDetailTile1,"TOPRIGHT")
|
|
AtlasLoot_MapDetailTile3:SetPoint("TOPLEFT", AtlasLoot_MapDetailTile2,"TOPRIGHT")
|
|
AtlasLoot_MapDetailTile4:SetPoint("TOPLEFT", AtlasLoot_MapDetailTile3,"TOPRIGHT")
|
|
AtlasLoot_MapDetailTile5:SetPoint("TOPLEFT", AtlasLoot_MapDetailTile1,"BOTTOMLEFT")
|
|
AtlasLoot_MapDetailTile6:SetPoint("TOPLEFT", AtlasLoot_MapDetailTile5,"TOPRIGHT")
|
|
AtlasLoot_MapDetailTile7:SetPoint("TOPLEFT", AtlasLoot_MapDetailTile6,"TOPRIGHT")
|
|
AtlasLoot_MapDetailTile8:SetPoint("TOPLEFT", AtlasLoot_MapDetailTile7,"TOPRIGHT")
|
|
AtlasLoot_MapDetailTile9:SetPoint("TOPLEFT", AtlasLoot_MapDetailTile5,"BOTTOMLEFT")
|
|
AtlasLoot_MapDetailTile10:SetPoint("TOPLEFT", AtlasLoot_MapDetailTile9,"TOPRIGHT")
|
|
AtlasLoot_MapDetailTile11:SetPoint("TOPLEFT", AtlasLoot_MapDetailTile10,"TOPRIGHT")
|
|
AtlasLoot_MapDetailTile12:SetPoint("TOPLEFT", AtlasLoot_MapDetailTile11,"TOPRIGHT")
|
|
|
|
mapFrame.playerPin = CreateFrame("Button", "AtlasLoot_PlayerMapPin", AtlasLootDefaultFrame_Map)
|
|
mapFrame.playerPin:SetSize(35,35)
|
|
mapFrame.playerPin:SetFrameStrata("HIGH")
|
|
mapFrame.playerPin.texture = mapFrame.playerPin:CreateTexture(nil, "ARTWORK")
|
|
mapFrame.playerPin.texture:SetTexture("Interface\\Minimap\\MinimapArrow")
|
|
mapFrame.playerPin.texture:SetSize(35,35)
|
|
mapFrame.playerPin.texture:SetPoint("CENTER",0,0)
|
|
mapFrame.playerPin:SetScript("OnEnter", function(self)
|
|
GameTooltip:SetOwner(self, "ANCHOR_TOPLEFT")
|
|
GameTooltip:AddLine("You are here")
|
|
GameTooltip:Show()
|
|
end)
|
|
mapFrame.playerPin:SetScript("OnLeave", function()
|
|
GameTooltip:Hide()
|
|
end)
|
|
mapFrame.playerPin:Hide()
|
|
|
|
-- Map Button
|
|
mainframe.mapButton = CreateFrame("Button","AtlasLootDefaultFrame_MapButton", AtlasLootDefaultFrame, "FilterDropDownMenuTemplate")
|
|
removeScripts(mainframe.mapButton)
|
|
mainframe.mapButton:SetSize(265,25)
|
|
mainframe.mapButton:SetPoint("LEFT",AtlasLootDefaultFrame_LoadInstanceButton,"RIGHT",10.5,0)
|
|
mainframe.mapButton.template = "FilterDropDownMenuTemplate"
|
|
mainframe.mapButton:SetText("No Map")
|
|
mainframe.mapButton:RegisterForClicks("AnyDown")
|
|
mainframe.mapButton:SetScript("OnClick", function(self, button)
|
|
if button == "LeftButton" then
|
|
AtlasLoot:MapOnShow(AtlasLoot.CurrentMap, AtlasLoot.MapNum or 1)
|
|
else
|
|
AtlasLoot:MapMenuOpen(self)
|
|
end
|
|
end)
|
|
mainframe.mapButton:SetScript("OnEnter", function(self)
|
|
GameTooltip:SetOwner(self, "ANCHOR_TOPLEFT")
|
|
GameTooltip:AddLine("Open Map")
|
|
GameTooltip:Show()
|
|
end)
|
|
mainframe.mapButton:SetScript("OnLeave", function()
|
|
GameTooltip:Hide()
|
|
end)
|
|
mainframe.mapButton.mapButtonIcon = mainframe.mapButton:CreateTexture("ARTWORK")
|
|
mainframe.mapButton.mapButtonIcon:SetSize(19,19)
|
|
mainframe.mapButton.mapButtonIcon:SetAtlas("poi-islands-table")
|
|
mainframe.mapButton.mapButtonIcon:SetPoint("RIGHT",mainframe.mapButton, -20, -1)
|
|
-- item data loading icon animation
|
|
local streamIcon = CreateFrame("Frame", "AtlasLoot_ItemsLoading", AtlaslLoot_LootBackground)
|
|
streamIcon:SetPoint("TOPRIGHT", AtlaslLoot_LootBackground, "TOPRIGHT")
|
|
streamIcon:SetSize(48, 48)
|
|
streamIcon.tooltip = "Searching..."
|
|
streamIcon:EnableMouse(true)
|
|
|
|
streamIcon.icon = streamIcon:CreateTexture("$parentSpinner", "BACKGROUND")
|
|
streamIcon.icon:SetTexture("Interface\\Addons\\AtlasLoot\\Images\\streamcircle")
|
|
streamIcon.icon:SetVertexColor(0,1,0)
|
|
streamIcon.icon:SetAllPoints()
|
|
streamIcon.spark = streamIcon:CreateTexture("OVERLAY")
|
|
streamIcon.spark:SetTexture("Interface\\Addons\\AtlasLoot\\Images\\streamspark")
|
|
streamIcon.spark:SetAllPoints()
|
|
|
|
streamIcon.frame = CreateFrame("Frame", "$parentFrame", AtlasLoot_ItemsLoading)
|
|
streamIcon.frame:SetAllPoints()
|
|
streamIcon.frame.bg = streamIcon.frame:CreateTexture("$parentBackground", "BACKGROUND")
|
|
streamIcon.frame.bg:SetTexture("Interface\\Addons\\AtlasLoot\\Images\\streambackground")
|
|
streamIcon.frame.bg:SetVertexColor(0,1,0)
|
|
streamIcon.frame.bg:SetAllPoints()
|
|
streamIcon.frame.alpha = streamIcon.frame:CreateTexture("$parentAlpha", "ARTWORK")
|
|
streamIcon.frame.alpha:SetTexture("Interface\\Addons\\AtlasLoot\\Images\\streamframe")
|
|
streamIcon.frame.alpha:SetAllPoints()
|
|
|
|
streamIcon.Loop = streamIcon:CreateAnimationGroup("$parentLoopAnim")
|
|
streamIcon.Loop:SetLooping("REPEAT")
|
|
local rotAnim = streamIcon.Loop:CreateAnimation("ROTATION")
|
|
rotAnim:SetOrder(1)
|
|
rotAnim:SetDuration(8)
|
|
rotAnim:SetDegrees(-360)
|
|
|
|
streamIcon:SetScript("OnEnter",
|
|
function(self)
|
|
if(self.tooltip ~= nil) then
|
|
GameTooltip:SetOwner(self, "ANCHOR_LEFT")
|
|
GameTooltip:SetText(self.tooltip, nil, nil, nil, nil, true)
|
|
end
|
|
end)
|
|
streamIcon:SetScript("OnLeave", GameTooltip_Hide)
|
|
streamIcon:SetScript("OnShow", function(self) self:SetFrameLevel( (self:GetParent()):GetFrameLevel() + 1 ) end)
|
|
|
|
streamIcon:SetPoint("TOPRIGHT", AtlaslLoot_LootBackground, "TOPRIGHT")
|
|
streamIcon:Hide()
|
|
|
|
local itemPopupframe = CreateFrame("Frame", "AtlasLoot_PopupFrame")
|
|
itemPopupframe:EnableMouse()
|
|
itemPopupframe:SetScript("OnLeave", function(self)
|
|
AtlasLoot:ItemOnLeave(self)
|
|
end)
|
|
itemPopupframe:SetScript("OnEnter", function()
|
|
AtlasLoot_PopupFrame:Show()
|
|
end)
|
|
itemPopupframe:SetWidth(211)
|
|
itemPopupframe:Hide() |