comparison 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
comparison
equal deleted inserted replaced
50:af0dc99cbedb 51:6f1bb8fcf64d
1 local _, AskMrRobot = ...
2 local L = AskMrRobot.L;
3
4 -- initialize the CombatLogTab class
5 AskMrRobot.SettingsTab = AskMrRobot.inheritsFrom(AskMrRobot.Frame)
6
7 -- helper to create text for this tab
8 local function CreateText(tab, font, relativeTo, xOffset, yOffset, text)
9 local t = tab:CreateFontString(nil, "ARTWORK", font)
10 t:SetPoint("TOPLEFT", relativeTo, "BOTTOMLEFT", xOffset, yOffset)
11 t:SetPoint("RIGHT", tab, "RIGHT", -5, 0)
12 t:SetWidth(t:GetWidth())
13 t:SetJustifyH("LEFT")
14 t:SetText(text)
15
16 return t
17 end
18
19 local function newCheckbox(tab, label, tooltipTitle, description, onClick)
20 local check = CreateFrame("CheckButton", "AmrCheck" .. label, tab, "InterfaceOptionsCheckButtonTemplate")
21 check:SetScript("OnClick", function(self)
22 PlaySound(self:GetChecked() and "igMainMenuOptionCheckBoxOn" or "igMainMenuOptionCheckBoxOff")
23 onClick(self, self:GetChecked() and true or false)
24 end)
25 check.label = _G[check:GetName() .. "Text"]
26 check.label:SetText(label)
27 check.tooltipText = tooltipTitle
28 check.tooltipRequirement = description
29 return check
30 end
31
32 function AskMrRobot.SettingsTab:new(parent)
33
34 local tab = AskMrRobot.Frame:new(nil, parent)
35 setmetatable(tab, { __index = AskMrRobot.SettingsTab })
36 tab:SetPoint("TOPLEFT")
37 tab:SetPoint("BOTTOMRIGHT")
38 tab:Hide()
39
40 -- tab header
41 local text = tab:CreateFontString(nil, "ARTWORK", "GameFontNormalLarge")
42 text:SetPoint("TOPLEFT", 0, -5)
43 text:SetText(L.AMR_SETTINGSTAB_SETTINGS)
44
45 --scrollframe
46 tab.scrollframe = AskMrRobot.ScrollFrame:new(nil, tab)
47 tab.scrollframe:SetPoint("TOPLEFT", tab, "TOPLEFT", 0, -30)
48 tab.scrollframe:SetPoint("BOTTOMRIGHT", tab, "BOTTOMRIGHT", -30, 10)
49
50 local content = tab.scrollframe.content
51 content:SetHeight(730)
52
53 local autoPopup = newCheckbox(content,
54 L.AMR_CONFIG_CHECKBOX_MINIMAP_LABEL,
55 L.AMR_CONFIG_CHECKBOX_MINIMAP_TOOLTIP_TITLE,
56 L.AMR_CONFIG_CHECKBOX_MINIMAP_DESCRIPTION,
57 function(self, value)
58 if AmrDb.Options.hideMapIcon then
59 AmrDb.Options.hideMapIcon = false
60 else
61 AmrDb.Options.hideMapIcon = true
62 end
63 AskMrRobot.AmrUpdateMinimap();
64 end
65 )
66 autoPopup:SetChecked(not AmrDb.Options.hideMapIcon)
67 autoPopup:SetPoint("TOPLEFT", content, "TOPLEFT", 0, 0)
68
69 local autoAh = newCheckbox(content,
70 L.AMR_CONFIG_CHECKBOX_AUTOAH_LABEL,
71 L.AMR_CONFIG_CHECKBOX_AUTOAH_TOOLTIP_TITLE,
72 L.AMR_CONFIG_CHECKBOX_AUTOAH_DESCRIPTION,
73 function(self, value)
74 if AmrDb.Options.manualShowShop then
75 AmrDb.Options.manualShowShop = false
76 else
77 AmrDb.Options.manualShowShop = true
78 end
79 end
80 )
81 autoAh:SetChecked(not AmrDb.Options.manualShowShop)
82 autoAh:SetPoint("TOPLEFT", autoPopup, "BOTTOMLEFT", 0, -10)
83
84 return tab
85 end