diff 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
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/ui/SettingsTab.lua	Fri Nov 28 13:09:52 2014 -0600
@@ -0,0 +1,85 @@
+local _, AskMrRobot = ...
+local L = AskMrRobot.L;
+
+-- initialize the CombatLogTab class
+AskMrRobot.SettingsTab = AskMrRobot.inheritsFrom(AskMrRobot.Frame)
+
+-- helper to create text for this tab
+local function CreateText(tab, font, relativeTo, xOffset, yOffset, text)
+    local t = tab:CreateFontString(nil, "ARTWORK", font)
+	t:SetPoint("TOPLEFT", relativeTo, "BOTTOMLEFT", xOffset, yOffset)
+	t:SetPoint("RIGHT", tab, "RIGHT", -5, 0)
+	t:SetWidth(t:GetWidth())
+	t:SetJustifyH("LEFT")
+	t:SetText(text)
+    
+    return t
+end
+
+local function newCheckbox(tab, label, tooltipTitle, description, onClick)
+	local check = CreateFrame("CheckButton", "AmrCheck" .. label, tab, "InterfaceOptionsCheckButtonTemplate")
+	check:SetScript("OnClick", function(self)
+		PlaySound(self:GetChecked() and "igMainMenuOptionCheckBoxOn" or "igMainMenuOptionCheckBoxOff")
+		onClick(self, self:GetChecked() and true or false)
+	end)
+	check.label = _G[check:GetName() .. "Text"]
+	check.label:SetText(label)
+	check.tooltipText = tooltipTitle
+	check.tooltipRequirement = description
+	return check
+end
+
+function AskMrRobot.SettingsTab:new(parent)
+
+	local tab = AskMrRobot.Frame:new(nil, parent)
+	setmetatable(tab, { __index = AskMrRobot.SettingsTab })
+	tab:SetPoint("TOPLEFT")
+	tab:SetPoint("BOTTOMRIGHT")
+	tab:Hide()
+
+	-- tab header
+	local text = tab:CreateFontString(nil, "ARTWORK", "GameFontNormalLarge")
+	text:SetPoint("TOPLEFT", 0, -5)
+	text:SetText(L.AMR_SETTINGSTAB_SETTINGS)
+
+	--scrollframe 
+	tab.scrollframe = AskMrRobot.ScrollFrame:new(nil, tab)
+	tab.scrollframe:SetPoint("TOPLEFT", tab, "TOPLEFT", 0, -30)
+	tab.scrollframe:SetPoint("BOTTOMRIGHT", tab, "BOTTOMRIGHT", -30, 10)
+
+	local content = tab.scrollframe.content
+	content:SetHeight(730)
+	
+	local autoPopup = newCheckbox(content,
+		L.AMR_CONFIG_CHECKBOX_MINIMAP_LABEL,
+		L.AMR_CONFIG_CHECKBOX_MINIMAP_TOOLTIP_TITLE,
+		L.AMR_CONFIG_CHECKBOX_MINIMAP_DESCRIPTION,
+		function(self, value) 
+			if AmrDb.Options.hideMapIcon then
+				AmrDb.Options.hideMapIcon = false
+			else
+				AmrDb.Options.hideMapIcon = true
+			end
+			AskMrRobot.AmrUpdateMinimap();
+		end
+	)
+	autoPopup:SetChecked(not AmrDb.Options.hideMapIcon)
+	autoPopup:SetPoint("TOPLEFT", content, "TOPLEFT", 0, 0)	
+	
+	local autoAh = newCheckbox(content,
+		L.AMR_CONFIG_CHECKBOX_AUTOAH_LABEL,
+		L.AMR_CONFIG_CHECKBOX_AUTOAH_TOOLTIP_TITLE,
+		L.AMR_CONFIG_CHECKBOX_AUTOAH_DESCRIPTION,
+		function(self, value) 
+			if AmrDb.Options.manualShowShop then
+				AmrDb.Options.manualShowShop = false
+			else
+				AmrDb.Options.manualShowShop = true
+			end
+		end
+	)
+	autoAh:SetChecked(not AmrDb.Options.manualShowShop)
+	autoAh:SetPoint("TOPLEFT", autoPopup, "BOTTOMLEFT", 0, -10)	
+
+    return tab
+end
\ No newline at end of file