WoWInterface SVN Broker_NameToggle

Compare Revisions

  • This comparison shows the changes necessary to convert path
    /
    from Rev 1 to Rev 2
    Reverse comparison

Rev 1 → Rev 2

trunk/Broker_NameToggle/Broker_NameToggle.lua New file
0,0 → 1,58
 
local BNT = CreateFrame("Frame", "Broker_NameToggle")
 
BNT.obj = LibStub:GetLibrary("LibDataBroker-1.1"):NewDataObject("Broker_NameToggle", {
label = "Broker_NameToggle",
icon = "Interface\\Icons\\Temp",
text = "NameToggle",
OnClick = function(_, button)
if button == "LeftButton" then
if IsShiftKeyDown() then ToggleCVar("nameplateShowFriends")
elseif IsControlKeyDown() then ToggleCVar("UnitNameFriendlyCreationName")
elseif IsAltKeyDown() then ToggleCVar("UnitNameFriendlyPetName")
else ToggleCVar("UnitNameFriendlyPlayerName")
end
elseif button == "RightButton" then
if IsShiftKeyDown() then ToggleCVar("nameplateShowEnemies")
elseif IsControlKeyDown() then ToggleCVar("UnitNameEnemyCreationName")
elseif IsAltKeyDown() then ToggleCVar("UnitNameEnemyPetName")
else ToggleCVar("UnitNameEnemyPlayerName")
end
elseif button == "MiddleButton" then
if IsShiftKeyDown() then ToggleCVar("UnitNameOwn")
elseif IsControlKeyDown() then ToggleCVar("UnitNamePlayerPVPTitle")
elseif IsAltKeyDown() then ToggleCVar("UnitNamePlayerGuild")
else ToggleCVar("UnitNameNPC")
end
elseif button == "Button4" then
ToggleCVar("UnitNameCompanionName")
end
end,
OnTooltipShow = function(tooltip)
tooltip:AddLine("|cffffffffBroker_NameToggle|r",1,1,1)
tooltip:AddLine(" ")
tooltip:AddDoubleLine("[|cffffffffLeftClick|r]", "Toggle friendly player names")
tooltip:AddDoubleLine("[|cffffffffAlt+LeftClick|r]", "Toggle friendly pet names")
tooltip:AddDoubleLine("[|cffffffffCtrl+LeftClick|r]", "Toggle friendly creation names")
tooltip:AddDoubleLine("[|cffffffffShift+LeftClick|r]", "Toggle friendly nameplates")
tooltip:AddLine(" ")
tooltip:AddDoubleLine("[|cffffffffRightClick|r]", "Toggle enemy player names")
tooltip:AddDoubleLine("[|cffffffffAlt+RightClick|r]", "Toggle enemy player pet names")
tooltip:AddDoubleLine("[|cffffffffCtrl+RightClick|r]", "Toggle enemy creation names")
tooltip:AddDoubleLine("[|cffffffffShift+RightClick|r]", "Toggle enemy nameplates")
tooltip:AddLine(" ")
tooltip:AddDoubleLine("[|cffffffffMiddleClick|r]", "Toggle non-player names")
tooltip:AddDoubleLine("[|cffffffffAlt+MiddleClick|r]", "Toggle player guild names")
tooltip:AddDoubleLine("[|cffffffffCtrl+MiddleClick|r]", "Toggle player titles")
tooltip:AddDoubleLine("[|cffffffffShift+MiddleClick|r]", "Toggle own name")
tooltip:AddLine(" ")
tooltip:AddDoubleLine("[|cffffffffButton4|r]", "Toggle companion names")
tooltip:Show()
end,
}
)
 
function ToggleCVar(var)
SetCVar(var, GetCVar(var) == "1" and 0 or 1)
ChatFrame1:AddMessage("|cffcfb53bNameToggle|r: "..var.." is now "..(GetCVar(var) == "1" and "|cff00ff00shown|r" or "|cffff0000hidden|r")..".")
end
trunk/Broker_NameToggle/libs/LibDataBroker-1.1.lua New file
0,0 → 1,90
 
assert(LibStub, "LibDataBroker-1.1 requires LibStub")
assert(LibStub:GetLibrary("CallbackHandler-1.0", true), "LibDataBroker-1.1 requires CallbackHandler-1.0")
 
local lib, oldminor = LibStub:NewLibrary("LibDataBroker-1.1", 4)
if not lib then return end
oldminor = oldminor or 0
 
 
lib.callbacks = lib.callbacks or LibStub:GetLibrary("CallbackHandler-1.0"):New(lib)
lib.attributestorage, lib.namestorage, lib.proxystorage = lib.attributestorage or {}, lib.namestorage or {}, lib.proxystorage or {}
local attributestorage, namestorage, callbacks = lib.attributestorage, lib.namestorage, lib.callbacks
 
if oldminor < 2 then
lib.domt = {
__metatable = "access denied",
__index = function(self, key) return attributestorage[self] and attributestorage[self][key] end,
}
end
 
if oldminor < 3 then
lib.domt.__newindex = function(self, key, value)
if not attributestorage[self] then attributestorage[self] = {} end
if attributestorage[self][key] == value then return end
attributestorage[self][key] = value
local name = namestorage[self]
if not name then return end
callbacks:Fire("LibDataBroker_AttributeChanged", name, key, value, self)
callbacks:Fire("LibDataBroker_AttributeChanged_"..name, name, key, value, self)
callbacks:Fire("LibDataBroker_AttributeChanged_"..name.."_"..key, name, key, value, self)
callbacks:Fire("LibDataBroker_AttributeChanged__"..key, name, key, value, self)
end
end
 
if oldminor < 2 then
function lib:NewDataObject(name, dataobj)
if self.proxystorage[name] then return end
 
if dataobj then
assert(type(dataobj) == "table", "Invalid dataobj, must be nil or a table")
self.attributestorage[dataobj] = {}
for i,v in pairs(dataobj) do
self.attributestorage[dataobj][i] = v
dataobj[i] = nil
end
end
dataobj = setmetatable(dataobj or {}, self.domt)
self.proxystorage[name], self.namestorage[dataobj] = dataobj, name
self.callbacks:Fire("LibDataBroker_DataObjectCreated", name, dataobj)
return dataobj
end
end
 
if oldminor < 1 then
function lib:DataObjectIterator()
return pairs(self.proxystorage)
end
 
function lib:GetDataObjectByName(dataobjectname)
return self.proxystorage[dataobjectname]
end
 
function lib:GetNameByDataObject(dataobject)
return self.namestorage[dataobject]
end
end
 
if oldminor < 4 then
local next = pairs(attributestorage)
function lib:pairs(dataobject_or_name)
local t = type(dataobject_or_name)
assert(t == "string" or t == "table", "Usage: ldb:pairs('dataobjectname') or ldb:pairs(dataobject)")
 
local dataobj = self.proxystorage[dataobject_or_name] or dataobject_or_name
assert(attributestorage[dataobj], "Data object not found")
 
return next, attributestorage[dataobj], nil
end
 
local ipairs_iter = ipairs(attributestorage)
function lib:ipairs(dataobject_or_name)
local t = type(dataobject_or_name)
assert(t == "string" or t == "table", "Usage: ldb:ipairs('dataobjectname') or ldb:ipairs(dataobject)")
 
local dataobj = self.proxystorage[dataobject_or_name] or dataobject_or_name
assert(attributestorage[dataobj], "Data object not found")
 
return ipairs_iter, attributestorage[dataobj], 0
end
end
trunk/Broker_NameToggle/libs/LibStub.lua New file
0,0 → 1,30
-- LibStub is a simple versioning stub meant for use in Libraries. http://www.wowace.com/wiki/LibStub for more info
-- LibStub is hereby placed in the Public Domain Credits: Kaelten, Cladhaire, ckknight, Mikk, Ammo, Nevcairiel, joshborke
local LIBSTUB_MAJOR, LIBSTUB_MINOR = "LibStub", 2 -- NEVER MAKE THIS AN SVN REVISION! IT NEEDS TO BE USABLE IN ALL REPOS!
local LibStub = _G[LIBSTUB_MAJOR]
 
if not LibStub or LibStub.minor < LIBSTUB_MINOR then
LibStub = LibStub or {libs = {}, minors = {} }
_G[LIBSTUB_MAJOR] = LibStub
LibStub.minor = LIBSTUB_MINOR
 
function LibStub:NewLibrary(major, minor)
assert(type(major) == "string", "Bad argument #2 to `NewLibrary' (string expected)")
minor = assert(tonumber(strmatch(minor, "%d+")), "Minor version must either be a number or contain a number.")
 
local oldminor = self.minors[major]
if oldminor and oldminor >= minor then return nil end
self.minors[major], self.libs[major] = minor, self.libs[major] or {}
return self.libs[major], oldminor
end
 
function LibStub:GetLibrary(major, silent)
if not self.libs[major] and not silent then
error(("Cannot find a library instance of %q."):format(tostring(major)), 2)
end
return self.libs[major], self.minors[major]
end
 
function LibStub:IterateLibraries() return pairs(self.libs) end
setmetatable(LibStub, { __call = LibStub.GetLibrary })
end
trunk/Broker_NameToggle/Broker_NameToggle.toc New file
0,0 → 1,13
## Interface: 30000
## Name: Broker_NameToggle
## Notes: An LDB plugin for toggling unit names and nameplates.
## Author: Curney
## Version: 0.1
 
## LoadManagers: AddonLoader
## X-LoadOn-Always: Delayed
 
libs\LibStub.lua
libs\LibDataBroker-1.1.lua
 
Broker_NameToggle.lua
\ No newline at end of file