Thread Tools Display Modes
01-03-09, 01:34 PM   #1
killerpet1986
A Fallenroot Satyr
 
killerpet1986's Avatar
AddOn Author - Click to view addons
Join Date: Sep 2008
Posts: 22
<<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?
  Reply With Quote

WoWInterface » AddOns, Compilations, Macros » AddOn Help/Support » <<Problem>> Scrollable list using FauxScrollFrameTemplate

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off