WoWInterface

WoWInterface (https://www.wowinterface.com/forums/index.php)
-   AddOn Help/Support (https://www.wowinterface.com/forums/forumdisplay.php?f=3)
-   -   <<Problem>> Scrollable list using FauxScrollFrameTemplate (https://www.wowinterface.com/forums/showthread.php?t=19974)

killerpet1986 01-03-09 01:34 PM

<<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?


All times are GMT -6. The time now is 08:43 AM.

vBulletin © 2024, Jelsoft Enterprises Ltd
© 2004 - 2022 MMOUI