Commit Graph
81 Commits
Author SHA1 Message Date
Thorsten42andBrues 287a4ed46c Fix panel alignment: center-panel overlap and Quest Log/Friends/Spellbook heights (#63)
* Only move the center panel when it overlaps the left panel

The panel aligner cached the left panel's rightmost child once and then
re-anchored the center panel to that edge on every change. Children that
were hidden later (such as Spellbook skill-line tabs) kept pushing the
center panel right, and panels that already cleared the left panel were
pulled back to the left.

Recalculate the rightmost visible child while both panels are shown and
only shift the center panel when its backdrop really overlaps.

* Align Quest Log, Friends and Spellbook panel heights

Most skinned panels draw their backdrop 430px tall, 10px below the frame
top (insets 10/-10 and -30/72). Three panels did not match:

- Quest Log: frame was 440px and anchored at y -104, so it stood 10px
  taller than a panel opened beside it. It is now 430px at y -114, with
  the list/detail panes and visible rows (22) reduced to fit.
- Friends: bottom inset was 74 instead of 72.
- Spellbook: top-left inset was 12/-12 instead of 10/-10.

The Quest Log is a doublewide UI panel. Opening another panel next to
it made UpdateUIPanelPositions re-anchor it to the default (0, -104),
causing a visible jump. Its UIPanelWindows entry now carries the same
x/y offsets as the OnShow anchor.

* Let the panel manager place UI panels

Remove the OnUpdate panel aligner. UpdateUIPanelPositions already lays
out left/center/right panels, and with the overlap-only rule the
aligner no longer changed the spacing in normal cases.

The Quest Log's UIPanelWindows offsets put it at 10, -114 on every
layout pass, so the QuestLog_OnShow re-anchor is redundant.

---------

Co-authored-by: Brues <5278969+brues-code@users.noreply.github.com>
2026-10-22 20:48:41 -05:00
Brues 13a08b0ea3 Restore hooksecurefunc 2026-07-09 23:01:52 -05:00
Brues 3fe072c594 Route hooksecurefunc callers through pfUI.hooksecurefunc; global belongs to ClassicAPI
pfUI's Lua hooksecurefunc lived in pfUI.env and shadowed ClassicAPI's C
global for all pfUI code. Replace it with a thin pfUI.hooksecurefunc shim
that keeps the missing-target no-op our call sites rely on (ClassicAPI
errors on a nil target) and delegates the actual hook to _G.hooksecurefunc.

Migrated all 70 internal call sites (modules/libs/skins) to
pfUI.hooksecurefunc; bare hooksecurefunc now resolves to ClassicAPI's C
version everywhere. Dropped the unused prepend path and the orphaned
pfUI.hooks table.
2026-07-05 14:58:26 -05:00
Brues 710be52f35 phase 3 removing tbc
Drop the now-vestigial expansion plumbing.

- Delete modules/thirdparty-tbc.lua + its xml Include
- Strip 10 tbc-tagged CreateConfig calls in modules/gui.lua
- Drop the expansion arg from CreateConfig() signature + the disabled-
  entry rendering path that depended on it
- Drop the showdisabled GUI toggle + its default
- Simplify pfUI:RegisterModule / pfUI:RegisterSkin to (name, func) only
- Strip the leading version arg ("vanilla:tbc", etc.) from all 114
  Register call sites
- Delete the pfUI.expansion variable
2026-05-25 18:50:53 -05:00
Meow f43b8f19f8 update for libdebuff
Read the readme!
Version push
2026-02-06 16:32:13 +01:00
Meow 5d0e195d1e performance update
performance update
2026-01-03 12:58:31 +01:00
shagu f1d709a466 skin: check width value before aligning to them 2023-05-01 19:05:31 +02:00
shagu 4e22cb3201 skin: check values before comparing them
This fixes an addon conflict with aero [1], which
is used to animate frames, causing them to have
invalid GetRight() values for a short amount of time.

[1] https://github.com/gashole/Aero
2022-12-22 10:55:20 +01:00
shagu 50a6a76dda core: only hide errors in ui errors frame 2020-07-23 18:46:50 +02:00
shagu c90c0ea8ba cooldown: add fontsize option for frametypes 2019-12-04 17:29:07 +01:00
shagu e9237b59b2 core: use concrete string based client checks 2019-06-10 17:06:31 +02:00
shagu 545be99fd7 api: only add shadow to specific frames 2019-06-02 20:43:56 +02:00
shagu 5abf87d2fd skin: revert dropdownlist toggle hook
This hook was in conflict with Atlas
2019-05-19 14:45:40 +02:00
Artur Morozov 4fa2aea86f skin: fix dropdown menu backdrop and orientation 2019-05-19 10:12:27 +02:00
shagu 7bc60e723d core: whitelist a bunch of modules for tbc 2019-04-07 14:48:58 +02:00
shagu 3b2c379fef skin: move gamemenu aligment into skin 2019-04-07 12:32:57 +02:00
shagu d7c64d7d0a core: replace remaining getglobals in favor of _G 2019-04-06 14:30:31 +02:00
shagu 95d5b991d1 skin: detect off-frame backdrop positions 2019-03-31 14:59:21 +02:00
shagu c623b6bda3 skin: auto adjust UIPanel sizes accordingly 2019-03-31 14:59:21 +02:00
shagu 7dc73ae4f2 skin: rename skin descriptions 2019-03-31 14:59:21 +02:00
Artur Morozov 6a580f198b skin: add Tooltips 2019-03-31 14:59:21 +02:00
Artur Morozov fe4d40611a skin: add interface options 2019-03-31 14:59:21 +02:00
Artur Morozov 0ef327cc6d skin: add HelpFrame 2019-03-31 14:59:21 +02:00
Artur Morozov 5ce9c461e0 skin: add GameMenuFrame 2019-03-31 14:59:21 +02:00
Artur Morozov 88a099972c skin: add DressUpFrame 2019-03-31 14:59:21 +02:00
Artur Morozov f31106d9de skin: add TrainerFrame 2019-03-31 14:59:21 +02:00
Artur Morozov b2fc46c984 skin: add TradeFrame 2019-03-31 14:59:21 +02:00
Artur Morozov e2d271526d skin: update StaticPopupDialogs 2019-03-31 14:59:21 +02:00
Artur Morozov 4f6a459531 skin: add MerchantFrame 2019-03-31 14:59:21 +02:00
Artur Morozov 671d11fcdc skin: add QuestLogFrame 2019-03-31 14:59:21 +02:00
Artur Morozov 92561da9b5 skin: add AuctionFrame 2019-03-31 14:59:21 +02:00
Artur Morozov 5d4693c1b6 skin: add profession frames
add TradeSkillFrame
add CraftFrame
2019-03-31 14:59:21 +02:00
Artur Morozov 94f8aa0d5e skin: add Gossip and Quest Frames 2019-03-31 14:59:21 +02:00
Artur Morozov f78349e2bb skin: update talents 2019-03-31 14:59:21 +02:00
Artur Morozov 8ccef3a7a7 skin: update spellbook 2019-03-31 14:59:21 +02:00
Artur Morozov eed9aec423 skin: update inspect 2019-03-31 14:59:21 +02:00
Artur Morozov 6e1376216b skin: update friends 2019-03-31 14:59:21 +02:00
Artur Morozov fd1e465c5f skin: update character 2019-03-31 14:59:21 +02:00
shagu b68857dfc5 skin: clamp compare tooltips to screen 2018-12-05 18:28:20 +01:00
shagu 5dfe5a4899 compat: initial layout of client abstraction api 2018-11-01 14:55:29 +01:00
shagu 7e2e333791 skin: only apply cooldowns on existing frames 2018-09-28 23:25:29 +02:00
shagu fbfe63ffd3 skin: make ticket dialog movable 2018-09-14 20:54:32 +02:00
shagu b36ffe6100 skin: add static popup editbox skins 2018-08-23 17:13:33 +02:00
shagu f9cd96e60b skin: fallback to draw durability to uiparent 2018-06-25 20:20:39 +02:00
shagu 74777dec05 skin: move durability into skins 2018-04-27 20:46:36 +02:00
shagu 41e2400bcb cooldown: only draw cd on known frames 2018-04-08 19:04:43 +02:00
shagu ffacb478c0 skin: change main menu button appearance 2018-03-03 11:46:55 +01:00
shagu 11186371ea skin: reskin worldtooltip on show 2017-10-20 18:57:20 +02:00
shagu f444eb5487 skin: add theme for WorldMapTooltip 2017-10-19 19:13:52 +02:00
Cameron Weaver (Clutch) b65b735129 skin: scale the interface options and remove the black background 2017-09-28 20:40:22 +02:00