diff ui/EnchantTab.lua @ 0:ec731d2fe6ba

Version 1.2.12.0
author Adam tegen <adam.tegen@gmail.com>
date Tue, 20 May 2014 21:43:23 -0500
parents
children ece9167c0d1c
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/ui/EnchantTab.lua	Tue May 20 21:43:23 2014 -0500
@@ -0,0 +1,106 @@
+local _, AskMrRobot = ...
+
+-- initialize the EnchantTab class
+AskMrRobot.EnchantTab = AskMrRobot.inheritsFrom(AskMrRobot.Frame)
+
+function AskMrRobot.EnchantTab:new(parent)
+
+	local tab = AskMrRobot.Frame:new(nil, parent)
+	setmetatable(tab, { __index = AskMrRobot.EnchantTab })
+	tab:SetPoint("TOPLEFT")
+	tab:SetPoint("BOTTOMRIGHT")
+	tab:Hide()
+
+
+	local text = tab:CreateFontString("AmrEnchantsText1", "ARTWORK", "GameFontNormalLarge")
+	text:SetPoint("TOPLEFT", 0, -5)
+	text:SetText("Enchants")
+
+	tab.stamp = AskMrRobot.RobotStamp:new(nil, tab)
+	tab.stamp:Hide()
+	tab.stamp.smallText:SetText("Your enchants are 100% optimal!")
+	tab.stamp:SetPoint("TOPLEFT", text, "BOTTOMLEFT", 2, -15)
+	tab.stamp:SetPoint("RIGHT", tab, "RIGHT", -20, 0)
+
+	tab.slotHeader = tab:CreateFontString("AmrBadEnchantSlotHeader", "ARTWORK", "GameFontNormal")
+	tab.slotHeader:SetPoint("TOPLEFT", "AmrEnchantsText1", "BOTTOMLEFT", 0, -20)
+	tab.slotHeader:SetText("Slot")
+	tab.slotHeader:SetWidth(90)
+	tab.slotHeader:SetJustifyH("LEFT")
+
+	tab.currentHeader = tab:CreateFontString("AmrBadEnchantCurrentHeader", "ARTWORK", "GameFontNormal")
+	tab.currentHeader:SetText("Current")
+	tab.currentHeader:SetPoint("TOPLEFT", "AmrBadEnchantSlotHeader", "TOPLEFT", 100, 0)
+	tab.currentHeader:SetWidth(120)
+	tab.currentHeader:SetJustifyH("LEFT")
+
+	tab.optimizedHeader = tab:CreateFontString("AmrBadEnchantOptimizedHeader", "ARTWORK", "GameFontNormal")
+	tab.optimizedHeader:SetPoint("TOPLEFT", "AmrBadEnchantCurrentHeader", "TOPLEFT", 140, 0)
+	tab.optimizedHeader:SetPoint("RIGHT", -30, 0)
+	tab.optimizedHeader:SetText("Optimized")
+	tab.optimizedHeader:SetJustifyH("LEFT")
+
+	tab.badEnchantSlots = {}
+	tab.badEnchantCurrent = {}
+	tab.badEnchantOptimized = {}
+
+	for i = 1, #AskMrRobot.slotNames do
+		local itemText = tab:CreateFontString(nil, "ARTWORK", "GameFontWhite")
+		itemText:SetPoint("TOPLEFT", "AmrBadEnchantSlotHeader", "TOPLEFT", 0, -26 * i)
+		itemText:SetPoint("BOTTOMRIGHT", "AmrBadEnchantSlotHeader", "BOTTOMRIGHT", 0, -26 * i)
+		itemText:SetJustifyH("LEFT")
+		itemText:SetText("TestSlot")
+		tinsert(tab.badEnchantSlots, itemText)
+
+		itemText = AskMrRobot.EnchantLinkText:new(nil, tab)
+		itemText:SetPoint("TOPLEFT", "AmrBadEnchantCurrentHeader", "TOPLEFT", 0, -26 * i)
+		itemText:SetPoint("BOTTOMRIGHT", "AmrBadEnchantCurrentHeader", "BOTTOMRIGHT", 0,  -26 * i)
+		tinsert(tab.badEnchantCurrent, itemText)
+
+		itemText = AskMrRobot.EnchantLinkIconAndText:new(nil, tab)
+		itemText:SetPoint("TOPLEFT", "AmrBadEnchantOptimizedHeader", "TOPLEFT", 0,  -26 * i)
+		itemText:SetPoint("BOTTOMRIGHT", "AmrBadEnchantOptimizedHeader", "BOTTOMRIGHT", 0,  -26 * i)
+		tinsert(tab.badEnchantOptimized, itemText)
+	end
+
+	return tab
+end
+
+function AskMrRobot.EnchantTab:showBadEnchants()
+
+	local badEnchants = AskMrRobot.itemDiffs.enchants
+
+	local i = 1
+
+	-- for all the bad items
+	for slotNum, badEnchant in AskMrRobot.sortSlots(badEnchants) do
+		self.badEnchantSlots[i]:SetText(_G[strupper(AskMrRobot.slotNames[slotNum])])
+		self.badEnchantSlots[i]:Show()
+
+		self.badEnchantCurrent[i]:SetEnchantId(badEnchant.current)
+
+		self.badEnchantOptimized[i]:SetEnchantId(badEnchant.optimized)
+		i = i + 1
+	end
+
+	-- hide / show the headers
+	if i == 1 then
+		self.optimizedHeader:Hide()
+		self.currentHeader:Hide()
+		self.slotHeader:Hide()
+		self.stamp:Show()
+	else
+		self.optimizedHeader:Show()
+		self.currentHeader:Show()
+		self.slotHeader:Show()
+		self.stamp:Hide()
+	end
+
+	-- hide the remaining slots
+	while i <= #self.badEnchantSlots do
+		self.badEnchantSlots[i]:Hide()
+		self.badEnchantCurrent[i]:SetEnchantId(nil)
+		self.badEnchantOptimized[i]:SetEnchantId(nil)
+		i = i + 1
+	end		
+end
\ No newline at end of file