mirror of
https://github.com/brues-code/pfUI.git
synced 2026-10-30 15:40:51 +00:00
pfUIScrollBoxListTemplate (api/ui-widgets.xml) is a WowScrollBoxList with pfUIScrollBarTemplate beside it, 5px inside the frame, so a list's backdrop goes on the frame itself. The addon list moves onto it and drops the sibling backdrop frame. Loot history builds a flat list of item rows and, under an expanded item, player rows; the view sizes and indents them. The item frame array, the player pool, the hand-placed rows and the scroll child re-attach are gone, and the scroll position holds across roll updates. The icon picker's FauxScrollFrame and 80 fixed buttons become a grid view over the provider's icon indices. Picking an icon reinitializes the shown buttons instead of redrawing the grid, and closing the popup drops the grid's entries along with the provider.
76 lines
2.6 KiB
XML
76 lines
2.6 KiB
XML
<Ui xmlns="http://www.blizzard.com/wow/ui/">
|
|
<!--
|
|
pfUI's scroll bar for ClassicAPI's ScrollBox: a thin track with a flat
|
|
thumb. ScrollBarMixin needs Back and Forward steppers, so they exist but
|
|
stay hidden. Hook it up with ScrollUtil.InitScrollBoxListWithScrollBar.
|
|
-->
|
|
<EventFrame name="pfUIScrollBarTemplate" inherits="VerticalScrollBarTemplate" virtual="true">
|
|
<Size x="7"/>
|
|
<KeyValues>
|
|
<KeyValue key="hideIfUnscrollable" value="true" type="boolean"/>
|
|
</KeyValues>
|
|
<Frames>
|
|
<Frame parentKey="Track" setAllPoints="true" enableMouse="true">
|
|
<Frames>
|
|
<EventButton parentKey="Thumb">
|
|
<Size x="7"/>
|
|
<Layers>
|
|
<Layer level="ARTWORK">
|
|
<Texture setAllPoints="true">
|
|
<Color r=".3" g="1" b=".8" a=".5"/>
|
|
</Texture>
|
|
</Layer>
|
|
</Layers>
|
|
</EventButton>
|
|
</Frames>
|
|
</Frame>
|
|
<EventButton parentKey="Back" hidden="true"/>
|
|
<EventButton parentKey="Forward" hidden="true"/>
|
|
</Frames>
|
|
</EventFrame>
|
|
|
|
<!--
|
|
A WowScrollBoxList with pfUIScrollBarTemplate beside it, both 5px inside the
|
|
frame so CreateBackdrop(frame, nil, true) can frame them. Fill it with
|
|
ScrollUtil.InitScrollBoxListWithScrollBar(frame.ScrollBox, frame.ScrollBar, view).
|
|
-->
|
|
<Frame name="pfUIScrollBoxListTemplate" virtual="true">
|
|
<Frames>
|
|
<EventFrame parentKey="ScrollBar" inherits="pfUIScrollBarTemplate">
|
|
<Anchors>
|
|
<Anchor point="TOPRIGHT" x="-5" y="-5"/>
|
|
<Anchor point="BOTTOMRIGHT" x="-5" y="5"/>
|
|
</Anchors>
|
|
</EventFrame>
|
|
<Frame parentKey="ScrollBox" inherits="WowScrollBoxList">
|
|
<Anchors>
|
|
<Anchor point="TOPLEFT" x="5" y="-5"/>
|
|
<Anchor point="BOTTOMRIGHT" relativeKey="$parent.ScrollBar" relativePoint="BOTTOMLEFT"/>
|
|
</Anchors>
|
|
</Frame>
|
|
</Frames>
|
|
</Frame>
|
|
|
|
<!--
|
|
ClassicAPI's ScrollingEditBoxTemplate with pfUIScrollBarTemplate beside the
|
|
text. The frame needs a name: SetFont(font, size, flags) names its font
|
|
object after it.
|
|
-->
|
|
<Frame name="pfUIScrollingEditBoxTemplate" inherits="ScrollingEditBoxTemplate" mixin="pfUIScrollingEditBoxMixin" virtual="true">
|
|
<KeyValues>
|
|
<KeyValue key="maxLetters" value="0" type="number"/>
|
|
</KeyValues>
|
|
<Frames>
|
|
<EventFrame parentKey="ScrollBar" inherits="pfUIScrollBarTemplate">
|
|
<Anchors>
|
|
<Anchor point="TOPRIGHT"/>
|
|
<Anchor point="BOTTOMRIGHT"/>
|
|
</Anchors>
|
|
</EventFrame>
|
|
</Frames>
|
|
<Scripts>
|
|
<OnLoad method="InitScrollBar" inherit="prepend"/>
|
|
</Scripts>
|
|
</Frame>
|
|
</Ui>
|