changeset 259:c918ff9ac787

Add option to make buttons activate on mouse/key down
author Flick
date Mon, 25 Apr 2011 11:43:42 -0700
parents 5ab04f393b0b
children ce583f4c0d33 5694618cef7f
files ActionButton.lua BagButton.lua Button.lua Editor.lua MultiCastButton.lua PetActionButton.lua StanceButton.lua VehicleExitButton.lua locale/enUS.lua
diffstat 9 files changed, 17 insertions(+), 14 deletions(-) [+]
line wrap: on
line diff
--- a/ActionButton.lua	Mon Apr 04 13:04:11 2011 -0700
+++ b/ActionButton.lua	Mon Apr 25 11:43:42 2011 -0700
@@ -230,9 +230,7 @@
   f:SetScript("OnReceiveDrag", function(frame) self:OnReceiveDrag() end)
 
   -- event registration
-  f:EnableMouse(true)
   f:RegisterForDrag("LeftButton", "RightButton")
-  f:RegisterForClicks("AnyUp")
   for _, evt in pairs(eventList) do
     f:RegisterEvent(evt)
   end
--- a/BagButton.lua	Mon Apr 04 13:04:11 2011 -0700
+++ b/BagButton.lua	Mon Apr 25 11:43:42 2011 -0700
@@ -80,8 +80,6 @@
   -- (none)
 
   -- event registration
-  f:EnableMouse(true)
-  f:RegisterForClicks("LeftButtonUp","RightButtonUp")
   f:RegisterEvent("UPDATE_BINDINGS")
 
   -- frame setup
--- a/Button.lua	Mon Apr 04 13:04:11 2011 -0700
+++ b/Button.lua	Mon Apr 25 11:43:42 2011 -0700
@@ -85,6 +85,10 @@
     return format("%s:%s", bar:GetName(), idx)
   end
 
+  -- mouse and clicking
+  -- set click handlers in subclasses
+  f:EnableMouse(true)
+  f:RegisterForClicks( bar:GetConfig().clickDown and "AnyDown" or "AnyUp" )
   local clickBinding = format("CLICK %s:LeftButton", name)
   function f:GetHotkey()
     return LKB:ToShortKey(GetBindingKey(clickBinding))
--- a/Editor.lua	Mon Apr 04 13:04:11 2011 -0700
+++ b/Editor.lua	Mon Apr 25 11:43:42 2011 -0700
@@ -255,10 +255,19 @@
               func = function() ReAction:EraseBar(bar) end,
               order = 2
             },
+            clickDown = {
+              type = "toggle",
+              name = L["Activate on Down"],
+              desc = L["Activate the button when the key or mouse button is pressed down instead of when it is released"],
+              order = 3,
+              set  = function(info, value) bar:GetConfig().clickDown = value end,
+              get  = function() return bar:GetConfig().clickDown end,
+            },
             anchor = {
               type = "group",
               name = L["Anchor"],
               inline = true,
+              order = 4,
               args = {
                 frame = {
                   type = "input",
@@ -321,7 +330,6 @@
                   order = 5
                 },
               },
-              order = 3
             },
             alpha = {
               type = "range",
--- a/MultiCastButton.lua	Mon Apr 04 13:04:11 2011 -0700
+++ b/MultiCastButton.lua	Mon Apr 25 11:43:42 2011 -0700
@@ -395,8 +395,6 @@
   barFrame:WrapScript(f, "OnEnter", _onEnter)
 
   -- event registration
-  f:EnableMouse(true)
-  f:RegisterForClicks("AnyUp")
   for _, evt in pairs(eventList) do
     f:RegisterEvent(evt)
   end
@@ -734,7 +732,8 @@
       b.icon:Show()
       b:SetHighlightTexture("Interface\\Buttons\\ButtonHilight-Square")
       b:GetHighlightTexture():SetBlendMode("ADD")
-      b:RegisterForClicks("AnyUp")
+      b:EnableMouse(true)
+      b:RegisterForClicks(bar:GetConfig().clickDown and "AnyDown" or "AnyUp")
       b:SetScript("OnShow",UpdateFlyoutIcon)
       b:SetScript("OnEnter",ShowFlyoutTooltip)
       b:SetScript("OnLeave",HideFlyoutTooltip)
--- a/PetActionButton.lua	Mon Apr 04 13:04:11 2011 -0700
+++ b/PetActionButton.lua	Mon Apr 25 11:43:42 2011 -0700
@@ -140,9 +140,7 @@
   barFrame:WrapScript(f, "OnReceiveDrag", _onReceiveDrag)
 
   -- event registration
-  f:EnableMouse(true)
   f:RegisterForDrag("LeftButton", "RightButton")
-  f:RegisterForClicks("AnyUp")
   for _, evt in pairs(eventList) do
     f:RegisterEvent(evt)
   end
--- a/StanceButton.lua	Mon Apr 04 13:04:11 2011 -0700
+++ b/StanceButton.lua	Mon Apr 25 11:43:42 2011 -0700
@@ -77,8 +77,6 @@
   -- (none)
 
   -- event registration
-  f:EnableMouse(true)
-  f:RegisterForClicks("AnyUp")
   for _, evt in pairs(eventList) do
     f:RegisterEvent(evt)
   end
--- a/VehicleExitButton.lua	Mon Apr 04 13:04:11 2011 -0700
+++ b/VehicleExitButton.lua	Mon Apr 25 11:43:42 2011 -0700
@@ -48,8 +48,6 @@
   f:SetScript("OnEvent", function(frame, evt, ...) self:OnEvent(evt,...) end)
 
   -- event registration
-  f:EnableMouse(true)
-  f:RegisterForClicks("AnyUp")
   f:RegisterEvent("UPDATE_BINDINGS")
 
   -- attach to skinner
--- a/locale/enUS.lua	Mon Apr 04 13:04:11 2011 -0700
+++ b/locale/enUS.lua	Mon Apr 25 11:43:42 2011 -0700
@@ -68,6 +68,8 @@
 "General",
 "Rename Bar",
 "Delete Bar",
+"Activate on Down",
+"Activate the button when the key or mouse button is pressed down instead of when it is released",
 "Anchor",
 "Frame",
 "The frame that the bar is anchored to",