chore(libs): sync Ace3 to coa-ace3 (WoWUIDev master @ 52e5f2c)

Bring every embedded Ace3 / CallbackHandler / LibStub copy in line with the
canonical Exiles/coa-ace3 bundle so LibStub resolution is predictable across
all Exiles forks regardless of which addons are enabled.

Per-library MINOR moves:
  AceAddon-3.0          5 → 13
  AceEvent-3.0          3 → 4
  AceTimer-3.0          5 → 17  (C_Timer-based; available on the CoA client)
  AceHook-3.0           5 → 9
  AceDB-3.0            21 → 33
  AceDBOptions-3.0     12 → 15
  AceConfig-3.0         2 → 3
  AceConfigRegistry-3.0 12 → 22
  AceConfigCmd-3.0     12 → 14
  AceConfigDialog-3.0  49 → 92
  AceGUI-3.0           33 → 41
  AceLocale-3.0         2 → 6
  AceBucket-3.0         3 → 4
  CallbackHandler-1.0   5 → 8
  AceConsole-3.0, LibStub: unchanged (already at target)
This commit is contained in:
2026-05-23 06:31:15 +02:00
parent a5315d3131
commit 1cbeca4b50
42 changed files with 2812 additions and 2215 deletions
@@ -2,7 +2,7 @@
ScrollFrame Container
Plain container that scrolls its content and doesn't grow in height.
-------------------------------------------------------------------------------]]
local Type, Version = "ScrollFrame", 20
local Type, Version = "ScrollFrame", 26
local AceGUI = LibStub and LibStub("AceGUI-3.0", true)
if not AceGUI or (AceGUI:GetWidgetVersion(Type) or 0) >= Version then return end
@@ -40,8 +40,9 @@ end
Methods
-------------------------------------------------------------------------------]]
local methods = {
["OnAcquire"] = function(self)
["OnAcquire"] = function(self)
self:SetScroll(0)
self.scrollframe:SetScript("OnUpdate", FixScrollOnUpdate)
end,
["OnRelease"] = function(self)
@@ -52,7 +53,7 @@ local methods = {
self.scrollframe:SetPoint("BOTTOMRIGHT")
self.scrollbar:Hide()
self.scrollBarShown = nil
self.content.height, self.content.width = nil, nil
self.content.height, self.content.width, self.content.original_width = nil, nil, nil
end,
["SetScroll"] = function(self, value)
@@ -76,11 +77,8 @@ local methods = {
["MoveScroll"] = function(self, value)
local status = self.status or self.localstatus
local height, viewheight = self.scrollframe:GetHeight(), self.content:GetHeight()
if height > viewheight then
self.scrollbar:Hide()
else
self.scrollbar:Show()
if self.scrollBarShown then
local diff = height - viewheight
local delta = 1
if value < 0 then
@@ -96,13 +94,17 @@ local methods = {
local status = self.status or self.localstatus
local height, viewheight = self.scrollframe:GetHeight(), self.content:GetHeight()
local offset = status.offset or 0
local curvalue = self.scrollbar:GetValue()
if viewheight < height then
-- Give us a margin of error of 2 pixels to stop some conditions that i would blame on floating point inaccuracys
-- No-one is going to miss 2 pixels at the bottom of the frame, anyhow!
if viewheight < height + 2 then
if self.scrollBarShown then
self.scrollBarShown = nil
self.scrollbar:Hide()
self.scrollbar:SetValue(0)
self.scrollframe:SetPoint("BOTTOMRIGHT")
if self.content.original_width then
self.content.width = self.content.original_width
end
self:DoLayout()
end
else
@@ -110,6 +112,9 @@ local methods = {
self.scrollBarShown = true
self.scrollbar:Show()
self.scrollframe:SetPoint("BOTTOMRIGHT", -20, 0)
if self.content.original_width then
self.content.width = self.content.original_width - 20
end
self:DoLayout()
end
local value = (offset / (viewheight - height) * 1000)
@@ -128,6 +133,11 @@ local methods = {
["LayoutFinished"] = function(self, width, height)
self.content:SetHeight(height or 0 + 20)
-- update the scrollframe
self:FixScroll()
-- schedule another update when everything has "settled"
self.scrollframe:SetScript("OnUpdate", FixScrollOnUpdate)
end,
@@ -141,7 +151,8 @@ local methods = {
["OnWidthSet"] = function(self, width)
local content = self.content
content.width = width
content.width = width - (self.scrollBarShown and 20 or 0)
content.original_width = width
end,
["OnHeightSet"] = function(self, height)
@@ -176,7 +187,7 @@ local function Constructor()
local scrollbg = scrollbar:CreateTexture(nil, "BACKGROUND")
scrollbg:SetAllPoints(scrollbar)
scrollbg:SetTexture(0, 0, 0, 0.4)
scrollbg:SetColorTexture(0, 0, 0, 0.4)
--Container Support
local content = CreateFrame("Frame", nil, scrollframe)