Mercurial > wow > askmrrobot
comparison ui/GemTab.lua @ 17:e77e01abce98
Warlords of Draenor pre-patch
author | Adam tegen <adam.tegen@gmail.com> |
---|---|
date | Mon, 13 Oct 2014 21:28:32 -0500 |
parents | ece9167c0d1c |
children |
comparison
equal
deleted
inserted
replaced
16:9793e8b683d2 | 17:e77e01abce98 |
---|---|
23 AskMrRobot.GemTab = AskMrRobot.inheritsFrom(AskMrRobot.Frame) | 23 AskMrRobot.GemTab = AskMrRobot.inheritsFrom(AskMrRobot.Frame) |
24 | 24 |
25 local MAX_SLOTS = 4 | 25 local MAX_SLOTS = 4 |
26 | 26 |
27 -- GemTab contructor | 27 -- GemTab contructor |
28 function AskMrRobot.GemTab:new(name, parent) | 28 function AskMrRobot.GemTab:new(parent) |
29 -- create a new frame (if one isn't supplied) | 29 -- create a new frame (if one isn't supplied) |
30 local tab = AskMrRobot.Frame:new(name, parent) | 30 local tab = AskMrRobot.Frame:new(nil, parent) |
31 tab:SetPoint("TOPLEFT") | 31 tab:SetPoint("TOPLEFT") |
32 tab:SetPoint("BOTTOMRIGHT") | 32 tab:SetPoint("BOTTOMRIGHT") |
33 -- use the GemTab class | 33 -- use the GemTab class |
34 setmetatable(tab, { __index = AskMrRobot.GemTab }) | 34 setmetatable(tab, { __index = AskMrRobot.GemTab }) |
35 tab:Hide() | 35 tab:Hide() |
124 self.count = 0 | 124 self.count = 0 |
125 | 125 |
126 local i = 1 | 126 local i = 1 |
127 local badGemTotal = 0 | 127 local badGemTotal = 0 |
128 | 128 |
129 if AskMrRobot.itemDiffs.gems then | 129 if AskMrRobot.ComparisonResult.gems then |
130 for slotNum, badGems in AskMrRobot.sortSlots(AskMrRobot.itemDiffs.gems) do | 130 for iSlot = 1, #AskMrRobot.slotIds do |
131 self.count = self.count + 1 | 131 local slotId = AskMrRobot.slotIds[iSlot] |
132 if i <= MAX_SLOTS then | 132 local badGems = AskMrRobot.ComparisonResult.gems[slotId] |
133 self.jewelPanels[i]:Show() | 133 if badGems ~= nil then |
134 self.count = self.count + 1 | |
135 if i <= MAX_SLOTS then | |
136 self.jewelPanels[i]:Show() | |
137 end | |
138 for g = 1, #badGems.optimized do | |
139 if not AskMrRobot.AreGemsCompatible(badGems.optimized[g], badGems.current[g]) then | |
140 badGemTotal = badGemTotal + 1 | |
141 end | |
142 end | |
143 i = i + 1 | |
134 end | 144 end |
135 for k, v in pairs(badGems.badGems) do | |
136 badGemTotal = badGemTotal + 1 | |
137 end | |
138 i = i + 1 | |
139 end | 145 end |
140 end | 146 end |
141 | 147 |
142 self.gemsTextToOptimize:SetFormattedText(L.AMR_GEMTAB_TO_OPTIMIZE, badGemTotal) | 148 self.gemsTextToOptimize:SetFormattedText(L.AMR_GEMTAB_TO_OPTIMIZE, badGemTotal) |
143 | 149 |
153 else | 159 else |
154 self.gemSlotHeader:Show() | 160 self.gemSlotHeader:Show() |
155 self.gemCurrentHeader:Show() | 161 self.gemCurrentHeader:Show() |
156 self.gemOptimizedHeader:Show() | 162 self.gemOptimizedHeader:Show() |
157 self.gemsTextToOptimize:Show() | 163 self.gemsTextToOptimize:Show() |
158 self.button:Show() | 164 --self.button:Show() |
159 self.usePerfectButton:Show() | 165 --self.usePerfectButton:Show() |
160 self.stamp:Hide() | 166 self.stamp:Hide() |
161 end | 167 end |
162 | 168 |
163 for i = self.count + 1, MAX_SLOTS do | 169 for i = self.count + 1, MAX_SLOTS do |
164 self.jewelPanels[i]:Hide() | 170 self.jewelPanels[i]:Hide() |
177 local self = scrollframe.parent | 183 local self = scrollframe.parent |
178 FauxScrollFrame_Update(self.fauxScroll, self.count, #self.jewelPanels, self.jewelPanels[1]:GetHeight()) | 184 FauxScrollFrame_Update(self.fauxScroll, self.count, #self.jewelPanels, self.jewelPanels[1]:GetHeight()) |
179 local offset = FauxScrollFrame_GetOffset(scrollframe) | 185 local offset = FauxScrollFrame_GetOffset(scrollframe) |
180 | 186 |
181 local i = 1 | 187 local i = 1 |
182 for slotNum, badGems in AskMrRobot.sortSlots(AskMrRobot.itemDiffs.gems) do | 188 if AskMrRobot.ComparisonResult.gems then |
183 if offset > 0 then | 189 for iSlot = 1, #AskMrRobot.slotIds do |
184 offset = offset - 1 | 190 local slotId = AskMrRobot.slotIds[iSlot] |
185 else | 191 local badGems = AskMrRobot.ComparisonResult.gems[slotId] |
186 | 192 if badGems ~= nil then |
187 if i > MAX_SLOTS then | 193 if offset > 0 then |
188 break | 194 offset = offset - 1 |
195 else | |
196 | |
197 if i > MAX_SLOTS then | |
198 break | |
199 end | |
200 | |
201 self.jewelPanels[i]:SetItemLink(AskMrRobot.slotDisplayText[slotId], AmrDb.Equipped[AmrDb.ActiveSpec][slotId]) | |
202 self.jewelPanels[i]:SetOptimizedGems(badGems.optimized, badGems.current) | |
203 i = i + 1 | |
204 end | |
189 end | 205 end |
190 | |
191 self.jewelPanels[i]:SetItemLink(_G[strupper(AskMrRobot.slotNames[slotNum])], badGems.current.link ) | |
192 self.jewelPanels[i]:SetOptimizedGems(badGems.optimized, badGems.badGems) | |
193 i = i + 1 | |
194 end | 206 end |
195 end | 207 end |
196 end | 208 end |