diff WorldPlan.lua @ 108:b67ba1078824

- Added some WorldMapFrame alterations to make the filter bar less obtrusive
author Nenue
date Sat, 03 Jun 2017 17:20:14 -0400
parents 4d1520186ea4
children caa482329919
line wrap: on
line diff
--- a/WorldPlan.lua	Sun May 28 20:16:05 2017 -0400
+++ b/WorldPlan.lua	Sat Jun 03 17:20:14 2017 -0400
@@ -36,6 +36,66 @@
 db.BountiesByQuestID = {}
 db.BountiesByFactionID = {}
 db.IgnoreTimers = {}
+db.CLTriggers = {
+  wq = function(arg2, extraArgs)
+    if arg2 and WorldPlanQuests[arg2] then
+      self:print('WorldPlanQuests:'..arg2..'()')
+      WorldPlanQuests[arg2](WorldPlanQuests)
+    else
+      self:print('WorldPlanQuests:Refresh(true)')
+      WorldPlanQuests:Refresh(true)
+    end
+  end,
+  flightmap = function(arg2, extraArgs)
+    if not extraArgs then
+      return
+    end
+
+    local val1, val2, val3 = extraArgs:match("(%S+)%s*(%S*)%s*(%S*)")
+    if arg2 == 'scale' then
+      if tonumber(val1) and tonumber(val2) and tonumber(val3) then
+        db.Config.FlightMapScalingLimits = {tonumber(val1), tonumber(val2), tonumber(val3)}
+        self:print('FlightMapFrame scaling limits updated:', unpack(db.Config.FlightMapScalingLimits))
+      else
+        self:print('FlightMapFrame scaling limits:', unpack(db.Config.FlightMapScalingLimits))
+      end
+    elseif arg2 == 'alpha' then
+
+      if tonumber(val1) and tonumber(val2) and tonumber(val3) then
+        db.Config.FlightMapAlphaLimits = {tonumber(val1), tonumber(val2), tonumber(val3)}
+        self:print('FlightMapFrame alpha limits updated:', unpack(db.Config.FlightMapAlphaLimits))
+      else
+        self:print('FlightMapFrame alpha limits:', unpack(db.Config.FlightMapAlphaLimits))
+      end
+    end
+
+  end,
+  filter = function(arg2)
+    if arg2 and WorldPlanSummary[arg2] then
+      self:print('WorldPlanSummary:'..arg2..'()')
+      WorldPlanSummary[arg2](WorldPlanSummary)
+    else
+      self:print('WorldPlanSummary:Refresh(true)')
+      WorldPlanSummary:Refresh(true)
+    end
+  end,
+  log = function()
+    if WorldPlanDebug:IsShown() then
+      WorldPlanDebug:SetShown(false)
+    else
+      WorldPlanDebug:SetShown(true)
+    end
+
+  end,
+  debug = function()
+
+    if WorldPlanData then
+      WorldPlanData.DebugEnabled = (not WorldPlanData.DebugEnabled)
+      self:print(WorldPlanData.DebugEnabled and "Debugger on." or "Debugger off.")
+    end
+  end
+}
+
 
   -- default color templates
 db.DefaultType = {
@@ -190,6 +250,31 @@
   --]]
 end
 
+local function Handler_UpdateFader(self, sinceLast, isActive)
+
+  if  isActive then
+    self.toAlpha = 1
+    self.Backdrop:Show()
+  else
+    self.toAlpha = self.fadeOpacity
+    self.Backdrop:Hide()
+  end
+  local cAlpha = self:GetAlpha()
+  if cAlpha ~= self.toAlpha then
+    if cAlpha > self.toAlpha then
+      cAlpha = cAlpha - sinceLast*4
+      if cAlpha <= self.toAlpha then
+        cAlpha = self.toAlpha
+      end
+    else
+      cAlpha = cAlpha + sinceLast*4
+      if cAlpha >= self.toAlpha then
+        cAlpha = self.toAlpha
+      end
+    end
+  end
+  self:SetAlpha(cAlpha)
+end
 
 function db.print(...)
   for i = 1, select('#', ...) do
@@ -241,6 +326,7 @@
 end
 }
 
+
 function WorldPlanCore:OnConfigUpdate()
   for _, module in ipairs(db.OrderedModules) do
     if module.OnConfigUpdate then
@@ -264,7 +350,7 @@
     if frame.defaults then
       db.DefaultConfig[frame:GetName()] = frame.defaults
     end
-
+    frame.UpdateAlpha = Handler_UpdateFader
     frame.owningFrame = self
   else
 
@@ -511,54 +597,12 @@
 
 
 
+
   SlashCmdList.WORLDPLAN = function(args)
     local arg1, arg2, extraArgs = args:match("(%S+)%s*(%S*)%s*(.*)")
 
-    if arg1 == 'wq' then
-      if arg2 and WorldPlanQuests[arg2] then
-        self:print('WorldPlanQuests:'..arg2..'()')
-        WorldPlanQuests[arg2](WorldPlanQuests)
-      elseif arg2 == 'flightscale' and extraArgs then
-        local val1, val2, val3 = extraArgs:match("(%S+)%s*(%S*)%s*(%S*)")
-        if tonumber(val1) and tonumber(val2) and tonumber(val3) then
-          db.Config.FlightMapScalingLimits = {tonumber(val1), tonumber(val2), tonumber(val3)}
-          self:print('FlightMapFrame scaling limits updated:', unpack(db.Config.FlightMapScalingLimits))
-        else
-          self:print('FlightMapFrame scaling limits:', unpack(db.Config.FlightMapScalingLimits))
-        end
-      elseif arg2 == 'flightalpha' and extraArgs then
-        local val1, val2, val3 = extraArgs:match("(%S+)%s*(%S*)%s*(%S*)")
-        if tonumber(val1) and tonumber(val2) and tonumber(val3) then
-          db.Config.FlightMapAlphaLimits = {tonumber(val1), tonumber(val2), tonumber(val3)}
-          self:print('FlightMapFrame alpha limits updated:', unpack(db.Config.FlightMapAlphaLimits))
-        else
-          self:print('FlightMapFrame alpha limits:', unpack(db.Config.FlightMapAlphaLimits))
-        end
-      else
-
-        self:print('WorldPlanQuests:Refresh(true)')
-        WorldPlanQuests:Refresh(true)
-      end
-    elseif arg1 == 'filter' then
-      if arg2 and WorldPlanSummary[arg2] then
-        self:print('WorldPlanSummary:'..arg2..'()')
-        WorldPlanSummary[arg2](WorldPlanSummary)
-      else
-        self:print('WorldPlanSummary:Refresh(true)')
-        WorldPlanSummary:Refresh(true)
-      end
-    elseif arg1 == 'log' then
-      if WorldPlanDebug:IsShown() then
-        WorldPlanDebug:SetShown(false)
-      else
-        WorldPlanDebug:SetShown(true)
-      end
-    elseif arg1 == 'debug' then
-      if WorldPlanData then
-        WorldPlanData.DebugEnabled = (not WorldPlanData.DebugEnabled)
-        self:print(WorldPlanData.DebugEnabled and "Debugger on." or "Debugger off.")
-      end
-
+    if db.CLTriggers[arg1] then
+      db.CLTriggers[arg1](arg2, extraArgs)
     else
       self:print('Refreshing data.')
       self:Refresh(true)