Mercurial > wow > askmrrobot
comparison 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 |
comparison
equal
deleted
inserted
replaced
| -1:000000000000 | 0:ec731d2fe6ba |
|---|---|
| 1 local _, AskMrRobot = ... | |
| 2 | |
| 3 -- initialize the EnchantTab class | |
| 4 AskMrRobot.EnchantTab = AskMrRobot.inheritsFrom(AskMrRobot.Frame) | |
| 5 | |
| 6 function AskMrRobot.EnchantTab:new(parent) | |
| 7 | |
| 8 local tab = AskMrRobot.Frame:new(nil, parent) | |
| 9 setmetatable(tab, { __index = AskMrRobot.EnchantTab }) | |
| 10 tab:SetPoint("TOPLEFT") | |
| 11 tab:SetPoint("BOTTOMRIGHT") | |
| 12 tab:Hide() | |
| 13 | |
| 14 | |
| 15 local text = tab:CreateFontString("AmrEnchantsText1", "ARTWORK", "GameFontNormalLarge") | |
| 16 text:SetPoint("TOPLEFT", 0, -5) | |
| 17 text:SetText("Enchants") | |
| 18 | |
| 19 tab.stamp = AskMrRobot.RobotStamp:new(nil, tab) | |
| 20 tab.stamp:Hide() | |
| 21 tab.stamp.smallText:SetText("Your enchants are 100% optimal!") | |
| 22 tab.stamp:SetPoint("TOPLEFT", text, "BOTTOMLEFT", 2, -15) | |
| 23 tab.stamp:SetPoint("RIGHT", tab, "RIGHT", -20, 0) | |
| 24 | |
| 25 tab.slotHeader = tab:CreateFontString("AmrBadEnchantSlotHeader", "ARTWORK", "GameFontNormal") | |
| 26 tab.slotHeader:SetPoint("TOPLEFT", "AmrEnchantsText1", "BOTTOMLEFT", 0, -20) | |
| 27 tab.slotHeader:SetText("Slot") | |
| 28 tab.slotHeader:SetWidth(90) | |
| 29 tab.slotHeader:SetJustifyH("LEFT") | |
| 30 | |
| 31 tab.currentHeader = tab:CreateFontString("AmrBadEnchantCurrentHeader", "ARTWORK", "GameFontNormal") | |
| 32 tab.currentHeader:SetText("Current") | |
| 33 tab.currentHeader:SetPoint("TOPLEFT", "AmrBadEnchantSlotHeader", "TOPLEFT", 100, 0) | |
| 34 tab.currentHeader:SetWidth(120) | |
| 35 tab.currentHeader:SetJustifyH("LEFT") | |
| 36 | |
| 37 tab.optimizedHeader = tab:CreateFontString("AmrBadEnchantOptimizedHeader", "ARTWORK", "GameFontNormal") | |
| 38 tab.optimizedHeader:SetPoint("TOPLEFT", "AmrBadEnchantCurrentHeader", "TOPLEFT", 140, 0) | |
| 39 tab.optimizedHeader:SetPoint("RIGHT", -30, 0) | |
| 40 tab.optimizedHeader:SetText("Optimized") | |
| 41 tab.optimizedHeader:SetJustifyH("LEFT") | |
| 42 | |
| 43 tab.badEnchantSlots = {} | |
| 44 tab.badEnchantCurrent = {} | |
| 45 tab.badEnchantOptimized = {} | |
| 46 | |
| 47 for i = 1, #AskMrRobot.slotNames do | |
| 48 local itemText = tab:CreateFontString(nil, "ARTWORK", "GameFontWhite") | |
| 49 itemText:SetPoint("TOPLEFT", "AmrBadEnchantSlotHeader", "TOPLEFT", 0, -26 * i) | |
| 50 itemText:SetPoint("BOTTOMRIGHT", "AmrBadEnchantSlotHeader", "BOTTOMRIGHT", 0, -26 * i) | |
| 51 itemText:SetJustifyH("LEFT") | |
| 52 itemText:SetText("TestSlot") | |
| 53 tinsert(tab.badEnchantSlots, itemText) | |
| 54 | |
| 55 itemText = AskMrRobot.EnchantLinkText:new(nil, tab) | |
| 56 itemText:SetPoint("TOPLEFT", "AmrBadEnchantCurrentHeader", "TOPLEFT", 0, -26 * i) | |
| 57 itemText:SetPoint("BOTTOMRIGHT", "AmrBadEnchantCurrentHeader", "BOTTOMRIGHT", 0, -26 * i) | |
| 58 tinsert(tab.badEnchantCurrent, itemText) | |
| 59 | |
| 60 itemText = AskMrRobot.EnchantLinkIconAndText:new(nil, tab) | |
| 61 itemText:SetPoint("TOPLEFT", "AmrBadEnchantOptimizedHeader", "TOPLEFT", 0, -26 * i) | |
| 62 itemText:SetPoint("BOTTOMRIGHT", "AmrBadEnchantOptimizedHeader", "BOTTOMRIGHT", 0, -26 * i) | |
| 63 tinsert(tab.badEnchantOptimized, itemText) | |
| 64 end | |
| 65 | |
| 66 return tab | |
| 67 end | |
| 68 | |
| 69 function AskMrRobot.EnchantTab:showBadEnchants() | |
| 70 | |
| 71 local badEnchants = AskMrRobot.itemDiffs.enchants | |
| 72 | |
| 73 local i = 1 | |
| 74 | |
| 75 -- for all the bad items | |
| 76 for slotNum, badEnchant in AskMrRobot.sortSlots(badEnchants) do | |
| 77 self.badEnchantSlots[i]:SetText(_G[strupper(AskMrRobot.slotNames[slotNum])]) | |
| 78 self.badEnchantSlots[i]:Show() | |
| 79 | |
| 80 self.badEnchantCurrent[i]:SetEnchantId(badEnchant.current) | |
| 81 | |
| 82 self.badEnchantOptimized[i]:SetEnchantId(badEnchant.optimized) | |
| 83 i = i + 1 | |
| 84 end | |
| 85 | |
| 86 -- hide / show the headers | |
| 87 if i == 1 then | |
| 88 self.optimizedHeader:Hide() | |
| 89 self.currentHeader:Hide() | |
| 90 self.slotHeader:Hide() | |
| 91 self.stamp:Show() | |
| 92 else | |
| 93 self.optimizedHeader:Show() | |
| 94 self.currentHeader:Show() | |
| 95 self.slotHeader:Show() | |
| 96 self.stamp:Hide() | |
| 97 end | |
| 98 | |
| 99 -- hide the remaining slots | |
| 100 while i <= #self.badEnchantSlots do | |
| 101 self.badEnchantSlots[i]:Hide() | |
| 102 self.badEnchantCurrent[i]:SetEnchantId(nil) | |
| 103 self.badEnchantOptimized[i]:SetEnchantId(nil) | |
| 104 i = i + 1 | |
| 105 end | |
| 106 end |
