annotate ui/SettingsTab.lua @ 51:6f1bb8fcf64d v18

AskMrRobot.toc - Added line for new SettingsTab file AskMrRobotUi.lua - Added code for new Settings menu amr-constants.lua - Added instance IDs for all WoD 6.0 5-mans and Raids. - Removed legacy SoO IDs. config.lua - Removed "Interface/Addons" options area, migrated all settings to main addon window. localization/localization.en.lua - Added new strings for new Settings tab and new Raid auto-logging ui/CombatLogTab.lua - Removed legacy SoO code - Added auto-logging settings for Highmaul and Blackrock Foundry. ui/SettingsTab.lua - new main window tab for Minimap and Auction House settings options
author TuhMuffinMan <TuhMuffinMan>
date Fri, 28 Nov 2014 13:09:52 -0600
parents
children
rev   line source
TuhMuffinMan>@51 1 local _, AskMrRobot = ...
TuhMuffinMan>@51 2 local L = AskMrRobot.L;
TuhMuffinMan>@51 3
TuhMuffinMan>@51 4 -- initialize the CombatLogTab class
TuhMuffinMan>@51 5 AskMrRobot.SettingsTab = AskMrRobot.inheritsFrom(AskMrRobot.Frame)
TuhMuffinMan>@51 6
TuhMuffinMan>@51 7 -- helper to create text for this tab
TuhMuffinMan>@51 8 local function CreateText(tab, font, relativeTo, xOffset, yOffset, text)
TuhMuffinMan>@51 9 local t = tab:CreateFontString(nil, "ARTWORK", font)
TuhMuffinMan>@51 10 t:SetPoint("TOPLEFT", relativeTo, "BOTTOMLEFT", xOffset, yOffset)
TuhMuffinMan>@51 11 t:SetPoint("RIGHT", tab, "RIGHT", -5, 0)
TuhMuffinMan>@51 12 t:SetWidth(t:GetWidth())
TuhMuffinMan>@51 13 t:SetJustifyH("LEFT")
TuhMuffinMan>@51 14 t:SetText(text)
TuhMuffinMan>@51 15
TuhMuffinMan>@51 16 return t
TuhMuffinMan>@51 17 end
TuhMuffinMan>@51 18
TuhMuffinMan>@51 19 local function newCheckbox(tab, label, tooltipTitle, description, onClick)
TuhMuffinMan>@51 20 local check = CreateFrame("CheckButton", "AmrCheck" .. label, tab, "InterfaceOptionsCheckButtonTemplate")
TuhMuffinMan>@51 21 check:SetScript("OnClick", function(self)
TuhMuffinMan>@51 22 PlaySound(self:GetChecked() and "igMainMenuOptionCheckBoxOn" or "igMainMenuOptionCheckBoxOff")
TuhMuffinMan>@51 23 onClick(self, self:GetChecked() and true or false)
TuhMuffinMan>@51 24 end)
TuhMuffinMan>@51 25 check.label = _G[check:GetName() .. "Text"]
TuhMuffinMan>@51 26 check.label:SetText(label)
TuhMuffinMan>@51 27 check.tooltipText = tooltipTitle
TuhMuffinMan>@51 28 check.tooltipRequirement = description
TuhMuffinMan>@51 29 return check
TuhMuffinMan>@51 30 end
TuhMuffinMan>@51 31
TuhMuffinMan>@51 32 function AskMrRobot.SettingsTab:new(parent)
TuhMuffinMan>@51 33
TuhMuffinMan>@51 34 local tab = AskMrRobot.Frame:new(nil, parent)
TuhMuffinMan>@51 35 setmetatable(tab, { __index = AskMrRobot.SettingsTab })
TuhMuffinMan>@51 36 tab:SetPoint("TOPLEFT")
TuhMuffinMan>@51 37 tab:SetPoint("BOTTOMRIGHT")
TuhMuffinMan>@51 38 tab:Hide()
TuhMuffinMan>@51 39
TuhMuffinMan>@51 40 -- tab header
TuhMuffinMan>@51 41 local text = tab:CreateFontString(nil, "ARTWORK", "GameFontNormalLarge")
TuhMuffinMan>@51 42 text:SetPoint("TOPLEFT", 0, -5)
TuhMuffinMan>@51 43 text:SetText(L.AMR_SETTINGSTAB_SETTINGS)
TuhMuffinMan>@51 44
TuhMuffinMan>@51 45 --scrollframe
TuhMuffinMan>@51 46 tab.scrollframe = AskMrRobot.ScrollFrame:new(nil, tab)
TuhMuffinMan>@51 47 tab.scrollframe:SetPoint("TOPLEFT", tab, "TOPLEFT", 0, -30)
TuhMuffinMan>@51 48 tab.scrollframe:SetPoint("BOTTOMRIGHT", tab, "BOTTOMRIGHT", -30, 10)
TuhMuffinMan>@51 49
TuhMuffinMan>@51 50 local content = tab.scrollframe.content
TuhMuffinMan>@51 51 content:SetHeight(730)
TuhMuffinMan>@51 52
TuhMuffinMan>@51 53 local autoPopup = newCheckbox(content,
TuhMuffinMan>@51 54 L.AMR_CONFIG_CHECKBOX_MINIMAP_LABEL,
TuhMuffinMan>@51 55 L.AMR_CONFIG_CHECKBOX_MINIMAP_TOOLTIP_TITLE,
TuhMuffinMan>@51 56 L.AMR_CONFIG_CHECKBOX_MINIMAP_DESCRIPTION,
TuhMuffinMan>@51 57 function(self, value)
TuhMuffinMan>@51 58 if AmrDb.Options.hideMapIcon then
TuhMuffinMan>@51 59 AmrDb.Options.hideMapIcon = false
TuhMuffinMan>@51 60 else
TuhMuffinMan>@51 61 AmrDb.Options.hideMapIcon = true
TuhMuffinMan>@51 62 end
TuhMuffinMan>@51 63 AskMrRobot.AmrUpdateMinimap();
TuhMuffinMan>@51 64 end
TuhMuffinMan>@51 65 )
TuhMuffinMan>@51 66 autoPopup:SetChecked(not AmrDb.Options.hideMapIcon)
TuhMuffinMan>@51 67 autoPopup:SetPoint("TOPLEFT", content, "TOPLEFT", 0, 0)
TuhMuffinMan>@51 68
TuhMuffinMan>@51 69 local autoAh = newCheckbox(content,
TuhMuffinMan>@51 70 L.AMR_CONFIG_CHECKBOX_AUTOAH_LABEL,
TuhMuffinMan>@51 71 L.AMR_CONFIG_CHECKBOX_AUTOAH_TOOLTIP_TITLE,
TuhMuffinMan>@51 72 L.AMR_CONFIG_CHECKBOX_AUTOAH_DESCRIPTION,
TuhMuffinMan>@51 73 function(self, value)
TuhMuffinMan>@51 74 if AmrDb.Options.manualShowShop then
TuhMuffinMan>@51 75 AmrDb.Options.manualShowShop = false
TuhMuffinMan>@51 76 else
TuhMuffinMan>@51 77 AmrDb.Options.manualShowShop = true
TuhMuffinMan>@51 78 end
TuhMuffinMan>@51 79 end
TuhMuffinMan>@51 80 )
TuhMuffinMan>@51 81 autoAh:SetChecked(not AmrDb.Options.manualShowShop)
TuhMuffinMan>@51 82 autoAh:SetPoint("TOPLEFT", autoPopup, "BOTTOMLEFT", 0, -10)
TuhMuffinMan>@51 83
TuhMuffinMan>@51 84 return tab
TuhMuffinMan>@51 85 end