comparison gui.lua @ 118:ec5174529e0f

Make more use of g_loot.raiders in the GUI rather than calling GRRI each time.
author Farmbuyer of US-Kilrogg <farmbuyer@gmail.com>
date Thu, 16 Aug 2012 23:04:29 -0400
parents fc2ff128835a
children fb4bda3ad05c
comparison
equal deleted inserted replaced
117:dbdab3780757 118:ec5174529e0f
158 __index = real, 158 __index = real,
159 __newindex = real, 159 __newindex = real,
160 cols = {}, 160 cols = {},
161 } 161 }
162 if real.kind == 'loot' then 162 if real.kind == 'loot' then
163 e.dperson = real.person_realm and 163 if real.person_realm then
164 (real.person .. FOREIGN_SERVER_LABEL) or real.person 164 e.dperson = real.person .. FOREIGN_SERVER_LABEL
165 e.fperson = real.person .. "-" .. real.person_realm
166 else
167 e.dperson = real.person
168 e.fperson = real.person
169 end
165 end 170 end
166 setmetatable(e,e) 171 setmetatable(e,e)
167 rawset(t,index,e) 172 rawset(t,index,e)
168 return e 173 return e
169 end 174 end
1120 end 1125 end
1121 1126
1122 elseif kind == 'loot' and column == 2 then 1127 elseif kind == 'loot' and column == 2 then
1123 tt:SetOwner (cellFrame, "ANCHOR_BOTTOMRIGHT", -50, 5) 1128 tt:SetOwner (cellFrame, "ANCHOR_BOTTOMRIGHT", -50, 5)
1124 tt:ClearLines() 1129 tt:ClearLines()
1125 tt:AddLine(("%s Loot:"):format(e.person_realm 1130 tt:AddLine(e.fperson .. " Loot:")
1126 and (e.person .. "-" .. e.person_realm) or e.person))
1127 local counter = 0 1131 local counter = 0
1128 for i,e2 in ipairs(data) do 1132 for i,e2 in ipairs(data) do
1129 if e2.person == e.person then -- would be awesome to test for alts 1133 if e2.person == e.person then -- would be awesome to test for alts
1130 if counter > 10 then 1134 if counter > 10 then
1131 tt:AddLine("...") 1135 tt:AddLine("...")
1198 gui.dropdown.eoi_loot[1].text = e.itemlink 1202 gui.dropdown.eoi_loot[1].text = e.itemlink
1199 EasyMenu (gui.dropdown.eoi_loot, dropdownmenuframe, cellFrame, 0, 0, "MENU") 1203 EasyMenu (gui.dropdown.eoi_loot, dropdownmenuframe, cellFrame, 0, 0, "MENU")
1200 1204
1201 elseif kind == 'loot' and column == 2 then 1205 elseif kind == 'loot' and column == 2 then
1202 local ddep = gui.dropdown.eoi_player 1206 local ddep = gui.dropdown.eoi_player
1203 ddep[1].text = e.person -- FIXME realm this too 1207 ddep[1].text = e.fperson
1204 local raiders = {} 1208 local raiders = {}
1205 for i = 1, GetNumRaidMembers() do 1209 for i, name, info in addon:sorted_raiders_iter() do
1206 tinsert (raiders, (GetRaidRosterInfo(i))) 1210 raiders[i] = gen_dd_entry (info.fname or name, eoi_dropdownfuncs,
1207 end 1211 'df_REASSIGN', name)
1208 table.sort(raiders) 1212 if info.online == 'offline' then
1209 for i = 1, #raiders do 1213 raiders[i].colorCode = GRAY_FONT_COLOR_CODE
1210 local name = raiders[i] 1214 elseif info.online == 'no_longer' then
1211 raiders[i] = gen_dd_entry (name, eoi_dropdownfuncs, 'df_REASSIGN', name) 1215 raiders[i].colorCode = RED_FONT_COLOR_CODE
1216 end
1212 end 1217 end
1213 tinsert (raiders, gen_dd_entry ("Enter name...", eoi_dropdownfuncs)) 1218 tinsert (raiders, gen_dd_entry ("Enter name...", eoi_dropdownfuncs))
1214 tinsert (raiders, gen_dd_entry (CLOSE, eoi_dropdownfuncs)) 1219 tinsert (raiders, gen_dd_entry (CLOSE, eoi_dropdownfuncs))
1215 ddep[2].menuList = raiders 1220 ddep[2].menuList = raiders
1216 1221
1508 _b:SetDisabled(true) 1513 _b:SetDisabled(true)
1509 end) 1514 end)
1510 b:SetDisabled(st.Filter == player_filter_all) 1515 b:SetDisabled(st.Filter == player_filter_all)
1511 specials:AddChild(b) 1516 specials:AddChild(b)
1512 1517
1513 -- FIXME iterate over the new raiders table instead
1514 local people = { "<nobody>" } 1518 local people = { "<nobody>" }
1515 for i = 1, GetNumRaidMembers() do
1516 tinsert(people,(GetRaidRosterInfo(i)))
1517 end
1518 table.sort(people)
1519 local initial 1519 local initial
1520 for i,n in ipairs(people) do 1520 for i, name, info in
1521 if n == addon.sharder then initial = i end 1521 addon:sorted_raiders_iter (--[[fullnames=]]true, 'online')
1522 do
1523 tinsert (people, name)
1524 if name == addon.sharder then
1525 initial = i + 1 -- +1 offset for "nobody"
1526 end
1522 end 1527 end
1523 b = mkbutton("Dropdown", nil, "", 1528 b = mkbutton("Dropdown", nil, "",
1524 [[If set, items received by this person will be automatically marked as disenchanted.]]) 1529 [[If set, items received by this person will be automatically marked as disenchanted.]])
1525 b:SetFullWidth(true) 1530 b:SetFullWidth(true)
1526 b:SetLabel("Auto-mark as shard:") 1531 b:SetLabel("Auto-mark as shard:")