comparison core.lua @ 4:05caaf17b3ca

Get history window in a working state again in prep for redoing orders.
author Farmbuyer of US-Kilrogg <farmbuyer@gmail.com>
date Sun, 24 Apr 2011 07:29:01 +0000
parents fe437e761ef8
children 7adbc59de8fe
comparison
equal deleted inserted replaced
3:2753b9763882 4:05caaf17b3ca
343 if opts.register_slashloot then 343 if opts.register_slashloot then
344 SLASH_ACECONSOLE_OUROLOOT2 = "/loot" 344 SLASH_ACECONSOLE_OUROLOOT2 = "/loot"
345 end 345 end
346 346
347 self.history_all = self.history_all or OuroLootSV_hist or {} 347 self.history_all = self.history_all or OuroLootSV_hist or {}
348 local r = GetRealmName() 348 local r = assert(GetRealmName())
349 self.history_all[r] = self:_prep_new_history_category (self.history_all[r], r) 349 self.history_all[r] = self:_prep_new_history_category (self.history_all[r], r)
350 self.history = self.history_all[r] 350 self.history = self.history_all[r]
351 OuroLootSV_hist = nil
351 352
352 _init(self) 353 _init(self)
353 self.OnInitialize = nil 354 self.OnInitialize = nil
354 end 355 end
355 356
1165 -- }, ...... 1166 -- }, ......
1166 -- }, 1167 -- },
1167 -- ["OtherRealm"] = ...... 1168 -- ["OtherRealm"] = ......
1168 -- } 1169 -- }
1169 do 1170 do
1170 -- Builds the map of names to array indices. 1171 -- Builds the map of names to array indices, using passed table or
1172 -- self.history, and stores the result into its 'byname' field. Also
1173 -- called from the GUI code at least once.
1171 function addon:_build_history_names (opt_hist) 1174 function addon:_build_history_names (opt_hist)
1172 local hist = opt_hist or self.history 1175 local hist = opt_hist or self.history
1173 local m = {} 1176 local m = {}
1174 for i = 1, #hist do 1177 for i = 1, #hist do
1175 m[hist[i].name] = i 1178 m[hist[i].name] = i
1176 end 1179 end
1177 hist.byname = m 1180 hist.byname = m
1181 end
1182
1183 -- Prepares and returns table to be used as self.history.
1184 function addon:_prep_new_history_category (prev_table, realmname)
1185 local t = prev_table or {
1186 --kind = 'realm',
1187 realm = realmname,
1188 }
1189
1190 --[[
1191 t.cols = setmetatable({
1192 { value = realmname },
1193 }, self.time_column1_used_mt)
1194 ]]
1195
1196 if not t.byname then
1197 self:_build_history_names (t)
1198 end
1199
1200 return t
1178 end 1201 end
1179 1202
1180 -- Maps a name to an array index, creating new tables if needed. Returns 1203 -- Maps a name to an array index, creating new tables if needed. Returns
1181 function addon:get_loot_history (name) 1204 function addon:get_loot_history (name)
1182 local i 1205 local i
1185 i = #self.history + 1 1208 i = #self.history + 1
1186 self.history[i] = { name=name } 1209 self.history[i] = { name=name }
1187 self.history.byname[name] = i 1210 self.history.byname[name] = i
1188 end 1211 end
1189 return self.history[i] 1212 return self.history[i]
1190 end
1191
1192 -- Prepares and returns table to be used as self.history.
1193 function addon:_prep_new_history_category (prev_table, realmname)
1194 local t = prev_table or {
1195 --kind = 'realm',
1196 realm = realmname,
1197 }
1198
1199 --[[
1200 t.cols = setmetatable({
1201 { value = realmname },
1202 }, self.time_column1_used_mt)
1203 ]]
1204
1205 if not t.byname then
1206 self:_build_history_names (t)
1207 end
1208
1209 return t
1210 end 1213 end
1211 1214
1212 function addon:_addHistoryEntry (lootindex) 1215 function addon:_addHistoryEntry (lootindex)
1213 local e = g_loot[lootindex] 1216 local e = g_loot[lootindex]
1214 local h = self:get_loot_history(e.person) 1217 local h = self:get_loot_history(e.person)