From 1c6e66432207b1d0519aa5c5840ed0007a75de23 Mon Sep 17 00:00:00 2001 From: "James D. Callahan III" Date: Sun, 20 Jun 2010 03:17:26 -0400 Subject: [PATCH] Massive code cleanup/simplification - round 2. --- Frame.lua | 832 ++++++++++++++++++++++++++----------------------------------- 1 file changed, 356 insertions(+), 476 deletions(-) diff --git a/Frame.lua b/Frame.lua index c5e64c5..c964e43 100644 --- a/Frame.lua +++ b/Frame.lua @@ -3260,6 +3260,12 @@ function GenerateClickableTT(anchor) tip:Show() end +local EXPANSION_FRAMES = { + ["expansion0"] = true, + ["expansion1"] = true, + ["expansion2"] = true, +} + ------------------------------------------------------------------------------- -- Initializes runtime elements of MainPanel. ------------------------------------------------------------------------------- @@ -3270,13 +3276,13 @@ local function InitializeFrame() ------------------------------------------------------------------------------- local isAlliance = (Player.faction == "Alliance") - local HonorHold_Thrallmar_FactionText = isAlliance and BFAC["Honor Hold"] or BFAC["Thrallmar"] - local Kurenai_Maghar_FactionText = isAlliance and BFAC["Kurenai"] or BFAC["The Mag'har"] - local Vanguard_Expedition_FactionText = isAlliance and BFAC["Alliance Vanguard"] or BFAC["Horde Expedition"] - local SilverCov_Sunreaver_FactionText = isAlliance and BFAC["The Silver Covenant"] or BFAC["The Sunreavers"] - local Valiance_Warsong_FactionText = isAlliance and BFAC["Valiance Expedition"] or BFAC["Warsong Offensive"] - local Frostborn_Taunka_FactionText = isAlliance and BFAC["The Frostborn"] or BFAC["The Taunka"] - local Explorer_Hand_FactionText = isAlliance and BFAC["Explorers' League"] or BFAC["The Hand of Vengeance"] + local HonorHold_Thrallmar_Text = isAlliance and BFAC["Honor Hold"] or BFAC["Thrallmar"] + local Kurenai_Maghar_Text = isAlliance and BFAC["Kurenai"] or BFAC["The Mag'har"] + local Vanguard_Expedition_Text = isAlliance and BFAC["Alliance Vanguard"] or BFAC["Horde Expedition"] + local SilverCov_Sunreaver_Text = isAlliance and BFAC["The Silver Covenant"] or BFAC["The Sunreavers"] + local Valiance_Warsong_Text = isAlliance and BFAC["Valiance Expedition"] or BFAC["Warsong Offensive"] + local Frostborn_Taunka_Text = isAlliance and BFAC["The Frostborn"] or BFAC["The Taunka"] + local Explorer_Hand_Text = isAlliance and BFAC["Explorers' League"] or BFAC["The Hand of Vengeance"] ------------------------------------------------------------------------------- -- Create the seven buttons for opening/closing the filter menus @@ -3296,15 +3302,14 @@ local function InitializeFrame() -- This manages the filter menu panel, as well as checking or unchecking the -- buttons that got us here in the first place local function ToggleFilterMenu(panel) + local rep_menu = MainPanel.filter_menu.rep local ChangeFilters = false - MainPanel.filter_menu.rep.Classic:Hide() - MainPanel.filter_menu.rep.BC:Hide() - MainPanel.filter_menu.rep.LK:Hide() - - MainPanel.filter_menu.rep.toggle_originalwow:SetChecked(false) - MainPanel.filter_menu.rep.toggle_bc:SetChecked(false) - MainPanel.filter_menu.rep.toggle_wrath:SetChecked(false) + -- Make sure the expansion frames and toggle buttons are hidden/unchecked. + for expansion in pairs(EXPANSION_FRAMES) do + rep_menu[expansion]:Hide() + rep_menu["toggle_" .. expansion]:SetChecked(false) + end local toggle = "menu_toggle_" .. panel @@ -3538,9 +3543,9 @@ local function InitializeFrame() ["discovery"] = { tt = L["DISCOVERY_DESC"], text = L["Discovery"], row = 4, col = 2 }, ["worlddrop"] = { tt = L["WORLD_DROP_DESC"], text = L["World Drop"], row = 5, col = 1 }, ["mobdrop"] = { tt = L["MOB_DROP_DESC"], text = L["Mob Drop"], row = 5, col = 2 }, - ["originalwow"] = { tt = L["ORIGINAL_WOW_DESC"], text = _G.EXPANSION_NAME0, row = 7, col = 1 }, - ["bc"] = { tt = L["BC_WOW_DESC"], text = _G.EXPANSION_NAME1, row = 8, col = 1 }, - ["wrath"] = { tt = L["LK_WOW_DESC"], text = _G.EXPANSION_NAME2, row = 9, col = 1 }, + ["expansion0"] = { tt = L["ORIGINAL_WOW_DESC"], text = _G.EXPANSION_NAME0, row = 7, col = 1 }, + ["expansion1"] = { tt = L["BC_WOW_DESC"], text = _G.EXPANSION_NAME1, row = 8, col = 1 }, + ["expansion2"] = { tt = L["LK_WOW_DESC"], text = _G.EXPANSION_NAME2, row = 9, col = 1 }, } GenerateCheckBoxes(obtain_frame, obtain_buttons) obtain_buttons = nil @@ -3706,20 +3711,47 @@ local function InitializeFrame() ------------------------------------------------------------------------------- do local rep_frame = MainPanel.filter_menu:CreateSubMenu("rep") - end - ------------------------------------------------------------------------------- - -- Create the expansion toggles for MainPanel.filter_menu.rep - ------------------------------------------------------------------------------- - do + local EXPANSION_TOOLTIP = { + ["expansion0"] = L["FILTERING_OLDWORLD_DESC"], + ["expansion1"] = L["FILTERING_BC_DESC"], + ["expansion2"] = L["FILTERING_WOTLK_DESC"], + } ------------------------------------------------------------------------------- - -- Generic function to create expansion buttons in MainPanel.filter_menu.rep + -- This manages the WoW expansion reputation filter menu panel ------------------------------------------------------------------------------- - local function CreateExpansionButton(texture, tooltip_text) - local cButton = CreateFrame("CheckButton", nil, MainPanel.filter_menu.rep) + local function ToggleExpansionMenu(panel) + local toggle = "toggle_" .. panel + + if not rep_frame[toggle]:GetChecked() then + rep_frame[toggle]:SetChecked(true) + rep_frame[panel]:Show() + + -- Hide all of the other expansion frames, and un-check them as well. + for expansion in pairs(EXPANSION_FRAMES) do + if expansion ~= panel then + local tog = "toggle_" .. expansion + + rep_frame[tog]:SetChecked(false) + rep_frame[expansion]:Hide() + end + end + else + rep_frame[toggle]:SetChecked(false) + end + end + + ------------------------------------------------------------------------------- + -- Generic function to create expansion buttons. + ------------------------------------------------------------------------------- + function rep_frame:CreateExpansionButton(texture, expansion) + local cButton = CreateFrame("CheckButton", nil, self) cButton:SetWidth(100) cButton:SetHeight(46) cButton:SetChecked(false) + cButton:SetScript("OnClick", function(self, button, down) + ToggleExpansionMenu(expansion) + end) local iconTex = cButton:CreateTexture(nil, "BORDER") @@ -3750,380 +3782,224 @@ local function InitializeFrame() cButton:SetCheckedTexture(checkedTexture) -- And throw up a tooltip - SetTooltipScripts(cButton, tooltip_text) + SetTooltipScripts(cButton, EXPANSION_TOOLTIP[expansion]) return cButton end ------------------------------------------------------------------------------- - -- Rep Filtering panel switcher + -- Create the expansion toggles. ------------------------------------------------------------------------------- - local function RepFilterSwitch(whichrep) - -- 1 MainPanel.filter_menu.rep.toggle_originalwow Classic Rep - -- 2 MainPanel.filter_menu.rep.toggle_bc Burning Crusade - -- 3 MainPanel.filter_menu.rep.toggle_wrath Wrath of the Lich King - local HidePanel = false - - if whichrep == 1 then - if MainPanel.filter_menu.rep.toggle_originalwow:GetChecked() then - MainPanel.filter_menu.rep.Classic:Show() - MainPanel.filter_menu.rep.BC:Hide() - MainPanel.filter_menu.rep.LK:Hide() - MainPanel.filter_menu.rep.toggle_bc:SetChecked(false) - MainPanel.filter_menu.rep.toggle_wrath:SetChecked(false) - else - HidePanel = true - end - elseif whichrep == 2 then - if MainPanel.filter_menu.rep.toggle_bc:GetChecked() then - MainPanel.filter_menu.rep.Classic:Hide() - MainPanel.filter_menu.rep.BC:Show() - MainPanel.filter_menu.rep.LK:Hide() - MainPanel.filter_menu.rep.toggle_originalwow:SetChecked(false) - MainPanel.filter_menu.rep.toggle_wrath:SetChecked(false) - else - HidePanel = true - end - else -- whichrep == 3 (WotLK) - if MainPanel.filter_menu.rep.toggle_wrath:GetChecked() then - MainPanel.filter_menu.rep.Classic:Hide() - MainPanel.filter_menu.rep.BC:Hide() - MainPanel.filter_menu.rep.LK:Show() - MainPanel.filter_menu.rep.toggle_originalwow:SetChecked(false) - MainPanel.filter_menu.rep.toggle_bc:SetChecked(false) - else - HidePanel = true - end - end + local expansion0 = rep_frame:CreateExpansionButton("Glues-WoW-Logo", "expansion0") + expansion0:SetPoint("TOPLEFT", MainPanel.filter_menu.rep, "TOPLEFT", 0, -10) - if HidePanel then - MainPanel.filter_menu.rep.Classic:Hide() - MainPanel.filter_menu.rep.BC:Hide() - MainPanel.filter_menu.rep.LK:Hide() + local expansion1 = rep_frame:CreateExpansionButton("GLUES-WOW-BCLOGO", "expansion1") + expansion1:SetPoint("TOPLEFT", MainPanel.filter_menu.rep, "TOPLEFT", 0, -60) - MainPanel.filter_menu.rep.toggle_originalwow:SetChecked(false) - MainPanel.filter_menu.rep.toggle_bc:SetChecked(false) - MainPanel.filter_menu.rep.toggle_wrath:SetChecked(false) - end - end - MainPanel.filter_menu.rep.toggle_originalwow = CreateExpansionButton("Glues-WoW-Logo", L["FILTERING_OLDWORLD_DESC"]) - MainPanel.filter_menu.rep.toggle_originalwow:SetPoint("TOPLEFT", MainPanel.filter_menu.rep, "TOPLEFT", 0, -10) - MainPanel.filter_menu.rep.toggle_originalwow:SetScript("OnClick", - function() - RepFilterSwitch(1) - end) - - MainPanel.filter_menu.rep.toggle_bc = CreateExpansionButton("GLUES-WOW-BCLOGO", L["FILTERING_BC_DESC"]) - MainPanel.filter_menu.rep.toggle_bc:SetPoint("TOPLEFT", MainPanel.filter_menu.rep, "TOPLEFT", 0, -60) - MainPanel.filter_menu.rep.toggle_bc:SetScript("OnClick", - function() - RepFilterSwitch(2) - end) - - MainPanel.filter_menu.rep.toggle_wrath = CreateExpansionButton("Glues-WOW-WotlkLogo", L["FILTERING_WOTLK_DESC"]) - MainPanel.filter_menu.rep.toggle_wrath:SetPoint("TOPLEFT", MainPanel.filter_menu.rep, "TOPLEFT", 0, -110) - MainPanel.filter_menu.rep.toggle_wrath:SetScript("OnClick", - function() - RepFilterSwitch(3) - end) + local expansion2 = rep_frame:CreateExpansionButton("Glues-WOW-WotlkLogo", "expansion2") + expansion2:SetPoint("TOPLEFT", MainPanel.filter_menu.rep, "TOPLEFT", 0, -110) + + rep_frame.toggle_expansion0 = expansion0 + rep_frame.toggle_expansion1 = expansion1 + rep_frame.toggle_expansion2 = expansion2 end -- do ------------------------------------------------------------------------------- - -- Create MainPanel.filter_menu.rep.Classic, and set its scripts. + -- Used for the tooltip of every reputation checkbox. ------------------------------------------------------------------------------- - MainPanel.filter_menu.rep.Classic = CreateFrame("Frame", nil, MainPanel.filter_menu.rep) - MainPanel.filter_menu.rep.Classic:SetWidth(150) - MainPanel.filter_menu.rep.Classic:SetHeight(280) - MainPanel.filter_menu.rep.Classic:EnableMouse(true) - MainPanel.filter_menu.rep.Classic:EnableKeyboard(true) - MainPanel.filter_menu.rep.Classic:SetMovable(false) - MainPanel.filter_menu.rep.Classic:SetPoint("TOPRIGHT", MainPanel.filter_menu, "TOPRIGHT", -30, -16) - MainPanel.filter_menu.rep.Classic:Hide() + local function ReputationDesc(text) + return string.format(L["SPECIFIC_REP_DESC"], text) + end ------------------------------------------------------------------------------- - -- Create MainPanel.filter_menu.rep.BC, and set its scripts. + -- Create MainPanel.filter_menu.rep.expansion0, and set its scripts. ------------------------------------------------------------------------------- - MainPanel.filter_menu.rep.BC = CreateFrame("Frame", nil, MainPanel.filter_menu.rep) - MainPanel.filter_menu.rep.BC:SetWidth(150) - MainPanel.filter_menu.rep.BC:SetHeight(280) - MainPanel.filter_menu.rep.BC:EnableMouse(true) - MainPanel.filter_menu.rep.BC:EnableKeyboard(true) - MainPanel.filter_menu.rep.BC:SetMovable(false) - MainPanel.filter_menu.rep.BC:SetPoint("TOPRIGHT", MainPanel.filter_menu, "TOPRIGHT", -30, -16) - MainPanel.filter_menu.rep.BC:Hide() + do + local expansion0_frame = CreateFrame("Frame", nil, MainPanel.filter_menu.rep) + expansion0_frame:SetWidth(150) + expansion0_frame:SetHeight(280) + expansion0_frame:EnableMouse(true) + expansion0_frame:EnableKeyboard(true) + expansion0_frame:SetMovable(false) + expansion0_frame:SetPoint("TOPRIGHT", MainPanel.filter_menu, "TOPRIGHT", -30, -16) + expansion0_frame:Hide() - ------------------------------------------------------------------------------- - -- Create MainPanel.filter_menu.rep.LK, and set its scripts. - ------------------------------------------------------------------------------- - MainPanel.filter_menu.rep.LK = CreateFrame("Frame", nil, MainPanel.filter_menu.rep) - MainPanel.filter_menu.rep.LK:SetWidth(150) - MainPanel.filter_menu.rep.LK:SetHeight(280) - MainPanel.filter_menu.rep.LK:EnableMouse(true) - MainPanel.filter_menu.rep.LK:EnableKeyboard(true) - MainPanel.filter_menu.rep.LK:SetMovable(false) - MainPanel.filter_menu.rep.LK:SetPoint("TOPRIGHT", MainPanel.filter_menu, "TOPRIGHT", -30, -16) - MainPanel.filter_menu.rep.LK:Hide() + MainPanel.filter_menu.rep.expansion0 = expansion0_frame - ------------------------------------------------------------------------------- - -- Classic Reputations - ------------------------------------------------------------------------------- - local ARL_Rep_ClassicButton = GenericCreateButton("ARL_Rep_ClassicButton", MainPanel.filter_menu.rep.Classic, 15, 120, "GameFontHighlight", "GameFontHighlightSmall", - _G.REPUTATION .. ":", "LEFT", L["REP_TEXT_DESC"], 0) - ARL_Rep_ClassicButton:SetPoint("TOPLEFT", MainPanel.filter_menu.rep.Classic, "TOPLEFT", -2, -4) - - ARL_Rep_ClassicButton:SetHighlightTexture("Interface\\Buttons\\UI-PlusButton-Hilight") - ARL_Rep_ClassicButton:RegisterForClicks("LeftButtonUp", "RightButtonUp") - ARL_Rep_ClassicButton:SetScript("OnClick", - function(self,button) - local filterdb = addon.db.profile.filters.rep - if button == "LeftButton" then - -- Set all Reputations to true - filterdb.argentdawn = true - filterdb.cenarioncircle = true - filterdb.thoriumbrotherhood = true - filterdb.timbermaw = true - filterdb.zandalar = true - elseif button == "RightButton" then - -- Set all Reputations to false - filterdb.argentdawn = false - filterdb.cenarioncircle = false - filterdb.thoriumbrotherhood = false - filterdb.timbermaw = false - filterdb.zandalar = false - end - -- Update the checkboxes with the new value - ARL_RepArgentDawnCB:SetChecked(filterdb.argentdawn) - ARL_RepCenarionCircleCB:SetChecked(filterdb.cenarioncircle) - ARL_RepThoriumCB:SetChecked(filterdb.thoriumbrotherhood) - ARL_RepTimbermawCB:SetChecked(filterdb.timbermaw) - ARL_RepZandalarCB:SetChecked(filterdb.zandalar) - -- Reset our title - MainPanel:UpdateTitle() - -- Use new filters - ListFrame:Update(nil, false) - end) - - local ARL_RepArgentDawnCB = CreateCheckButton(MainPanel.filter_menu.rep.Classic, sformat(L["SPECIFIC_REP_DESC"], BFAC["Argent Dawn"]), "argentdawn", 2, 1) - ARL_RepArgentDawnCB.text:SetText(BFAC["Argent Dawn"]) - - local ARL_RepCenarionCircleCB = CreateCheckButton(MainPanel.filter_menu.rep.Classic, sformat(L["SPECIFIC_REP_DESC"], BFAC["Cenarion Circle"]), "cenarioncircle", 3, 1) - ARL_RepCenarionCircleCB.text:SetText(BFAC["Cenarion Circle"]) - - local ARL_RepThoriumCB = CreateCheckButton(MainPanel.filter_menu.rep.Classic, sformat(L["SPECIFIC_REP_DESC"], BFAC["Thorium Brotherhood"]), "thoriumbrotherhood", 4, 1) - ARL_RepThoriumCB.text:SetText(BFAC["Thorium Brotherhood"]) - - local ARL_RepTimbermawCB = CreateCheckButton(MainPanel.filter_menu.rep.Classic, sformat(L["SPECIFIC_REP_DESC"], BFAC["Timbermaw Hold"]), "timbermaw", 5, 1) - ARL_RepTimbermawCB.text:SetText(BFAC["Timbermaw Hold"]) - - local ARL_RepZandalarCB = CreateCheckButton(MainPanel.filter_menu.rep.Classic, sformat(L["SPECIFIC_REP_DESC"], BFAC["Zandalar Tribe"]), "zandalar", 6, 1) - ARL_RepZandalarCB.text:SetText(BFAC["Zandalar Tribe"]) + ------------------------------------------------------------------------------- + -- Create the Reputation toggle and CheckButtons + ------------------------------------------------------------------------------- + local expansion0_buttons = { + ["argentdawn"] = { tt = ReputationDesc(BFAC["Argent Dawn"]), text = BFAC["Argent Dawn"], row = 2, col = 1 }, + ["cenarioncircle"] = { tt = ReputationDesc(BFAC["Cenarion Circle"]), text = BFAC["Cenarion Circle"], row = 3, col = 1 }, + ["thoriumbrotherhood"] = { tt = ReputationDesc(BFAC["Thorium Brotherhood"]), text = BFAC["Thorium Brotherhood"], row = 4, col = 1 }, + ["timbermaw"] = { tt = ReputationDesc(BFAC["Timbermaw Hold"]), text = BFAC["Timbermaw Hold"], row = 5, col = 1 }, + ["zandalar"] = { tt = ReputationDesc(BFAC["Zandalar Tribe"]), text = BFAC["Zandalar Tribe"], row = 6, col = 1 }, + } + GenerateCheckBoxes(expansion0_frame, expansion0_buttons) + + local expansion0_toggle = GenericCreateButton(nil, expansion0_frame, 15, 120, "GameFontHighlight", "GameFontHighlightSmall", _G.REPUTATION .. ":", "LEFT", L["REP_TEXT_DESC"], 0) + expansion0_toggle:SetPoint("TOPLEFT", expansion0_frame, "TOPLEFT", -2, -4) + + expansion0_toggle:SetHighlightTexture("Interface\\Buttons\\UI-PlusButton-Hilight") + expansion0_toggle:RegisterForClicks("LeftButtonUp", "RightButtonUp") + expansion0_toggle:SetScript("OnClick", + function(self, button) + local filterdb = addon.db.profile.filters.rep + + if button == "LeftButton" then + for reputation in pairs(expansion0_buttons) do + filterdb[reputation] = true + end + elseif button == "RightButton" then + for reputation in pairs(expansion0_buttons) do + filterdb[reputation] = false + end + end + + for reputation in pairs(expansion0_buttons) do + expansion0_frame[reputation]:SetChecked(filterdb[reputation]) + end + MainPanel:UpdateTitle() + ListFrame:Update(nil, false) + end) + end -- do-block ------------------------------------------------------------------------------- - -- The Burning Crusade Reputations + -- Create MainPanel.filter_menu.rep.expansion1, and set its scripts. ------------------------------------------------------------------------------- - local ARL_Rep_BCButton = GenericCreateButton("ARL_Rep_ClassicButton", MainPanel.filter_menu.rep.BC, 15, 120, "GameFontHighlight", "GameFontHighlightSmall", - _G.REPUTATION .. ":", "LEFT", L["REP_TEXT_DESC"], 0) - ARL_Rep_BCButton:SetPoint("TOPLEFT", MainPanel.filter_menu.rep.BC, "TOPLEFT", -2, -4) - - ARL_Rep_BCButton:SetHighlightTexture("Interface\\Buttons\\UI-PlusButton-Hilight") - ARL_Rep_BCButton:RegisterForClicks("LeftButtonUp", "RightButtonUp") - ARL_Rep_BCButton:SetScript("OnClick", - function(self,button) - local filterdb = addon.db.profile.filters.rep - if button == "LeftButton" then - -- Set all Reputations to true - filterdb.aldor = true - filterdb.ashtonguedeathsworn = true - filterdb.cenarionexpedition = true - filterdb.consortium = true - filterdb.hellfire = true - filterdb.keepersoftime = true - filterdb.nagrand = true - filterdb.lowercity = true - filterdb.scaleofthesands = true - filterdb.scryer = true - filterdb.shatar = true - filterdb.shatteredsun = true - filterdb.sporeggar = true - filterdb.violeteye = true - elseif button == "RightButton" then - -- Set all Reputations to false - filterdb.aldor = false - filterdb.ashtonguedeathsworn = false - filterdb.cenarionexpedition = false - filterdb.consortium = false - filterdb.hellfire = false - filterdb.keepersoftime = false - filterdb.nagrand = false - filterdb.lowercity = false - filterdb.scaleofthesands = false - filterdb.scryer = false - filterdb.shatar = false - filterdb.shatteredsun = false - filterdb.sporeggar = false - filterdb.violeteye = false - end - -- Update the checkboxes with the new value - ARL_RepAldorCB:SetChecked(filterdb.aldor) - ARL_RepAshtongueCB:SetChecked(filterdb.ashtonguedeathsworn) - ARL_RepCenarionExpeditionCB:SetChecked(filterdb.cenarionexpedition) - ARL_RepConsortiumCB:SetChecked(filterdb.consortium) - ARL_RepHonorHoldCB:SetChecked(filterdb.hellfire) - ARL_RepKeepersOfTimeCB:SetChecked(filterdb.keepersoftime) - ARL_RepKurenaiCB:SetChecked(filterdb.nagrand) - ARL_RepLowerCityCB:SetChecked(filterdb.lowercity) - ARL_RepScaleSandsCB:SetChecked(filterdb.scaleofthesands) - ARL_RepScryersCB:SetChecked(filterdb.scryer) - ARL_RepShatarCB:SetChecked(filterdb.shatar) - ARL_RepShatteredSunCB:SetChecked(filterdb.shatteredsun) - ARL_RepSporeggarCB:SetChecked(filterdb.sporeggar) - ARL_RepVioletEyeCB:SetChecked(filterdb.violeteye) - -- Reset our title - MainPanel:UpdateTitle() - -- Use new filters - ListFrame:Update(nil, false) - end) - - local ARL_RepAldorCB = CreateCheckButton(MainPanel.filter_menu.rep.BC, sformat(L["SPECIFIC_REP_DESC"], BFAC["The Aldor"]), "aldor", 2, 1) - ARL_RepAldorCB.text:SetText(BFAC["The Aldor"]) - - local ARL_RepAshtongueCB = CreateCheckButton(MainPanel.filter_menu.rep.BC, sformat(L["SPECIFIC_REP_DESC"], BFAC["Ashtongue Deathsworn"]), "ashtonguedeathsworn", 3, 1) - ARL_RepAshtongueCB.text:SetText(BFAC["Ashtongue Deathsworn"]) - - local ARL_RepCenarionExpeditionCB = CreateCheckButton(MainPanel.filter_menu.rep.BC, sformat(L["SPECIFIC_REP_DESC"], BFAC["Cenarion Expedition"]), "cenarionexpedition", 4, 1) - ARL_RepCenarionExpeditionCB.text:SetText(BFAC["Cenarion Expedition"]) - - local ARL_RepConsortiumCB = CreateCheckButton(MainPanel.filter_menu.rep.BC, sformat(L["SPECIFIC_REP_DESC"], BFAC["The Consortium"]), "consortium", 5, 1) - ARL_RepConsortiumCB.text:SetText(BFAC["The Consortium"]) - - local ARL_RepHonorHoldCB = CreateCheckButton(MainPanel.filter_menu.rep.BC, sformat(L["SPECIFIC_REP_DESC"], HonorHold_Thrallmar_FactionText), "hellfire", 6, 1) - ARL_RepHonorHoldCB.text:SetText(HonorHold_Thrallmar_FactionText) - - local ARL_RepKeepersOfTimeCB = CreateCheckButton(MainPanel.filter_menu.rep.BC, sformat(L["SPECIFIC_REP_DESC"], BFAC["Keepers of Time"]), "keepersoftime", 7, 1) - ARL_RepKeepersOfTimeCB.text:SetText(BFAC["Keepers of Time"]) - - local ARL_RepKurenaiCB = CreateCheckButton(MainPanel.filter_menu.rep.BC, sformat(L["SPECIFIC_REP_DESC"], Kurenai_Maghar_FactionText), "nagrand", 8, 1) - ARL_RepKurenaiCB.text:SetText(Kurenai_Maghar_FactionText) - - local ARL_RepLowerCityCB = CreateCheckButton(MainPanel.filter_menu.rep.BC, sformat(L["SPECIFIC_REP_DESC"], BFAC["Lower City"]), "lowercity", 9, 1) - ARL_RepLowerCityCB.text:SetText(BFAC["Lower City"]) - - local ARL_RepScaleSandsCB = CreateCheckButton(MainPanel.filter_menu.rep.BC, sformat(L["SPECIFIC_REP_DESC"], BFAC["The Scale of the Sands"]), "scaleofthesands", 10, 1) - ARL_RepScaleSandsCB.text:SetText(BFAC["The Scale of the Sands"]) - - local ARL_RepScryersCB = CreateCheckButton(MainPanel.filter_menu.rep.BC, sformat(L["SPECIFIC_REP_DESC"], BFAC["The Scryers"]), "scryer", 11, 1) - ARL_RepScryersCB.text:SetText(BFAC["The Scryers"]) - - local ARL_RepShatarCB = CreateCheckButton(MainPanel.filter_menu.rep.BC, sformat(L["SPECIFIC_REP_DESC"], BFAC["The Sha'tar"]), "shatar", 12, 1) - ARL_RepShatarCB.text:SetText(BFAC["The Sha'tar"]) - - local ARL_RepShatteredSunCB = CreateCheckButton(MainPanel.filter_menu.rep.BC, sformat(L["SPECIFIC_REP_DESC"], BFAC["Shattered Sun Offensive"]), "shatteredsun", 13, 1) - ARL_RepShatteredSunCB.text:SetText(BFAC["Shattered Sun Offensive"]) - - local ARL_RepSporeggarCB = CreateCheckButton(MainPanel.filter_menu.rep.BC, sformat(L["SPECIFIC_REP_DESC"], BFAC["Sporeggar"]), "sporeggar", 14, 1) - ARL_RepSporeggarCB.text:SetText(BFAC["Sporeggar"]) - - local ARL_RepVioletEyeCB = CreateCheckButton(MainPanel.filter_menu.rep.BC, sformat(L["SPECIFIC_REP_DESC"], BFAC["The Violet Eye"]), "violeteye", 15, 1) - ARL_RepVioletEyeCB.text:SetText(BFAC["The Violet Eye"]) + do + local expansion1_frame = CreateFrame("Frame", nil, MainPanel.filter_menu.rep) + expansion1_frame:SetWidth(150) + expansion1_frame:SetHeight(280) + expansion1_frame:EnableMouse(true) + expansion1_frame:EnableKeyboard(true) + expansion1_frame:SetMovable(false) + expansion1_frame:SetPoint("TOPRIGHT", MainPanel.filter_menu, "TOPRIGHT", -30, -16) + expansion1_frame:Hide() + + MainPanel.filter_menu.rep.expansion1 = expansion1_frame + + ------------------------------------------------------------------------------- + -- Create the Reputation toggle and CheckButtons + ------------------------------------------------------------------------------- + local expansion1_buttons = { + ["aldor"] = { tt = ReputationDesc(BFAC["The Aldor"]), text = BFAC["The Aldor"], row = 2, col = 1 }, + ["ashtonguedeathsworn"] = { tt = ReputationDesc(BFAC["Ashtongue Deathsworn"]), text = BFAC["Ashtongue Deathsworn"], row = 3, col = 1 }, + ["cenarionexpedition"] = { tt = ReputationDesc(BFAC["Cenarion Expedition"]), text = BFAC["Cenarion Expedition"], row = 4, col = 1 }, + ["consortium"] = { tt = ReputationDesc(BFAC["The Consortium"]), text = BFAC["The Consortium"], row = 5, col = 1 }, + ["hellfire"] = { tt = ReputationDesc(HonorHold_Thrallmar_Text), text = HonorHold_Thrallmar_Text, row = 6, col = 1 }, + ["keepersoftime"] = { tt = ReputationDesc(BFAC["Keepers of Time"]), text = BFAC["Keepers of Time"], row = 7, col = 1 }, + ["nagrand"] = { tt = ReputationDesc(Kurenai_Maghar_Text), text = Kurenai_Maghar_Text, row = 8, col = 1 }, + ["lowercity"] = { tt = ReputationDesc(BFAC["Lower City"]), text = BFAC["Lower City"], row = 9, col = 1 }, + ["scaleofthesands"] = { tt = ReputationDesc(BFAC["The Scale of the Sands"]), text = BFAC["The Scale of the Sands"], row = 10, col = 1 }, + ["scryer"] = { tt = ReputationDesc(BFAC["The Scryers"]), text = BFAC["The Scryers"], row = 11, col = 1 }, + ["shatar"] = { tt = ReputationDesc(BFAC["The Sha'tar"]), text = BFAC["The Sha'tar"], row = 12, col = 1 }, + ["shatteredsun"] = { tt = ReputationDesc(BFAC["Shattered Sun Offensive"]), text = BFAC["Shattered Sun Offensive"], row = 13, col = 1 }, + ["sporeggar"] = { tt = ReputationDesc(BFAC["Sporeggar"]), text = BFAC["Sporeggar"], row = 14, col = 1 }, + ["violeteye"] = { tt = ReputationDesc(BFAC["The Violet Eye"]), text = BFAC["The Violet Eye"], row = 15, col = 1 }, + } + GenerateCheckBoxes(expansion1_frame, expansion1_buttons) + + local expansion1_toggle = GenericCreateButton(nil, expansion1_frame, 15, 120, "GameFontHighlight", "GameFontHighlightSmall", _G.REPUTATION .. ":", "LEFT", L["REP_TEXT_DESC"], 0) + expansion1_toggle:SetPoint("TOPLEFT", expansion1_frame, "TOPLEFT", -2, -4) + + expansion1_toggle:SetHighlightTexture("Interface\\Buttons\\UI-PlusButton-Hilight") + expansion1_toggle:RegisterForClicks("LeftButtonUp", "RightButtonUp") + expansion1_toggle:SetScript("OnClick", + function(self,button) + local filterdb = addon.db.profile.filters.rep + + if button == "LeftButton" then + for reputation in pairs(expansion1_buttons) do + filterdb[reputation] = true + end + elseif button == "RightButton" then + for reputation in pairs(expansion1_buttons) do + filterdb[reputation] = false + end + end + + for reputation in pairs(expansion1_buttons) do + expansion1_frame[reputation]:SetChecked(filterdb[reputation]) + end + MainPanel:UpdateTitle() + ListFrame:Update(nil, false) + end) + end -- do-block ------------------------------------------------------------------------------- - -- Wrath of the Lich King Reputations + -- Create MainPanel.filter_menu.rep.expansion2, and set its scripts. ------------------------------------------------------------------------------- - local ARL_Rep_LKButton = GenericCreateButton("ARL_Rep_ClassicButton", MainPanel.filter_menu.rep.LK, 15, 120, "GameFontHighlight", "GameFontHighlightSmall", - _G.REPUTATION .. ":", "LEFT", L["REP_TEXT_DESC"], 0) - ARL_Rep_LKButton:SetPoint("TOPLEFT", MainPanel.filter_menu.rep.LK, "TOPLEFT", -2, -4) - - ARL_Rep_LKButton:SetHighlightTexture("Interface\\Buttons\\UI-PlusButton-Hilight") - ARL_Rep_LKButton:RegisterForClicks("LeftButtonUp", "RightButtonUp") - ARL_Rep_LKButton:SetScript("OnClick", - function(self,button) - local filterdb = addon.db.profile.filters.rep - if button == "LeftButton" then - -- Set all Reputations to true - filterdb.argentcrusade = true - filterdb.frenzyheart = true - filterdb.ebonblade = true - filterdb.kirintor = true - filterdb.sonsofhodir = true - filterdb.kaluak = true - filterdb.oracles = true - filterdb.wyrmrest = true - filterdb.ashenverdict = true - filterdb.wrathcommon1 = true - elseif button == "RightButton" then - -- Set all Reputations to false - filterdb.argentcrusade = false - filterdb.frenzyheart = false - filterdb.ebonblade = false - filterdb.kirintor = false - filterdb.sonsofhodir = false - filterdb.kaluak = false - filterdb.oracles = false - filterdb.wyrmrest = false - filterdb.ashenverdict = false - filterdb.wrathcommon1 = false - end - -- Update the checkboxes with the new value - ARL_RepArgentCrusadeCB:SetChecked(filterdb.argentcrusade) - ARL_RepFrenzyheartCB:SetChecked(filterdb.frenzyheart) - ARL_RepEbonBladeCB:SetChecked(filterdb.ebonblade) - ARL_RepKirinTorCB:SetChecked(filterdb.kirintor) - ARL_RepSonsOfHodirCB:SetChecked(filterdb.sonsofhodir) - ARL_RepKaluakCB:SetChecked(filterdb.kaluak) - ARL_RepOraclesCB:SetChecked(filterdb.oracles) - ARL_RepWyrmrestCB:SetChecked(filterdb.wyrmrest) - ARL_RepAshenVerdictCB:SetChecked(filterdb.ashenverdict) - ARL_WrathCommon1CB:SetChecked(filterdb.wrathcommon1) - - MainPanel:UpdateTitle() - ListFrame:Update(nil, false) - end) - - local ARL_WrathCommon1CB = CreateCheckButton(MainPanel.filter_menu.rep.LK, sformat(L["SPECIFIC_REP_DESC"], Vanguard_Expedition_FactionText), "wrathcommon1", 2, 1) - ARL_WrathCommon1CB.text:SetText(Vanguard_Expedition_FactionText) - - local ARL_RepArgentCrusadeCB = CreateCheckButton(MainPanel.filter_menu.rep.LK, sformat(L["SPECIFIC_REP_DESC"], BFAC["Argent Crusade"]), "argentcrusade", 3, 1) - ARL_RepArgentCrusadeCB.text:SetText(BFAC["Argent Crusade"]) - - local ARL_WrathCommon5CB = CreateCheckButton(MainPanel.filter_menu.rep.LK, sformat(L["SPECIFIC_REP_DESC"], Explorer_Hand_FactionText), "wrathcommon5", 4, 1) - ARL_WrathCommon5CB.text:SetText(SetTextColor(BASIC_COLORS["grey"], Explorer_Hand_FactionText)) - ARL_WrathCommon5CB:Disable() - - local ARL_RepFrenzyheartCB = CreateCheckButton(MainPanel.filter_menu.rep.LK, sformat(L["SPECIFIC_REP_DESC"], BFAC["Frenzyheart Tribe"]), "frenzyheart", 5, 1) - ARL_RepFrenzyheartCB.text:SetText(BFAC["Frenzyheart Tribe"]) - - local ARL_RepKaluakCB = CreateCheckButton(MainPanel.filter_menu.rep.LK, sformat(L["SPECIFIC_REP_DESC"], BFAC["The Kalu'ak"]), "kaluak", 6, 1) - ARL_RepKaluakCB.text:SetText(BFAC["The Kalu'ak"]) - - local ARL_RepKirinTorCB = CreateCheckButton(MainPanel.filter_menu.rep.LK, sformat(L["SPECIFIC_REP_DESC"], BFAC["Kirin Tor"]), "kirintor", 7, 1) - ARL_RepKirinTorCB.text:SetText(BFAC["Kirin Tor"]) - - local ARL_RepEbonBladeCB = CreateCheckButton(MainPanel.filter_menu.rep.LK, sformat(L["SPECIFIC_REP_DESC"], BFAC["Knights of the Ebon Blade"]), "ebonblade", 8, 1) - ARL_RepEbonBladeCB.text:SetText(BFAC["Knights of the Ebon Blade"]) - - local ARL_RepOraclesCB = CreateCheckButton(MainPanel.filter_menu.rep.LK, sformat(L["SPECIFIC_REP_DESC"], BFAC["The Oracles"]), "oracles", 9, 1) - ARL_RepOraclesCB.text:SetText(BFAC["The Oracles"]) - - local ARL_WrathCommon2CB = CreateCheckButton(MainPanel.filter_menu.rep.LK, sformat(L["SPECIFIC_REP_DESC"], SilverCov_Sunreaver_FactionText), "wrathcommon2", 10, 1) - ARL_WrathCommon2CB.text:SetText(SetTextColor(BASIC_COLORS["grey"], SilverCov_Sunreaver_FactionText)) - ARL_WrathCommon2CB:Disable() - - local ARL_RepSonsOfHodirCB = CreateCheckButton(MainPanel.filter_menu.rep.LK, sformat(L["SPECIFIC_REP_DESC"], BFAC["The Sons of Hodir"]), "sonsofhodir", 11, 1) - ARL_RepSonsOfHodirCB.text:SetText(BFAC["The Sons of Hodir"]) - - local ARL_WrathCommon4CB = CreateCheckButton(MainPanel.filter_menu.rep.LK, sformat(L["SPECIFIC_REP_DESC"], Frostborn_Taunka_FactionText), "wrathcommon4", 12, 1) - ARL_WrathCommon4CB.text:SetText(SetTextColor(BASIC_COLORS["grey"], Frostborn_Taunka_FactionText)) - ARL_WrathCommon4CB:Disable() - - local ARL_WrathCommon3CB = CreateCheckButton(MainPanel.filter_menu.rep.LK, sformat(L["SPECIFIC_REP_DESC"], Valiance_Warsong_FactionText), "wrathcommon3", 13, 1) - ARL_WrathCommon3CB.text:SetText(SetTextColor(BASIC_COLORS["grey"], Valiance_Warsong_FactionText)) - ARL_WrathCommon3CB:Disable() - - local ARL_RepWyrmrestCB = CreateCheckButton(MainPanel.filter_menu.rep.LK, sformat(L["SPECIFIC_REP_DESC"], BFAC["The Wyrmrest Accord"]), "wyrmrest", 14, 1) - ARL_RepWyrmrestCB.text:SetText(BFAC["The Wyrmrest Accord"]) - - local ARL_RepAshenVerdictCB = CreateCheckButton(MainPanel.filter_menu.rep.LK, sformat(L["SPECIFIC_REP_DESC"], BFAC["The Ashen Verdict"]), "ashenverdict", 15, 1) - ARL_RepAshenVerdictCB.text:SetText(BFAC["The Ashen Verdict"]) + do + local expansion2_frame = CreateFrame("Frame", nil, MainPanel.filter_menu.rep) + expansion2_frame:SetWidth(150) + expansion2_frame:SetHeight(280) + expansion2_frame:EnableMouse(true) + expansion2_frame:EnableKeyboard(true) + expansion2_frame:SetMovable(false) + expansion2_frame:SetPoint("TOPRIGHT", MainPanel.filter_menu, "TOPRIGHT", -30, -16) + expansion2_frame:Hide() + + MainPanel.filter_menu.rep.expansion2 = expansion2_frame + + ------------------------------------------------------------------------------- + -- Create the Reputation toggle and CheckButtons + ------------------------------------------------------------------------------- + local function DisabledText(text) + return SetTextColor(BASIC_COLORS["grey"], text) + end + + local expansion2_buttons = { + ["wrathcommon1"] = { tt = ReputationDesc(Vanguard_Expedition_Text), text = Vanguard_Expedition_Text, row = 2, col = 1 }, + ["argentcrusade"] = { tt = ReputationDesc(BFAC["Argent Crusade"]), text = BFAC["Argent Crusade"], row = 3, col = 1 }, + ["wrathcommon5"] = { tt = ReputationDesc(Explorer_Hand_Text), text = DisabledText(Explorer_Hand_Text), row = 4, col = 1 }, + ["frenzyheart"] = { tt = ReputationDesc(BFAC["Frenzyheart Tribe"]), text = BFAC["Frenzyheart Tribe"], row = 5, col = 1 }, + ["kaluak"] = { tt = ReputationDesc(BFAC["The Kalu'ak"]), text = BFAC["The Kalu'ak"], row = 6, col = 1 }, + ["kirintor"] = { tt = ReputationDesc(BFAC["Kirin Tor"]), text = BFAC["Kirin Tor"], row = 7, col = 1 }, + ["ebonblade"] = { tt = ReputationDesc(BFAC["Knights of the Ebon Blade"]), text = BFAC["Knights of the Ebon Blade"], row = 8, col = 1 }, + ["oracles"] = { tt = ReputationDesc(BFAC["The Oracles"]), text = BFAC["The Oracles"], row = 9, col = 1 }, + ["wrathcommon2"] = { tt = ReputationDesc(SilverCov_Sunreaver_Text), text = DisabledText(SilverCov_Sunreaver_Text), row = 10, col = 1 }, + ["sonsofhodir"] = { tt = ReputationDesc(BFAC["The Sons of Hodir"]), text = BFAC["The Sons of Hodir"], row = 11, col = 1 }, + ["wrathcommon4"] = { tt = ReputationDesc(Frostborn_Taunka_Text), text = DisabledText(Frostborn_Taunka_Text), row = 12, col = 1 }, + ["wrathcommon3"] = { tt = ReputationDesc(Valiance_Warsong_Text), text = DisabledText(Valiance_Warsong_Text), row = 13, col = 1 }, + ["wyrmrest"] = { tt = ReputationDesc(BFAC["The Wyrmrest Accord"]), text = BFAC["The Wyrmrest Accord"], row = 14, col = 1 }, + ["ashenverdict"] = { tt = ReputationDesc(BFAC["The Ashen Verdict"]), text = BFAC["The Ashen Verdict"], row = 15, col = 1 }, + } + GenerateCheckBoxes(expansion2_frame, expansion2_buttons) + + -- Disable these for now, since they have no recipes. + expansion2_frame.wrathcommon2:Disable() + expansion2_frame.wrathcommon3:Disable() + expansion2_frame.wrathcommon4:Disable() + expansion2_frame.wrathcommon5:Disable() + + local expansion2_toggle = GenericCreateButton(nil, expansion2_frame, 15, 120, "GameFontHighlight", "GameFontHighlightSmall", _G.REPUTATION .. ":", "LEFT", L["REP_TEXT_DESC"], 0) + expansion2_toggle:SetPoint("TOPLEFT", expansion2_frame, "TOPLEFT", -2, -4) + + expansion2_toggle:SetHighlightTexture("Interface\\Buttons\\UI-PlusButton-Hilight") + expansion2_toggle:RegisterForClicks("LeftButtonUp", "RightButtonUp") + expansion2_toggle:SetScript("OnClick", + function(self,button) + local filterdb = addon.db.profile.filters.rep + + if button == "LeftButton" then + for reputation in pairs(expansion2_buttons) do + filterdb[reputation] = true + end + elseif button == "RightButton" then + for reputation in pairs(expansion2_buttons) do + filterdb[reputation] = false + end + end + + for reputation in pairs(expansion2_buttons) do + expansion2_frame[reputation]:SetChecked(filterdb[reputation]) + end + MainPanel:UpdateTitle() + ListFrame:Update(nil, false) + end) + end -- do-block ------------------------------------------------------------------------------- -- Miscellaneous Filter Menu @@ -4186,138 +4062,142 @@ local function InitializeFrame() local filterdb = addon.db.profile.filters local filter_menu = MainPanel.filter_menu + local expansion0 = filter_menu.rep.expansion0 + local expansion1 = filter_menu.rep.expansion1 + local expansion2 = filter_menu.rep.expansion2 + FilterValueMap = { ------------------------------------------------------------------------------------------------ -- General Options ------------------------------------------------------------------------------------------------ - ["specialty"] = { cb = filter_menu.general.specialty, svroot = filterdb.general }, - ["skill"] = { cb = filter_menu.general.skill, svroot = filterdb.general }, - ["faction"] = { cb = filter_menu.general.faction, svroot = filterdb.general }, - ["known"] = { cb = filter_menu.general.known, svroot = filterdb.general }, - ["unknown"] = { cb = filter_menu.general.unknown, svroot = filterdb.general }, - ["retired"] = { cb = filter_menu.general.retired, svroot = filterdb.general }, + ["specialty"] = { cb = filter_menu.general.specialty, svroot = filterdb.general }, + ["skill"] = { cb = filter_menu.general.skill, svroot = filterdb.general }, + ["faction"] = { cb = filter_menu.general.faction, svroot = filterdb.general }, + ["known"] = { cb = filter_menu.general.known, svroot = filterdb.general }, + ["unknown"] = { cb = filter_menu.general.unknown, svroot = filterdb.general }, + ["retired"] = { cb = filter_menu.general.retired, svroot = filterdb.general }, ------------------------------------------------------------------------------------------------ -- Classes ------------------------------------------------------------------------------------------------ - ["deathknight"] = { cb = filter_menu.general.deathknight, svroot = filterdb.classes }, - ["druid"] = { cb = filter_menu.general.druid, svroot = filterdb.classes }, - ["hunter"] = { cb = filter_menu.general.hunter, svroot = filterdb.classes }, - ["mage"] = { cb = filter_menu.general.mage, svroot = filterdb.classes }, - ["paladin"] = { cb = filter_menu.general.paladin, svroot = filterdb.classes }, - ["priest"] = { cb = filter_menu.general.priest, svroot = filterdb.classes }, - ["rogue"] = { cb = filter_menu.general.rogue, svroot = filterdb.classes }, - ["shaman"] = { cb = filter_menu.general.shaman, svroot = filterdb.classes }, - ["warlock"] = { cb = filter_menu.general.warlock, svroot = filterdb.classes }, - ["warrior"] = { cb = filter_menu.general.warrior, svroot = filterdb.classes }, + ["deathknight"] = { cb = filter_menu.general.deathknight, svroot = filterdb.classes }, + ["druid"] = { cb = filter_menu.general.druid, svroot = filterdb.classes }, + ["hunter"] = { cb = filter_menu.general.hunter, svroot = filterdb.classes }, + ["mage"] = { cb = filter_menu.general.mage, svroot = filterdb.classes }, + ["paladin"] = { cb = filter_menu.general.paladin, svroot = filterdb.classes }, + ["priest"] = { cb = filter_menu.general.priest, svroot = filterdb.classes }, + ["rogue"] = { cb = filter_menu.general.rogue, svroot = filterdb.classes }, + ["shaman"] = { cb = filter_menu.general.shaman, svroot = filterdb.classes }, + ["warlock"] = { cb = filter_menu.general.warlock, svroot = filterdb.classes }, + ["warrior"] = { cb = filter_menu.general.warrior, svroot = filterdb.classes }, ------------------------------------------------------------------------------------------------ -- Obtain Options ------------------------------------------------------------------------------------------------ - ["instance"] = { cb = filter_menu.obtain.instance, svroot = filterdb.obtain }, - ["raid"] = { cb = filter_menu.obtain.raid, svroot = filterdb.obtain }, - ["quest"] = { cb = filter_menu.obtain.quest, svroot = filterdb.obtain }, - ["seasonal"] = { cb = filter_menu.obtain.seasonal, svroot = filterdb.obtain }, - ["trainer"] = { cb = filter_menu.obtain.trainer, svroot = filterdb.obtain }, - ["vendor"] = { cb = filter_menu.obtain.vendor, svroot = filterdb.obtain }, - ["pvp"] = { cb = filter_menu.obtain.pvp, svroot = filterdb.obtain }, - ["discovery"] = { cb = filter_menu.obtain.discovery, svroot = filterdb.obtain }, - ["worlddrop"] = { cb = filter_menu.obtain.worlddrop, svroot = filterdb.obtain }, - ["mobdrop"] = { cb = filter_menu.obtain.mobdrop, svroot = filterdb.obtain }, - ["originalwow"] = { cb = filter_menu.obtain.originalwow, svroot = filterdb.obtain }, - ["bc"] = { cb = filter_menu.obtain.bc, svroot = filterdb.obtain }, - ["wrath"] = { cb = filter_menu.obtain.wrath, svroot = filterdb.obtain }, + ["instance"] = { cb = filter_menu.obtain.instance, svroot = filterdb.obtain }, + ["raid"] = { cb = filter_menu.obtain.raid, svroot = filterdb.obtain }, + ["quest"] = { cb = filter_menu.obtain.quest, svroot = filterdb.obtain }, + ["seasonal"] = { cb = filter_menu.obtain.seasonal, svroot = filterdb.obtain }, + ["trainer"] = { cb = filter_menu.obtain.trainer, svroot = filterdb.obtain }, + ["vendor"] = { cb = filter_menu.obtain.vendor, svroot = filterdb.obtain }, + ["pvp"] = { cb = filter_menu.obtain.pvp, svroot = filterdb.obtain }, + ["discovery"] = { cb = filter_menu.obtain.discovery, svroot = filterdb.obtain }, + ["worlddrop"] = { cb = filter_menu.obtain.worlddrop, svroot = filterdb.obtain }, + ["mobdrop"] = { cb = filter_menu.obtain.mobdrop, svroot = filterdb.obtain }, + ["expansion0"] = { cb = filter_menu.obtain.expansion0, svroot = filterdb.obtain }, + ["expansion1"] = { cb = filter_menu.obtain.expansion1, svroot = filterdb.obtain }, + ["expansion2"] = { cb = filter_menu.obtain.expansion2, svroot = filterdb.obtain }, ------------------------------------------------------------------------------------------------ -- Binding Options ------------------------------------------------------------------------------------------------ - ["itemboe"] = { cb = filter_menu.binding.itemboe, svroot = filterdb.binding }, - ["itembop"] = { cb = filter_menu.binding.itembop, svroot = filterdb.binding }, - ["recipeboe"] = { cb = filter_menu.binding.recipeboe, svroot = filterdb.binding }, - ["recipebop"] = { cb = filter_menu.binding.recipebop, svroot = filterdb.binding }, + ["itemboe"] = { cb = filter_menu.binding.itemboe, svroot = filterdb.binding }, + ["itembop"] = { cb = filter_menu.binding.itembop, svroot = filterdb.binding }, + ["recipeboe"] = { cb = filter_menu.binding.recipeboe, svroot = filterdb.binding }, + ["recipebop"] = { cb = filter_menu.binding.recipebop, svroot = filterdb.binding }, ------------------------------------------------------------------------------------------------ -- Armor Options ------------------------------------------------------------------------------------------------ - ["cloth"] = { cb = filter_menu.item.cloth, svroot = filterdb.item.armor }, - ["leather"] = { cb = filter_menu.item.leather, svroot = filterdb.item.armor }, - ["mail"] = { cb = filter_menu.item.mail, svroot = filterdb.item.armor }, - ["plate"] = { cb = filter_menu.item.plate, svroot = filterdb.item.armor }, - ["cloak"] = { cb = filter_menu.item.cloak, svroot = filterdb.item.armor }, - ["necklace"] = { cb = filter_menu.item.necklace, svroot = filterdb.item.armor }, - ["ring"] = { cb = filter_menu.item.ring, svroot = filterdb.item.armor }, - ["trinket"] = { cb = filter_menu.item.trinket, svroot = filterdb.item.armor }, - ["shield"] = { cb = filter_menu.item.shield, svroot = filterdb.item.armor }, + ["cloth"] = { cb = filter_menu.item.cloth, svroot = filterdb.item.armor }, + ["leather"] = { cb = filter_menu.item.leather, svroot = filterdb.item.armor }, + ["mail"] = { cb = filter_menu.item.mail, svroot = filterdb.item.armor }, + ["plate"] = { cb = filter_menu.item.plate, svroot = filterdb.item.armor }, + ["cloak"] = { cb = filter_menu.item.cloak, svroot = filterdb.item.armor }, + ["necklace"] = { cb = filter_menu.item.necklace, svroot = filterdb.item.armor }, + ["ring"] = { cb = filter_menu.item.ring, svroot = filterdb.item.armor }, + ["trinket"] = { cb = filter_menu.item.trinket, svroot = filterdb.item.armor }, + ["shield"] = { cb = filter_menu.item.shield, svroot = filterdb.item.armor }, ------------------------------------------------------------------------------------------------ -- Weapon Options ------------------------------------------------------------------------------------------------ - ["onehand"] = { cb = filter_menu.item.onehand, svroot = filterdb.item.weapon }, - ["twohand"] = { cb = filter_menu.item.twohand, svroot = filterdb.item.weapon }, - ["dagger"] = { cb = filter_menu.item.dagger, svroot = filterdb.item.weapon }, - ["axe"] = { cb = filter_menu.item.axe, svroot = filterdb.item.weapon }, - ["mace"] = { cb = filter_menu.item.mace, svroot = filterdb.item.weapon }, - ["sword"] = { cb = filter_menu.item.sword, svroot = filterdb.item.weapon }, - ["polearm"] = { cb = filter_menu.item.polearm, svroot = filterdb.item.weapon }, - ["fist"] = { cb = filter_menu.item.fist, svroot = filterdb.item.weapon }, - ["staff"] = { cb = filter_menu.item.staff, svroot = nil }, - ["wand"] = { cb = filter_menu.item.wand, svroot = filterdb.item.weapon }, - ["thrown"] = { cb = filter_menu.item.thrown, svroot = filterdb.item.weapon }, - ["bow"] = { cb = filter_menu.item.bow, svroot = nil }, - ["crossbow"] = { cb = filter_menu.item.crossbow, svroot = nil }, - ["ammo"] = { cb = filter_menu.item.ammo, svroot = filterdb.item.weapon }, - ["gun"] = { cb = filter_menu.item.gun, svroot = filterdb.item.weapon }, + ["onehand"] = { cb = filter_menu.item.onehand, svroot = filterdb.item.weapon }, + ["twohand"] = { cb = filter_menu.item.twohand, svroot = filterdb.item.weapon }, + ["dagger"] = { cb = filter_menu.item.dagger, svroot = filterdb.item.weapon }, + ["axe"] = { cb = filter_menu.item.axe, svroot = filterdb.item.weapon }, + ["mace"] = { cb = filter_menu.item.mace, svroot = filterdb.item.weapon }, + ["sword"] = { cb = filter_menu.item.sword, svroot = filterdb.item.weapon }, + ["polearm"] = { cb = filter_menu.item.polearm, svroot = filterdb.item.weapon }, + ["fist"] = { cb = filter_menu.item.fist, svroot = filterdb.item.weapon }, + ["staff"] = { cb = filter_menu.item.staff, svroot = nil }, + ["wand"] = { cb = filter_menu.item.wand, svroot = filterdb.item.weapon }, + ["thrown"] = { cb = filter_menu.item.thrown, svroot = filterdb.item.weapon }, + ["bow"] = { cb = filter_menu.item.bow, svroot = nil }, + ["crossbow"] = { cb = filter_menu.item.crossbow, svroot = nil }, + ["ammo"] = { cb = filter_menu.item.ammo, svroot = filterdb.item.weapon }, + ["gun"] = { cb = filter_menu.item.gun, svroot = filterdb.item.weapon }, ------------------------------------------------------------------------------------------------ -- Quality Options ------------------------------------------------------------------------------------------------ - ["common"] = { cb = filter_menu.quality.common, svroot = filterdb.quality }, - ["uncommon"] = { cb = filter_menu.quality.uncommon, svroot = filterdb.quality }, - ["rare"] = { cb = filter_menu.quality.rare, svroot = filterdb.quality }, - ["epic"] = { cb = filter_menu.quality.epic, svroot = filterdb.quality }, + ["common"] = { cb = filter_menu.quality.common, svroot = filterdb.quality }, + ["uncommon"] = { cb = filter_menu.quality.uncommon, svroot = filterdb.quality }, + ["rare"] = { cb = filter_menu.quality.rare, svroot = filterdb.quality }, + ["epic"] = { cb = filter_menu.quality.epic, svroot = filterdb.quality }, ------------------------------------------------------------------------------------------------ -- Role Options ------------------------------------------------------------------------------------------------ - ["tank"] = { cb = filter_menu.player.tank, svroot = filterdb.player }, - ["melee"] = { cb = filter_menu.player.melee, svroot = filterdb.player }, - ["healer"] = { cb = filter_menu.player.healer, svroot = filterdb.player }, - ["caster"] = { cb = filter_menu.player.caster, svroot = filterdb.player }, + ["tank"] = { cb = filter_menu.player.tank, svroot = filterdb.player }, + ["melee"] = { cb = filter_menu.player.melee, svroot = filterdb.player }, + ["healer"] = { cb = filter_menu.player.healer, svroot = filterdb.player }, + ["caster"] = { cb = filter_menu.player.caster, svroot = filterdb.player }, ------------------------------------------------------------------------------------------------ -- Old World Rep Options ------------------------------------------------------------------------------------------------ - ["argentdawn"] = { cb = ARL_RepArgentDawnCB, svroot = filterdb.rep }, - ["cenarioncircle"] = { cb = ARL_RepCenarionCircleCB, svroot = filterdb.rep }, - ["thoriumbrotherhood"] = { cb = ARL_RepThoriumCB, svroot = filterdb.rep }, - ["timbermaw"] = { cb = ARL_RepTimbermawCB, svroot = filterdb.rep }, - ["zandalar"] = { cb = ARL_RepZandalarCB, svroot = filterdb.rep }, + ["argentdawn"] = { cb = expansion0.argentdawn, svroot = filterdb.rep }, + ["cenarioncircle"] = { cb = expansion0.cenarioncircle, svroot = filterdb.rep }, + ["thoriumbrotherhood"] = { cb = expansion0.thoriumbrotherhood, svroot = filterdb.rep }, + ["timbermaw"] = { cb = expansion0.timbermaw, svroot = filterdb.rep }, + ["zandalar"] = { cb = expansion0.zandalar, svroot = filterdb.rep }, ------------------------------------------------------------------------------------------------ - -- BC Rep Options + -- The Burning Crusade Rep Options ------------------------------------------------------------------------------------------------ - ["aldor"] = { cb = ARL_RepAldorCB, svroot = filterdb.rep }, - ["ashtonguedeathsworn"] = { cb = ARL_RepAshtongueCB, svroot = filterdb.rep }, - ["cenarionexpedition"] = { cb = ARL_RepCenarionExpeditionCB, svroot = filterdb.rep }, - ["consortium"] = { cb = ARL_RepConsortiumCB, svroot = filterdb.rep }, - ["hellfire"] = { cb = ARL_RepHonorHoldCB, svroot = filterdb.rep }, - ["keepersoftime"] = { cb = ARL_RepKeepersOfTimeCB, svroot = filterdb.rep }, - ["nagrand"] = { cb = ARL_RepKurenaiCB, svroot = filterdb.rep }, - ["lowercity"] = { cb = ARL_RepLowerCityCB, svroot = filterdb.rep }, - ["scaleofthesands"] = { cb = ARL_RepScaleSandsCB, svroot = filterdb.rep }, - ["scryer"] = { cb = ARL_RepScryersCB, svroot = filterdb.rep }, - ["shatar"] = { cb = ARL_RepShatarCB, svroot = filterdb.rep }, - ["shatteredsun"] = { cb = ARL_RepShatteredSunCB, svroot = filterdb.rep }, - ["sporeggar"] = { cb = ARL_RepSporeggarCB, svroot = filterdb.rep }, - ["violeteye"] = { cb = ARL_RepVioletEyeCB, svroot = filterdb.rep }, + ["aldor"] = { cb = expansion1.aldor, svroot = filterdb.rep }, + ["ashtonguedeathsworn"] = { cb = expansion1.ashtonguedeathsworn, svroot = filterdb.rep }, + ["cenarionexpedition"] = { cb = expansion1.cenarionexpedition, svroot = filterdb.rep }, + ["consortium"] = { cb = expansion1.consortium, svroot = filterdb.rep }, + ["hellfire"] = { cb = expansion1.hellfire, svroot = filterdb.rep }, + ["keepersoftime"] = { cb = expansion1.keepersoftime, svroot = filterdb.rep }, + ["nagrand"] = { cb = expansion1.nagrand, svroot = filterdb.rep }, + ["lowercity"] = { cb = expansion1.lowercity, svroot = filterdb.rep }, + ["scaleofthesands"] = { cb = expansion1.scaleofthesands, svroot = filterdb.rep }, + ["scryer"] = { cb = expansion1.scryer, svroot = filterdb.rep }, + ["shatar"] = { cb = expansion1.shatar, svroot = filterdb.rep }, + ["shatteredsun"] = { cb = expansion1.shatteredsun, svroot = filterdb.rep }, + ["sporeggar"] = { cb = expansion1.sporeggar, svroot = filterdb.rep }, + ["violeteye"] = { cb = expansion1.violeteye, svroot = filterdb.rep }, ------------------------------------------------------------------------------------------------ - -- LK Rep Options + -- Wrath of The Lich King Rep Options ------------------------------------------------------------------------------------------------ - ["argentcrusade"] = { cb = ARL_RepArgentCrusadeCB, svroot = filterdb.rep }, - ["frenzyheart"] = { cb = ARL_RepFrenzyheartCB, svroot = filterdb.rep }, - ["ebonblade"] = { cb = ARL_RepEbonBladeCB, svroot = filterdb.rep }, - ["kirintor"] = { cb = ARL_RepKirinTorCB, svroot = filterdb.rep }, - ["sonsofhodir"] = { cb = ARL_RepSonsOfHodirCB, svroot = filterdb.rep }, - ["kaluak"] = { cb = ARL_RepKaluakCB, svroot = filterdb.rep }, - ["oracles"] = { cb = ARL_RepOraclesCB, svroot = filterdb.rep }, - ["wyrmrest"] = { cb = ARL_RepWyrmrestCB, svroot = filterdb.rep }, - ["ashenverdict"] = { cb = ARL_RepAshenVerdictCB, svroot = filterdb.rep }, - ["wrathcommon1"] = { cb = ARL_WrathCommon1CB, svroot = filterdb.rep }, - ["wrathcommon2"] = { cb = ARL_WrathCommon2CB, svroot = nil }, - ["wrathcommon3"] = { cb = ARL_WrathCommon3CB, svroot = nil }, - ["wrathcommon4"] = { cb = ARL_WrathCommon4CB, svroot = nil }, - ["wrathcommon5"] = { cb = ARL_WrathCommon5CB, svroot = nil }, + ["argentcrusade"] = { cb = expansion2.argentcrusade, svroot = filterdb.rep }, + ["frenzyheart"] = { cb = expansion2.frenzyheart, svroot = filterdb.rep }, + ["ebonblade"] = { cb = expansion2.ebonblade, svroot = filterdb.rep }, + ["kirintor"] = { cb = expansion2.kirintor, svroot = filterdb.rep }, + ["sonsofhodir"] = { cb = expansion2.sonsofhodir, svroot = filterdb.rep }, + ["kaluak"] = { cb = expansion2.kaluak, svroot = filterdb.rep }, + ["oracles"] = { cb = expansion2.oracles, svroot = filterdb.rep }, + ["wyrmrest"] = { cb = expansion2.wyrmrest, svroot = filterdb.rep }, + ["ashenverdict"] = { cb = expansion2.ashenverdict, svroot = filterdb.rep }, + ["wrathcommon1"] = { cb = expansion2.wrathcommon1, svroot = filterdb.rep }, + ["wrathcommon2"] = { cb = expansion2.wrathcommon2, svroot = nil }, + ["wrathcommon3"] = { cb = expansion2.wrathcommon3, svroot = nil }, + ["wrathcommon4"] = { cb = expansion2.wrathcommon4, svroot = nil }, + ["wrathcommon5"] = { cb = expansion2.wrathcommon5, svroot = nil }, } end -- 1.7.9.5