Mercurial > wow > reaction
comparison ReAction.lua @ 92:5f1d7a81317c
- Various bugfixes
- Switched action bar paging/mc fully to the _childupdate method
author | Flick <flickerstreak@gmail.com> |
---|---|
date | Fri, 17 Oct 2008 22:43:57 +0000 |
parents | c2504a8b996c |
children | 168cae4aa8bd |
comparison
equal
deleted
inserted
replaced
91:c2504a8b996c | 92:5f1d7a81317c |
---|---|
105 }, | 105 }, |
106 plugins = { } | 106 plugins = { } |
107 } | 107 } |
108 ReAction.options = options | 108 ReAction.options = options |
109 | 109 |
110 local SelectBar, DestroyBar, InitializeBars, TearDownBars, DeepCopy, CallModuleMethod, SlashHandler | 110 local SelectBar, DestroyBar, InitializeBars, TearDownBars, DeepCopy, CallModuleMethod, SlashHandler, KBAttach |
111 do | 111 do |
112 local pcall = pcall | 112 local pcall = pcall |
113 local geterrorhandler = geterrorhandler | 113 local geterrorhandler = geterrorhandler |
114 local self = ReAction | 114 local self = ReAction |
115 local inited = false | 115 local inited = false |
116 | |
117 local function kb_onEnter( self ) | |
118 if ReAction:GetKeybindMode() then | |
119 KB:Set(self) | |
120 end | |
121 end | |
116 | 122 |
117 function SelectBar(x) | 123 function SelectBar(x) |
118 local bar, name | 124 local bar, name |
119 if type(x) == "string" then | 125 if type(x) == "string" then |
120 name = x | 126 name = x |
212 self:Print("/rxn lock") | 218 self:Print("/rxn lock") |
213 self:Print("/rxn unlock") | 219 self:Print("/rxn unlock") |
214 self:Print("/rxn kb") | 220 self:Print("/rxn kb") |
215 end | 221 end |
216 end | 222 end |
223 | |
224 function KBAttach( frame ) | |
225 if not private.kbHooked[frame] then | |
226 -- avoid taint, particularly with SecureAnchorEnterTemplate | |
227 -- don't hook scripts multiple times, there isn't any unhook! | |
228 frame:HookScript("OnEnter",kb_onEnter) | |
229 private.kbHooked[frame] = true | |
230 end | |
231 end | |
232 | |
217 end | 233 end |
218 | 234 |
219 | 235 |
220 ------ HANDLERS ------ | 236 ------ HANDLERS ------ |
221 function ReAction:OnInitialize() | 237 function ReAction:OnInitialize() |
485 | 501 |
486 function ReAction:ShowEditor(bar, ...) | 502 function ReAction:ShowEditor(bar, ...) |
487 CallModuleMethod("ConfigUI","LaunchBarEditor",bar, ...) | 503 CallModuleMethod("ConfigUI","LaunchBarEditor",bar, ...) |
488 end | 504 end |
489 | 505 |
490 | |
491 local kb_onEnter | |
492 do | |
493 function kb_onEnter( self ) | |
494 if ReAction:GetKeybindMode() then | |
495 KB:Set(self) | |
496 end | |
497 end | |
498 end | |
499 | |
500 function ReAction:SetKeybindMode( mode ) | 506 function ReAction:SetKeybindMode( mode ) |
501 if mode ~= private.kbMode then | 507 if mode ~= private.kbMode then |
502 if mode then | 508 if mode then |
503 for f in pairs(private.allKB) do | 509 for f in pairs(private.allKB) do |
504 if not private.kbHooked[f] then | 510 KBAttach(f) |
505 -- avoid taint, particularly with SecureAnchorEnterTemplate | |
506 -- don't hook scripts multiple times, there isn't any unhook! | |
507 f:HookScript("OnEnter",kb_onEnter) | |
508 private.kbHooked[f] = true | |
509 end | |
510 end | 511 end |
511 KB:Activate() | 512 KB:Activate() |
512 else | 513 else |
513 KB:Deactivate() | 514 KB:Deactivate() |
514 end | 515 end |
520 return private.kbMode | 521 return private.kbMode |
521 end | 522 end |
522 | 523 |
523 function ReAction:RegisterKeybindFrame( f ) | 524 function ReAction:RegisterKeybindFrame( f ) |
524 private.allKB[f] = true | 525 private.allKB[f] = true |
526 if private.kbMode then | |
527 KBAttach(f) | |
528 end | |
525 end | 529 end |
526 | 530 |
527 function ReAction:FreeOverrideHotkey( key ) | 531 function ReAction:FreeOverrideHotkey( key ) |
528 for f in pairs(private.allKB) do | 532 for f in pairs(private.allKB) do |
529 if f.GetBindings then | 533 if f.GetBindings then |