Загрузить файлы в «/»

This commit is contained in:
Ade
2026-10-14 11:48:45 +00:00
parent 941fc1979b
commit bd480d6789
3 changed files with 92 additions and 15 deletions
+55 -7
View File
@@ -56,9 +56,34 @@ AA.PR.empty:SetPoint("CENTER", AA.PR, "CENTER", 0, 0)
AA.PR.empty:SetWidth(240)
AA.PR.empty:Hide()
-- mode / sort buttons (second header row)
local function MakeRecBtn(label, field, value, x, w)
local b = CreateFrame("Button", nil, AA.PR, "UIPanelButtonTemplate")
b:SetWidth(w)
b:SetHeight(18)
b:SetPoint("TOPLEFT", AA.PR, "TOPLEFT", x, -26)
b:SetText(label)
b.field, b.value = field, value
b:SetScript("OnClick", function()
AA.db[this.field] = this.value
AA.ResetScroll(AA.PR.sf)
AA.RefreshManager()
end)
return b
end
AA.PR.btns = {
MakeRecBtn("Known", "recMode", "known", 10, 60),
MakeRecBtn("Missing", "recMode", "missing", 74, 64),
MakeRecBtn("Level", "recSort", "level", 160, 54),
MakeRecBtn("Name", "recSort", "name", 218, 54),
}
AA.PR.sortLabel = AA.PR:CreateFontString(nil, "OVERLAY", "GameFontDisableSmall")
AA.PR.sortLabel:SetPoint("RIGHT", AA.PR.btns[3], "LEFT", -4, 0)
AA.PR.sortLabel:SetText("Sort:")
AA.recList, AA.recRows = {}, {}
AA.PR.sf = CreateFrame("ScrollFrame", "AdeAltsRecipeScroll", AA.PR, "FauxScrollFrameTemplate")
AA.PR.sf:SetPoint("TOPLEFT", AA.PR, "TOPLEFT", 0, -26)
AA.PR.sf:SetPoint("TOPLEFT", AA.PR, "TOPLEFT", 0, -48)
AA.PR.sf:SetPoint("BOTTOMRIGHT", AA.PR, "BOTTOMRIGHT", -26, 4)
AA.PR.sf:SetScript("OnVerticalScroll", function() FauxScrollFrame_OnVerticalScroll(AA.RROWH, AA.UpdateRecipes) end)
AA.PR:EnableMouseWheel(true)
@@ -67,11 +92,21 @@ AA.PR:SetScript("OnMouseWheel", function() AA.ScrollWheel(AA.PR.sf, AA.RROWH) en
function AA.MakeRecRow()
local r = CreateFrame("Button", nil, AA.PR)
r:SetHeight(AA.RROWH - 2)
r.lvl = r:CreateFontString(nil, "OVERLAY", "GameFontHighlightSmall")
r.lvl:SetPoint("LEFT", r, "LEFT", 2, 0)
r.lvl:SetWidth(34)
r.lvl:SetJustifyH("LEFT")
r.src = r:CreateFontString(nil, "OVERLAY", "GameFontDisableSmall")
r.src:SetPoint("RIGHT", r, "RIGHT", -2, 0)
r.src:SetJustifyH("RIGHT")
r.text = r:CreateFontString(nil, "OVERLAY", "GameFontHighlightSmall")
r.text:SetPoint("LEFT", r, "LEFT", 2, 0)
r.text:SetPoint("LEFT", r.lvl, "RIGHT", 2, 0)
r.text:SetJustifyH("LEFT")
r:SetHighlightTexture("Interface\\QuestFrame\\UI-QuestTitleHighlight")
r:EnableMouseWheel(true)
r:SetScript("OnMouseWheel", function() AA.ScrollWheel(AA.PR.sf, AA.RROWH) end)
r:SetScript("OnEnter", function() AA.RecipeTip(this) end)
r:SetScript("OnLeave", function() GameTooltip:Hide() end)
r:Hide()
table.insert(AA.recRows, r)
end
@@ -79,16 +114,29 @@ end
AA.UpdateRecipes = function()
FauxScrollFrame_Update(AA.PR.sf, table.getn(AA.recList), AA.RROWS, AA.RROWH)
local off = FauxScrollFrame_GetOffset(AA.PR.sf)
local missing = AA.db and AA.db.recMode == "missing"
local rank = AA.recRank or 0
for i = 1, table.getn(AA.recRows) do
local r = AA.recRows[i]
local name = nil
if i <= AA.RROWS then name = AA.recList[off + i] end
if name then
r.text:SetText(name)
local e = nil
if i <= AA.RROWS then e = AA.recList[off + i] end
if e then
r.entry = e
if e.skill > 0 then
r.lvl:SetText(AA.RecipeColor(e, rank) .. e.skill .. "|r")
else
r.lvl:SetText("|cff808080?|r")
end
r.text:SetText(e.name)
if missing and e.cr then
r.src:SetText(AA.CraftSource(e.cr))
else
r.src:SetText("")
end
r:Show()
else
r.entry = nil
r:Hide()
end
end
end