Go to Page... |
|
Thread Tools | Display Modes |
01-03-09, 01:34 PM | #1 |
<<Problem>> Scrollable list using FauxScrollFrameTemplate
Taken from: http://www.wowwiki.com/Making_a_scro...lFrameTemplate
This example does not work anymore (since 3.0, it worked pre-3.0). ---------------------------------------------------------------------------------------------------------------------------------------- MyModScrollBar.toc Code:
## Interface: 20400 ## Title: MyMod ## Notes: Example of using FauxScrollFrameTemplate MyModScrollBar.xml ---------------------------------------------------------------------------------------------------------------------------------------- MyModScrollBar.lua Code:
MyModData = {} function MyMod_OnLoad() for i=1,50 do MyModData = "Test "..math.random(100) end MyModScrollBar:Show() end function MyModScrollBar_Update() local line; -- 1 through 5 of our window to scroll local lineplusoffset; -- an index into our data calculated from the scroll offset FauxScrollFrame_Update(MyModScrollBar,50,5,16); for line=1,5 do lineplusoffset = line + FauxScrollFrame_GetOffset(MyModScrollBar); if lineplusoffset <= 50 then getglobal("MyModEntry"..line):SetText(MyModData[lineplusoffset]); getglobal("MyModEntry"..line):Show(); else getglobal("MyModEntry"..line):Hide(); end end end ---------------------------------------------------------------------------------------------------------------------------------------- MyModScrollBar.xml Code:
<Ui> <Script file="MyModScrollBar.lua"/> <Button name = "MyModEntryTemplate" virtual="true"> <Size> <AbsDimension x="150" y="16" /> </Size> <NormalFont inherits="GameFontHighlight" justifyH="LEFT"/> </Button> <Frame name="MyMod" parent="UIParent" enableMouse="true" movable="true"> <Size> <AbsDimension x="196" y="96"/> </Size> <Anchors> <Anchor point="CENTER"/> </Anchors> <Scripts> <OnLoad> MyMod_OnLoad() </OnLoad> </Scripts> <Backdrop bgFile="Interface\DialogFrame\UI-DialogBox-Background" edgeFile="Interface\Tooltips\UI-Tooltip-Border" tile="true"> <BackgroundInsets> <AbsInset left="4" right="4" top="4" bottom="4" /> </BackgroundInsets> <TileSize> <AbsValue val="16" /> </TileSize> <EdgeSize> <AbsValue val="16" /> </EdgeSize> </Backdrop> <Frames> <ScrollFrame name="MyModScrollBar" inherits="FauxScrollFrameTemplate" hidden="true"> <Anchors> <Anchor point="TOPLEFT"> <Offset> <AbsDimension x="0" y="-8"/> </Offset> </Anchor> <Anchor point="BOTTOMRIGHT"> <Offset> <AbsDimension x="-30" y="8"/> </Offset> </Anchor> </Anchors> <Scripts> <OnVerticalScroll> FauxScrollFrame_OnVerticalScroll(16, MyModScrollBar_Update); </OnVerticalScroll> <OnShow> MyModScrollBar_Update() </OnShow> </Scripts> </ScrollFrame> <Button name="MyModEntry1" inherits="MyModEntryTemplate"> <Anchors> <Anchor point="TOPLEFT" relativeTo="MyModScrollBar" relativePoint="TOPLEFT"> <Offset> <AbsDimension x="8" y="0"/> </Offset> </Anchor> </Anchors> </Button> <Button name="MyModEntry2" inherits="MyModEntryTemplate"> <Anchors> <Anchor point="TOPLEFT" relativeTo="MyModEntry1" relativePoint="BOTTOMLEFT"/> </Anchors> </Button> <Button name="MyModEntry3" inherits="MyModEntryTemplate"> <Anchors> <Anchor point="TOPLEFT" relativeTo="MyModEntry2" relativePoint="BOTTOMLEFT"/> </Anchors> </Button> <Button name="MyModEntry4" inherits="MyModEntryTemplate"> <Anchors> <Anchor point="TOPLEFT" relativeTo="MyModEntry3" relativePoint="BOTTOMLEFT"/> </Anchors> </Button> <Button name="MyModEntry5" inherits="MyModEntryTemplate"> <Anchors> <Anchor point="TOPLEFT" relativeTo="MyModEntry4" relativePoint="BOTTOMLEFT"/> </Anchors> </Button> </Frames> </Frame> </Ui> ---------------------------------------------------------------------------------------------------------------------------------------- After a lot of searching i was able to find that i had to change: Code:
<OnVerticalScroll> FauxScrollFrame_OnVerticalScroll(16, MyModScrollBar_Update); </OnVerticalScroll> To: Code:
<OnVerticalScroll> FauxScrollFrame_OnVerticalScroll(self, offset, 16, MyModScrollBar_Update); </OnVerticalScroll> But i still cannot get the window to display the numbers. I think it is a problem with: Code:
getglobal("MyModEntry"..line):SetText(MyModData[lineplusoffset]); but i cant find a solution anywhere. Does anyone know how to fix this? |
|
WoWInterface » AddOns, Compilations, Macros » AddOn Help/Support » <<Problem>> Scrollable list using FauxScrollFrameTemplate |
«
Previous Thread
|
Next Thread
»
|
Display Modes |
Switch to Linear Mode |
Switch to Hybrid Mode |
Threaded Mode |
|
|