Compare commits

...

12 Commits

Author SHA1 Message Date
Robin Hüskes ffb7a86172 Update Libs 2022-12-15 20:41:27 +01:00
Robin Hüskes f199a8ed04 [zzAddOn] Fix copy&paste error, bumb lib version 2022-12-03 23:33:13 +01:00
Robin Hüskes 1638f6b18b Update LibDBIcon 2022-12-03 17:20:24 +01:00
Robin Hüskes 5da6c1ef71 [zzAddOn] Fix to make sure ManagerFrameEvent is fired only once 2022-12-03 16:14:50 +01:00
Robin Hüskes 8a5d8017a8 [zzAddOn] Cleanup RegisterOpen, RegisterClose 2022-12-02 16:13:16 +01:00
Robin Hüskes 47a19ae79a [zzAddOn] Add RegisterOpen, RegisterClose 2022-12-02 15:59:59 +01:00
Robin Hüskes 7a3d0e082c Fix some special chars 2022-11-27 23:25:15 +01:00
Robin Hüskes 2df3712fa0 Update Libs 2022-11-27 23:21:55 +01:00
Robin Hüskes 4f4365909d Add seperator option to functioncall 2022-11-22 18:23:18 +01:00
Robin Hüskes c0e617228c Add seperator setting 2022-11-22 18:20:40 +01:00
Robin Hüskes cb73105a3b Add seperator option to MoneyString function 2022-11-22 18:20:17 +01:00
Robin Hüskes 892fae4623 Add strings for seperator setting 2022-11-22 18:19:13 +01:00
11 changed files with 106 additions and 47 deletions

View File

@ -1,5 +1,5 @@
--[[ $Id: CallbackHandler-1.0.lua 1284 2022-09-25 09:15:30Z nevcairiel $ ]] --[[ $Id: CallbackHandler-1.0.lua 26 2022-12-12 15:09:39Z nevcairiel $ ]]
local MAJOR, MINOR = "CallbackHandler-1.0", 7 local MAJOR, MINOR = "CallbackHandler-1.0", 8
local CallbackHandler = LibStub:NewLibrary(MAJOR, MINOR) local CallbackHandler = LibStub:NewLibrary(MAJOR, MINOR)
if not CallbackHandler then return end -- No upgrade needed if not CallbackHandler then return end -- No upgrade needed
@ -7,21 +7,16 @@ if not CallbackHandler then return end -- No upgrade needed
local meta = {__index = function(tbl, key) tbl[key] = {} return tbl[key] end} local meta = {__index = function(tbl, key) tbl[key] = {} return tbl[key] end}
-- Lua APIs -- Lua APIs
local error = error local securecallfunction, error = securecallfunction, error
local setmetatable, rawget = setmetatable, rawget local setmetatable, rawget = setmetatable, rawget
local next, select, pairs, type, tostring = next, select, pairs, type, tostring local next, select, pairs, type, tostring = next, select, pairs, type, tostring
local xpcall = xpcall
local function errorhandler(err)
return geterrorhandler()(err)
end
local function Dispatch(handlers, ...) local function Dispatch(handlers, ...)
local index, method = next(handlers) local index, method = next(handlers)
if not method then return end if not method then return end
repeat repeat
xpcall(method, errorhandler, ...) securecallfunction(method, ...)
index, method = next(handlers, index) index, method = next(handlers, index)
until not method until not method
end end

View File

@ -1,4 +1,4 @@
--@curseforge-project-slug: libdbicon-1-0@
----------------------------------------------------------------------- -----------------------------------------------------------------------
-- LibDBIcon-1.0 -- LibDBIcon-1.0
-- --
@ -6,7 +6,7 @@
-- --
local DBICON10 = "LibDBIcon-1.0" local DBICON10 = "LibDBIcon-1.0"
local DBICON10_MINOR = 44 -- Bump on changes local DBICON10_MINOR = 45 -- Bump on changes
if not LibStub then error(DBICON10 .. " requires LibStub.") end if not LibStub then error(DBICON10 .. " requires LibStub.") end
local ldb = LibStub("LibDataBroker-1.1", true) local ldb = LibStub("LibDataBroker-1.1", true)
if not ldb then error(DBICON10 .. " requires LibDataBroker-1.1.") end if not ldb then error(DBICON10 .. " requires LibDataBroker-1.1.") end
@ -218,37 +218,49 @@ local function createButton(name, object, db)
button.dataObject = object button.dataObject = object
button.db = db button.db = db
button:SetFrameStrata("MEDIUM") button:SetFrameStrata("MEDIUM")
if button.SetFixedFrameStrata then -- Classic support button:SetFixedFrameStrata(true)
button:SetFixedFrameStrata(true)
end
button:SetFrameLevel(8) button:SetFrameLevel(8)
if button.SetFixedFrameLevel then -- Classic support button:SetFixedFrameLevel(true)
button:SetFixedFrameLevel(true)
end
button:SetSize(31, 31) button:SetSize(31, 31)
button:RegisterForClicks("anyUp") button:RegisterForClicks("anyUp")
button:RegisterForDrag("LeftButton") button:RegisterForDrag("LeftButton")
button:SetHighlightTexture(136477) --"Interface\\Minimap\\UI-Minimap-ZoomButton-Highlight" button:SetHighlightTexture(136477) --"Interface\\Minimap\\UI-Minimap-ZoomButton-Highlight"
local overlay = button:CreateTexture(nil, "OVERLAY") if WOW_PROJECT_ID == WOW_PROJECT_MAINLINE then
overlay:SetSize(53, 53) local overlay = button:CreateTexture(nil, "OVERLAY")
overlay:SetTexture(136430) --"Interface\\Minimap\\MiniMap-TrackingBorder" overlay:SetSize(50, 50)
overlay:SetPoint("TOPLEFT") overlay:SetTexture(136430) --"Interface\\Minimap\\MiniMap-TrackingBorder"
local background = button:CreateTexture(nil, "BACKGROUND") overlay:SetPoint("TOPLEFT", button, "TOPLEFT", 0, 0)
background:SetSize(20, 20) local background = button:CreateTexture(nil, "BACKGROUND")
background:SetTexture(136467) --"Interface\\Minimap\\UI-Minimap-Background" background:SetSize(24, 24)
background:SetPoint("TOPLEFT", 7, -5) background:SetTexture(136467) --"Interface\\Minimap\\UI-Minimap-Background"
local icon = button:CreateTexture(nil, "ARTWORK") background:SetPoint("CENTER", button, "CENTER", 0, 1)
icon:SetSize(17, 17) local icon = button:CreateTexture(nil, "ARTWORK")
icon:SetTexture(object.icon) icon:SetSize(18, 18)
icon:SetPoint("TOPLEFT", 7, -6) icon:SetTexture(object.icon)
button.icon = icon icon:SetPoint("CENTER", button, "CENTER", 0, 1)
button.icon = icon
else
local overlay = button:CreateTexture(nil, "OVERLAY")
overlay:SetSize(53, 53)
overlay:SetTexture(136430) --"Interface\\Minimap\\MiniMap-TrackingBorder"
overlay:SetPoint("TOPLEFT")
local background = button:CreateTexture(nil, "BACKGROUND")
background:SetSize(20, 20)
background:SetTexture(136467) --"Interface\\Minimap\\UI-Minimap-Background"
background:SetPoint("TOPLEFT", 7, -5)
local icon = button:CreateTexture(nil, "ARTWORK")
icon:SetSize(17, 17)
icon:SetTexture(object.icon)
icon:SetPoint("TOPLEFT", 7, -6)
button.icon = icon
end
button.isMouseDown = false button.isMouseDown = false
local r, g, b = button.icon:GetVertexColor()
button.icon:SetVertexColor(object.iconR or r, object.iconG or g, object.iconB or b)
local r, g, b = icon:GetVertexColor() button.icon.UpdateCoord = updateCoord
icon:SetVertexColor(object.iconR or r, object.iconG or g, object.iconB or b) button.icon:UpdateCoord()
icon.UpdateCoord = updateCoord
icon:UpdateCoord()
button:SetScript("OnEnter", onEnter) button:SetScript("OnEnter", onEnter)
button:SetScript("OnLeave", onLeave) button:SetScript("OnLeave", onLeave)

View File

@ -1,13 +1,14 @@
local lib = LibStub:NewLibrary("zzAddOn", 10) local lib = LibStub:NewLibrary("zzAddOn", 12)
if not lib then return end if not lib then return end
local config = LibStub:GetLibrary("zzConfig") local config = LibStub:GetLibrary("zzConfig")
lib['callbacks'] = lib['callbacks'] or LibStub:GetLibrary("CallbackHandler-1.0"):New(lib) lib['callbacks'] = lib['callbacks'] or LibStub:GetLibrary("CallbackHandler-1.0"):New(lib)
lib['addons'] = lib['addons'] or {} lib['addons'] = lib['addons'] or {}
lib['managerframe'] = lib['managerframe'] or CreateFrame("FRAME")
lib['events'] = lib['events'] or CreateFrame("FRAME") lib['events'] = lib['events'] or CreateFrame("FRAME")
local function errormsg(err) local function errormsg(err)
print(format("|cffff0000Error:|r %s",err)) print(format("|cffff0000Error:|r %s",err))
end end
local mixins = {'NewAddOn', 'GetAddOn', 'AddChild', 'HasChild', 'IsChild', 'HasParent', 'GetParent', 'GetOptions', 'RegisterEvent','UnregisterEvent','IsClassic','IsBCC','IsRetail', 'GetSpecs', 'Fire'} local mixins = {'NewAddOn', 'GetAddOn', 'AddChild', 'HasChild', 'IsChild', 'HasParent', 'GetParent', 'GetOptions', 'RegisterEvent','UnregisterEvent','IsClassic','IsBCC','IsRetail', 'GetSpecs', 'Fire', 'RegisterOpen', 'RegisterClose'}
function lib:Fire(...) function lib:Fire(...)
lib['callbacks']:Fire(...) lib['callbacks']:Fire(...)
end end
@ -103,6 +104,44 @@ end
function lib:IsRetail() function lib:IsRetail()
return WOW_PROJECT_ID == WOW_PROJECT_MAINLINE return WOW_PROJECT_ID == WOW_PROJECT_MAINLINE
end end
local function handleManagerFrame(self, event, num)
if(event == "PLAYER_INTERACTION_MANAGER_FRAME_SHOW") then
lib['callbacks']:Fire(format("show-%i", num))
else
lib['callbacks']:Fire(format("hide-%i", num))
end
end
local function addManagerFrame(self, mode, num, globalfunc)
if(type(num) == 'table') then
for k, v in pairs(num) do
local n = k
local func = v
if(type(v) == 'number') then
n = v
func = globalfunc
end
addManagerFrame(self, mode, n, func)
end
elseif(type(num) == 'number') then
lib.RegisterCallback(self, format("%s-%i", mode, num), globalfunc)
end
end
function lib:RegisterOpen(num, func)
if(not num) then return end
if(not lib['managerframe']:IsEventRegistered("PLAYER_INTERACTION_MANAGER_FRAME_SHOW")) then
lib['managerframe']:RegisterEvent("PLAYER_INTERACTION_MANAGER_FRAME_SHOW")
lib['managerframe']:SetScript("OnEvent", handleManagerFrame)
end
addManagerFrame(self, 'show', num, func)
end
function lib:RegisterClose(num, func)
if(not num) then return end
if(not lib['managerframe']:IsEventRegistered("PLAYER_INTERACTION_MANAGER_FRAME_HIDE")) then
lib['managerframe']:RegisterEvent("PLAYER_INTERACTION_MANAGER_FRAME_HIDE")
lib['managerframe']:SetScript("OnEvent", handleManagerFrame)
end
addManagerFrame(self, 'hide', num, func)
end
function lib:NewAddOn(addonName, addonTable) function lib:NewAddOn(addonName, addonTable)
local specs = self['specs'] local specs = self['specs']
local childName = specs['name'] local childName = specs['name']

View File

@ -1,4 +1,4 @@
local lib = LibStub:NewLibrary("zzHelper", 3) local lib = LibStub:NewLibrary("zzHelper", 4)
if not lib then return end if not lib then return end
lib['targets'] = lib['targets'] or {} lib['targets'] = lib['targets'] or {}
local mixins = {'colorize', 'round', 'sortArray', 'IsTwink', 'classcolor', 'MoneyString', 'MoneyStringSetString', 'MoneyStringSetSize'} local mixins = {'colorize', 'round', 'sortArray', 'IsTwink', 'classcolor', 'MoneyString', 'MoneyStringSetString', 'MoneyStringSetSize'}
@ -34,7 +34,7 @@ function lib:MoneyStringSetSize(size)
iconSize = size iconSize = size
end end
end end
function lib:MoneyString(money, color, abrevK, abrevM, noicon, noiconcolor, size) function lib:MoneyString(money, color, abrevK, abrevM, noicon, noiconcolor, size, seperate)
local iconSize = size or iconSize local iconSize = size or iconSize
local goldicon = noicon and (noiconcolor and moneyText['goldColor'] or moneyText['gold']) or format(iconbase, 'Gold', iconSize, iconSize) local goldicon = noicon and (noiconcolor and moneyText['goldColor'] or moneyText['gold']) or format(iconbase, 'Gold', iconSize, iconSize)
local silvericon = noicon and (noiconcolor and moneyText['silverColor'] or moneyText['silver']) or format(iconbase, 'Silver', iconSize, iconSize) local silvericon = noicon and (noiconcolor and moneyText['silverColor'] or moneyText['silver']) or format(iconbase, 'Silver', iconSize, iconSize)
@ -66,6 +66,9 @@ function lib:MoneyString(money, color, abrevK, abrevM, noicon, noiconcolor, size
end end
if(money > 0) then if(money > 0) then
if(g>0) then if(g>0) then
if(seperate) then
g = BreakUpLargeNumbers(g)
end
moneystring = format("%s%s%s", color and lib:colorize(g, neg and "ff0000" or "44dd44") or g,abrev, goldicon) moneystring = format("%s%s%s", color and lib:colorize(g, neg and "ff0000" or "44dd44") or g,abrev, goldicon)
end end
if(s>0) then if(s>0) then

View File

@ -1,4 +1,4 @@
local lib = LibStub:NewLibrary("zzLDB", 5) local lib = LibStub:NewLibrary("zzLDB", 6)
if not lib then return end if not lib then return end
local ldb = LibStub:GetLibrary("LibDataBroker-1.1") local ldb = LibStub:GetLibrary("LibDataBroker-1.1")
local ldbicon = LibStub:GetLibrary("LibDBIcon-1.0") local ldbicon = LibStub:GetLibrary("LibDBIcon-1.0")
@ -25,7 +25,8 @@ function lib:DefaultOnClick(_, button, addon, childName)
if(not InCombatLockdown()) then if(not InCombatLockdown()) then
if(SettingsPanel) then if(SettingsPanel) then
if(SettingsPanel:IsVisible()) then if(SettingsPanel:IsVisible()) then
SettingsPanel:Hide() HideUIPanel(SettingsPanel)
HideUIPanel(GameMenuFrame)
else else
Settings.OpenToCategory(childName) Settings.OpenToCategory(childName)
end end

View File

@ -77,7 +77,7 @@ function child:displayMoney(money, abr)
money = child:round(money / 10000,0) * 10000 money = child:round(money / 10000,0) * 10000
end end
end end
return child:MoneyString(money, false, abr and (db['abrevK'] and L['abrK'] or nil) or nil, abr and (db['abrevM'] and L['abrM'] or nil) or nil, db['noIcon'], db['noIconColor']) return child:MoneyString(money, false, abr and (db['abrevK'] and L['abrK'] or nil) or nil, abr and (db['abrevM'] and L['abrM'] or nil) or nil, db['noIcon'], db['noIconColor'], nil, db['seperateMoney'])
end end
function events:PLAYER_MONEY(event) function events:PLAYER_MONEY(event)
local money = GetMoney() local money = GetMoney()

View File

@ -51,10 +51,12 @@ if L then
L['displayMoneyGlobalFaction'] = "Global (nur deine Fraktion)" L['displayMoneyGlobalFaction'] = "Global (nur deine Fraktion)"
L['Displayvalue'] = "Broker Anzeige" L['Displayvalue'] = "Broker Anzeige"
L['DisplayvalueDesc'] = "Legt fest welcher Wert im Broker angezeigt wird. Global zeigt alle Fraktionen. Realm zeigt nur die eigene Fraktion (Falls aktiviert auch die verbundenen Realms)." L['DisplayvalueDesc'] = "Legt fest welcher Wert im Broker angezeigt wird. Global zeigt alle Fraktionen. Realm zeigt nur die eigene Fraktion (Falls aktiviert auch die verbundenen Realms)."
L['seperate'] = "Benutze Trennzeichen"
L['seperateDesc'] = format("F\195\188gt '%s' f\195\188r bessere Lesbarkeit in Zahlen ein", LARGE_NUMBER_SEPERATOR)
end end
-- <EFBFBD> \195\182 <20> \195\159 -- ö \195\182 ß \195\159
-- <EFBFBD> \195\188 <20> \195\164 -- ü \195\188 ä \195\164
-- <20> \195\132 -- <20> \195\132
-- <20> \195\182 -- <20> \195\182
-- <20> \195\156 -- <20> \195\156

View File

@ -51,4 +51,6 @@ if L then
L['displayMoneyGlobalFaction'] = "Global (only your faction)" L['displayMoneyGlobalFaction'] = "Global (only your faction)"
L['Displayvalue'] = "Broker Display" L['Displayvalue'] = "Broker Display"
L['DisplayvalueDesc'] = "Selects the sum diplayed by the broker. Global is for all factions and chars or only your faction. Realm is for your faction (pool when selected)." L['DisplayvalueDesc'] = "Selects the sum diplayed by the broker. Global is for all factions and chars or only your faction. Realm is for your faction (pool when selected)."
L['seperate'] = "Use seperator"
L['seperateDesc'] = format("Add '%s' to make numbers readable", LARGE_NUMBER_SEPERATOR)
end end

View File

@ -51,4 +51,6 @@ if L then
L['displayMoneyGlobalFaction'] = "Global (only your faction)" L['displayMoneyGlobalFaction'] = "Global (only your faction)"
L['Displayvalue'] = "Broker Display" L['Displayvalue'] = "Broker Display"
L['DisplayvalueDesc'] = "Selects the sum diplayed by the broker. Global is for all factions and chars. Realm is for your faction (pool when selected)." L['DisplayvalueDesc'] = "Selects the sum diplayed by the broker. Global is for all factions and chars. Realm is for your faction (pool when selected)."
L['seperate'] = "Use seperator"
L['seperateDesc'] = format("Add '%s' to make numbers readable", LARGE_NUMBER_SEPERATOR)
end end

View File

@ -51,4 +51,6 @@ if L then
L['displayMoneyGlobalFaction'] = "Global (only your faction)" L['displayMoneyGlobalFaction'] = "Global (only your faction)"
L['Displayvalue'] = "Broker Display" L['Displayvalue'] = "Broker Display"
L['DisplayvalueDesc'] = "Selects the sum diplayed by the broker. Global is for all factions and chars. Realm is for your faction (pool when selected)." L['DisplayvalueDesc'] = "Selects the sum diplayed by the broker. Global is for all factions and chars. Realm is for your faction (pool when selected)."
L['seperate'] = "Use seperator"
L['seperateDesc'] = format("Add '%s' to make numbers readable", LARGE_NUMBER_SEPERATOR)
end end

View File

@ -74,6 +74,7 @@ local init = {
config:AddConfigEntry(ttmenu, "sortDir", "toggle", L['sortDir'], nil, 2) config:AddConfigEntry(ttmenu, "sortDir", "toggle", L['sortDir'], nil, 2)
config:AddConfigEntry(ttmenu, "accountMoney", "toggle", L['accountMoney'], L['accountMoneyDesc'], 3) config:AddConfigEntry(ttmenu, "accountMoney", "toggle", L['accountMoney'], L['accountMoneyDesc'], 3)
local short = config:AddConfigEntry(ttmenu, "shortMoneyTip", "toggle", L['shortMoneyTip'], nil, 4) local short = config:AddConfigEntry(ttmenu, "shortMoneyTip", "toggle", L['shortMoneyTip'], nil, 4)
config:AddConfigEntry(ttmenu, "seperateMoney", "toggle", L['seperate'], L['seperateDesc'], 5)
short['disabled'] = function(self) if(not db['abrevK'] and not db['abrevM']) then return true end end short['disabled'] = function(self) if(not db['abrevK'] and not db['abrevM']) then return true end end
local delmenu = config:AddConfigEntry(main, "delmenu", "group", L['DeleteChar'], L['DeleteCharDesc'], 10, config:GetDefaultHandler(nil, db), true) local delmenu = config:AddConfigEntry(main, "delmenu", "group", L['DeleteChar'], L['DeleteCharDesc'], 10, config:GetDefaultHandler(nil, db), true)
config:AddConfigEntry(delmenu, "deleteChar", "select", L['DeleteChar'], L['DeleteCharDesc'], 1, buildSelectAll) config:AddConfigEntry(delmenu, "deleteChar", "select", L['DeleteChar'], L['DeleteCharDesc'], 1, buildSelectAll)