Mercurial > wow > skeletonkey
comparison SkeletonKey/BindingsFrame.lua @ 34:daff39af0c6d
changeset logjam
| author | Nenue |
|---|---|
| date | Tue, 16 Aug 2016 10:24:55 -0400 |
| parents | b0e4d04d428a |
| children | 9a9d7f2a7c07 |
comparison
equal
deleted
inserted
replaced
| 33:d5e6b2265d6f | 34:daff39af0c6d |
|---|---|
| 30 [BINDING_TYPE_SPECIALIZATION] = {0, 1, 1}, | 30 [BINDING_TYPE_SPECIALIZATION] = {0, 1, 1}, |
| 31 [BINDING_TYPE_CHARACTER] = {0, 1, 0}, | 31 [BINDING_TYPE_CHARACTER] = {0, 1, 0}, |
| 32 [BINDING_TYPE_GLOBAL] = {0, 1, 1} | 32 [BINDING_TYPE_GLOBAL] = {0, 1, 1} |
| 33 } | 33 } |
| 34 | 34 |
| 35 --[=[ | |
| 36 -- some useful texture paths | |
| 37 [[Interface\PaperDollInfoFrame\UI-GearManager-Undo]] | |
| 38 [[Interface\PetPaperDollFrame\UI-PetHappiness]] | |
| 39 [[Interface\RAIDFRAME\ReadyCheck-Waiting]] | |
| 40 [[Interface\RAIDFRAME\ReadyCheck-Read]] | |
| 41 [[Interface\RAIDFRAME\ReadyCheck-NotReady]] | |
| 42 [[Interface\TradeSkillFrame\UI-TradeSkill-LinkButton]] | |
| 43 [[Interface\TUTORIALFRAME\UI-TUTORIAL-FRAME]] | |
| 44 [[Interface\UI-TutorialFrame-QuestGiver\UI-TutorialFrame-QuestGray]] | |
| 45 --]=] | |
| 46 local lastFolder | |
| 47 local addT = function(frame, key, folder, name) | |
| 48 folder = folder or lastFolder | |
| 49 frame[key] = frame:CreateTexture() | |
| 50 frame[key]:SetTexture('Interface\\' .. folder .. '\\' .. name) | |
| 51 frame[key]:SetPoint('TOPLEFT') | |
| 52 lastFolder = folder | |
| 53 end | |
| 54 | |
| 35 local restingAlpha = 0.7 | 55 local restingAlpha = 0.7 |
| 36 local fadeTime, fadeDelay = .30, 0.15 | 56 local fadeTime, fadeDelay = .30, 0.15 |
| 37 local saveButton | 57 local saveButton |
| 38 | 58 |
| 39 local KeyButton_OnKeyDown = function(self, key) | 59 local KeyButton_OnKeyDown = function(self, key) |
| 80 end | 100 end |
| 81 | 101 |
| 82 end | 102 end |
| 83 elseif click == 'RightButton' then | 103 elseif click == 'RightButton' then |
| 84 kb.ReleaseSlot(self) | 104 kb.ReleaseSlot(self) |
| 105 kb.ui() | |
| 85 end | 106 end |
| 86 end | 107 end |
| 87 | 108 |
| 88 local KeyButton_OnDragStart = function(self) | 109 local KeyButton_OnDragStart = function(self) |
| 89 kb.PickupSlot(self) | 110 kb.PickupSlot(self) |
| 179 end | 200 end |
| 180 | 201 |
| 181 kb.ui(true) | 202 kb.ui(true) |
| 182 end | 203 end |
| 183 | 204 |
| 184 local KeyBinder_CheckButton = function(frame ,enableText, disableText, dbKey, tooltipText, callback) | 205 local frameCount = 0 |
| 206 local lastCheckFrame | |
| 207 local KeyBinder_CheckButton = function(frame ,enableText, disableText, dbKey, tooltipText, callback, header) | |
| 185 if kb.db[dbKey] then | 208 if kb.db[dbKey] then |
| 186 frame:SetChecked(true) | 209 frame:SetChecked(true) |
| 187 end | 210 end |
| 188 frame.label:SetText(kb.db[dbKey] and enableText or disableText) | 211 |
| 189 frame:SetWidth(frame.label:GetStringWidth()+8) | 212 frame.header:SetText(header) |
| 190 | 213 |
| 191 frame:SetScript('OnClick', function(self) | 214 frame:SetScript('OnClick', function(self) |
| 192 if callback then | 215 if callback then |
| 193 callback(self) | 216 callback(self) |
| 194 end | 217 end |
| 196 if not kb.db[dbKey] then | 219 if not kb.db[dbKey] then |
| 197 if kb.saveTarget then | 220 if kb.saveTarget then |
| 198 kb.DeactivateSlot(kb.saveTarget) | 221 kb.DeactivateSlot(kb.saveTarget) |
| 199 end | 222 end |
| 200 end | 223 end |
| 201 self.label:SetText(kb.db[dbKey] and enableText or disableText) | |
| 202 self:SetWidth(self.label:GetStringWidth()+8) | |
| 203 kb.ui() | 224 kb.ui() |
| 204 end) | 225 end) |
| 205 | 226 |
| 206 frame:SetScript('OnEnter', function(self) | 227 frame:SetScript('OnEnter', function(self) |
| 207 if tooltipText then | 228 if tooltipText then |
| 214 frame:SetScript('OnLeave', function(self) | 235 frame:SetScript('OnLeave', function(self) |
| 215 if tooltipText and GameTooltip:GetOwner() == self then | 236 if tooltipText and GameTooltip:GetOwner() == self then |
| 216 GameTooltip:Hide() | 237 GameTooltip:Hide() |
| 217 end | 238 end |
| 218 end) | 239 end) |
| 240 | |
| 241 if frame:GetID() == 0 then | |
| 242 frameCount = frameCount + 1 | |
| 243 frame:SetID(frameCount) | |
| 244 print('checkbutton #', frameCount) | |
| 245 if frameCount == 1 then | |
| 246 frame:ClearAllPoints() | |
| 247 frame:SetPoint('TOP', KeyBinderInventoryButton, 'BOTTOM', 0, -22) | |
| 248 frame:SetPoint('LEFT', kb.sourcesbg, 'LEFT', 2, 0) | |
| 249 else | |
| 250 frame:ClearAllPoints() | |
| 251 frame:SetPoint('TOPLEFT', lastCheckFrame, 'BOTTOMLEFT', 0, -2) | |
| 252 end | |
| 253 | |
| 254 frame.header:ClearAllPoints() | |
| 255 frame.header:SetPoint('LEFT', frame, 'RIGHT', 2, 0) | |
| 256 | |
| 257 lastCheckFrame = frame | |
| 258 end | |
| 219 end | 259 end |
| 220 | 260 |
| 221 local KeyBinder_OnHide = function() | 261 local KeyBinder_OnHide = function() |
| 222 KeyBinderImportLog:Hide() | 262 KeyBinderImportLog:Hide() |
| 223 end | 263 end |
| 317 kb:uibutton( | 357 kb:uibutton( |
| 318 'KeyBinderInventoryButton', 'Bags', nil, | 358 'KeyBinderInventoryButton', 'Bags', nil, |
| 319 function() OpenAllBags() end, | 359 function() OpenAllBags() end, |
| 320 "Interface\\BUTTONS\\UI-MicroButtonCharacter-Up", {0, 1, .4, 1}) | 360 "Interface\\BUTTONS\\UI-MicroButtonCharacter-Up", {0, 1, .4, 1}) |
| 321 | 361 |
| 322 KeyBinder_CheckButton(KeyBinderStickyMode, 'Enabled', 'Disabled', 'stickyMode', 'Keep input active after receiving a key.') | 362 KeyBinder_CheckButton(KeyBinderStickyMode, 'Enabled', 'Disabled', 'stickyMode', 'Keep input active after receiving a key.', nil, 'Sticky:') |
| 323 KeyBinder_CheckButton(KeyBinderHoverInput, 'MouseOver', 'Click', 'hoverInput', 'Enable key input when the cursor is over a binding slot.') | 363 KeyBinder_CheckButton(KeyBinderHoverInput, 'MouseOver', 'Click', 'hoverInput', 'Enable key input when the cursor is over a binding slot.', nil, 'Bind by:') |
| 364 KeyBinder_CheckButton(KeyBinderProtectBindings, 'Block', 'Allow', 'protectBlizKeys', 'Allow overwriting Blizzard UI bindings.', nil, 'Safety:') | |
| 324 | 365 |
| 325 | 366 |
| 326 KeyBinderUnbindButton:SetScript('OnClick', function() | 367 KeyBinderUnbindButton:SetScript('OnClick', function() |
| 327 if kb.saveTarget then | 368 if kb.saveTarget then |
| 328 kb.UnbindSlot(kb.saveTarget) | 369 kb.UnbindSlot(kb.saveTarget) |
