Mercurial > wow > skeletonkey
comparison BindingsFrame.lua @ 74:9824d524a661
- binding slot mixin:
- store key binding definitions under their slot's data table
- apply action button attributes when a slot is assigned
- obtain correct macro body text when a macro is slotted
- fix algorithm for resolving renamed macro indices
- move spell detail lookup code out of mixin script
- event chains:
- initialize addon from PLAYER_LOGIN
- reload keybinds from PLAYER_SPECIALIZATION_CHANGED, after spec profile is resolved
- refresh interface content from SPELLS_CHANGED
- hotkey text:
- restore communication and detection of key binding updates and reflect them accordingly
- properly respond to dynamic bindings that result from talent updates
| author | Nenue |
|---|---|
| date | Sat, 14 Jan 2017 02:29:33 -0500 |
| parents | c48913c5924c |
| children | 6623b7f2c1ca |
comparison
equal
deleted
inserted
replaced
| 73:68365bda5ab5 | 74:9824d524a661 |
|---|---|
| 15 [[Interface\UI-TutorialFrame-QuestGiver\UI-TutorialFrame-QuestGray]] | 15 [[Interface\UI-TutorialFrame-QuestGiver\UI-TutorialFrame-QuestGray]] |
| 16 --]=] | 16 --]=] |
| 17 | 17 |
| 18 SkeletonKeyButtonMixin = {} | 18 SkeletonKeyButtonMixin = {} |
| 19 local _, kb = ... | 19 local _, kb = ... |
| 20 local print = (DEVIAN_PNAME == 'SkeletonKey') and function(...) _G.print('SK', ...) end or nop | 20 local print = (DEVIAN_PNAME == 'SkeletonKey') and function(...) _G.print('SKUI', ...) end or nop |
| 21 local gprint = (DEVIAN_PNAME == 'SkeletonKey') and function(...) _G.print('SK', ...) end or nop | |
| 21 local L = kb.L | 22 local L = kb.L |
| 22 local BINDS_PER_ROW = 2 | 23 local BINDS_PER_ROW = 2 |
| 23 local BINDING_TYPE_SPECIALIZATION = 3 | 24 local BINDING_TYPE_SPECIALIZATION = 3 |
| 24 local BINDING_TYPE_CHARACTER = 2 | 25 local BINDING_TYPE_CHARACTER = 2 |
| 25 local BINDING_TYPE_GLOBAL = 1 | 26 local BINDING_TYPE_GLOBAL = 1 |
| 247 | 248 |
| 248 | 249 |
| 249 | 250 |
| 250 --- push current information into living UI | 251 --- push current information into living UI |
| 251 function SkeletonKeyMixin:Update(force) | 252 function SkeletonKeyMixin:Update(force) |
| 252 print('|cFFFF8800'..self:GetName()..':Update()|r', InCombatLockdown() and 'combat', self:IsShown()) | 253 gprint('|cFFFF8800'..self:GetName()..':Update()|r', InCombatLockdown() and 'combat', self:IsShown()) |
| 253 for index, frame in ipairs(self.Plugins) do | 254 for index, frame in ipairs(self.Plugins) do |
| 254 if frame.Update then | 255 if frame.Update then |
| 255 frame:Update(force) | 256 frame:Update(force) |
| 256 end | 257 end |
| 257 end | 258 end |
| 349 kb.currentProfile = selectedProfile | 350 kb.currentProfile = selectedProfile |
| 350 kb.db.bindMode = tabID | 351 kb.db.bindMode = tabID |
| 351 else | 352 else |
| 352 tabID = BINDING_TYPE_GLOBAL | 353 tabID = BINDING_TYPE_GLOBAL |
| 353 end | 354 end |
| 355 print(selectedProfile) | |
| 354 scrollOffset = scrollOffset or 0 | 356 scrollOffset = scrollOffset or 0 |
| 355 | 357 |
| 356 local leftSlot, upSlot | 358 local leftSlot, upSlot |
| 357 local buttonTable = self.buttons or {} | 359 local buttonTable = self.buttons or {} |
| 358 for index = 1, NUM_KEY_SLOTS do | 360 for index = 1, NUM_KEY_SLOTS do |
