Mercurial > wow > breuesk
comparison Gui.lua @ 73:7eb2963eea7d
Further splitting up GUI and State
Starting to integrate looting events
author | John@Yosemite-PC |
---|---|
date | Sun, 08 Apr 2012 22:13:17 -0400 |
parents | 9e5b0a2368ad |
children | ed1c9fd4cc95 |
comparison
equal
deleted
inserted
replaced
72:9e5b0a2368ad | 73:7eb2963eea7d |
---|---|
31 | 31 |
32 local CreateListSelector = function(SListPopulator) | 32 local CreateListSelector = function(SListPopulator) |
33 PersonList:RefreshRaidList() | 33 PersonList:RefreshRaidList() |
34 local pulldown = AceGUI:Create("Dropdown") | 34 local pulldown = AceGUI:Create("Dropdown") |
35 local pull = {} | 35 local pull = {} |
36 local ltemp = 0 | |
37 local lids = LootLists:GetAllIds() | 36 local lids = LootLists:GetAllIds() |
38 for _,v in pairs(lids) do | 37 for _,v in pairs(lids) do |
39 local l = LootLists:Select(v) | 38 local l = LootLists:Select(v) |
40 pull[l:GetId()] = l:GetName() | 39 pull[l:GetId()] = l:GetName() |
41 --local entry = {value=i,text=v.name} | 40 --local entry = {value=i,text=v.name} |
42 if l:GetLength() > 0 then | 41 if l:GetLength() > 0 then |
43 pulldown:SetItemDisabled(i,true) | 42 pulldown:SetItemDisabled(i,true) |
44 if ltemp == 0 then | |
45 ltemp = l:GetId() | |
46 end | |
47 end | 43 end |
48 end | 44 end |
49 pulldown:SetWidth(175) | 45 pulldown:SetWidth(175) |
50 pulldown:SetList(pull) | 46 pulldown:SetList(pull) |
51 SListPopulator:SetSwidget(pulldown) | 47 SListPopulator:SetSwidget(pulldown) |
52 pulldown:SetCallback("OnValueChanged", function(_,_,value) SListPopulator:PulldownEvent(value) end) | 48 pulldown:SetCallback("OnValueChanged", function(_,_,value) SListPopulator:PulldownEvent(value) end) |
53 if ltemp > 0 then SListPopulator:PulldownEvent(ltemp) end -- default value | 49 if stateactivelist > 0 then SListPopulator:PulldownEvent(stateactivelist) end -- default value |
54 return pulldown | 50 return pulldown |
55 end | 51 end |
56 | 52 |
57 local f, right -- important gui elements | 53 local f, right -- important gui elements |
58 local escapeButton = | 54 local escapeButton = |
173 end, | 169 end, |
174 ["DataEvent"] = function(self) | 170 ["DataEvent"] = function(self) |
175 self:Redraw() | 171 self:Redraw() |
176 end, | 172 end, |
177 ["StateEvent"] = function(self) | 173 ["StateEvent"] = function(self) |
174 print("State event in SL: ", state, admin) | |
178 if state == "bidding" or (state == "looting" and not admin) then | 175 if state == "bidding" or (state == "looting" and not admin) then |
179 self.swidget:SetDisabled(true) | 176 self.swidget:SetDisabled(true) |
180 self:SelectList(stateactivelist) | 177 self:SelectList(stateactivelist) |
181 elseif state == "looting" and admin then | 178 elseif state == "looting" and admin then |
182 self.swidget:SetDisabled(false) | 179 self.swidget:SetDisabled(false) |
208 { | 205 { |
209 -- todo: set event receivers from the comm and for loot | 206 -- todo: set event receivers from the comm and for loot |
210 data = {}, | 207 data = {}, |
211 widget = nil, | 208 widget = nil, |
212 ["Release"] = function(self) self.data = {}; self.widget = nil end, | 209 ["Release"] = function(self) self.data = {}; self.widget = nil end, |
210 ["ItemListEvent"] = function(self) self:Redraw() end, | |
213 ["Redraw"]= function(self) | 211 ["Redraw"]= function(self) |
214 self.widget:SetList(self.data) | 212 self.data = {} |
215 LListEventDispatch:Event("Redraw") | 213 for i,v in pairs(stateitemlist) do |
214 local entry = {value=i, text=v, link=v} | |
215 table.insert(self.data,entry) | |
216 end | |
217 if self.widget then | |
218 self.widget:SetList(self.data) | |
219 LListEventDispatch:Event("Redraw") | |
220 end | |
216 end, | 221 end, |
217 ["SetWidget"] = function(self,w) | 222 ["SetWidget"] = function(self,w) |
218 if type(w) ~= "table" or type(w.SetList) ~= "function" then | 223 if type(w) ~= "table" or type(w.SetList) ~= "function" then |
219 _G.error("Bad SetWidget") | 224 _G.error("Bad SetWidget") |
220 end | 225 end |
323 SetChangeListener(DataEventDispatch) | 328 SetChangeListener(DataEventDispatch) |
324 DataEventDispatch:RegisterListener(SListPopulator) | 329 DataEventDispatch:RegisterListener(SListPopulator) |
325 RegisterListenerActiveListChanged(SListPopulator) | 330 RegisterListenerActiveListChanged(SListPopulator) |
326 RegisterListenerStateChange(SListPopulator) | 331 RegisterListenerStateChange(SListPopulator) |
327 RegisterListenerRolls(RListPopulator) | 332 RegisterListenerRolls(RListPopulator) |
333 RegisterItemListListener(LListPopulator) | |
328 end | 334 end |
329 | 335 |
330 function CreateGUI() | 336 function CreateGUI() |
331 -- special registration procedure to be closable with the escape button | 337 -- special registration procedure to be closable with the escape button |
332 --escapeButton.shown = true | 338 --escapeButton.shown = true |