WoWInterface

WoWInterface (https://www.wowinterface.com/forums/index.php)
-   Legion Beta archived threads (https://www.wowinterface.com/forums/forumdisplay.php?f=177)
-   -   Scroll frames, positioning and horizontal scroll (https://www.wowinterface.com/forums/showthread.php?t=53474)

p3lim 05-21-16 09:06 AM

Scroll frames, positioning and horizontal scroll
 
In the following snippet the slider works fine on live, does nothing in beta.
For some reason, :SetHorizontalScroll and :SetPoint methods don't work together.

Lua Code:
  1. local Frame = CreateFrame('Frame', nil, UIParent)
  2. Frame:SetPoint('CENTER')
  3. Frame:SetSize(300, 40)
  4.  
  5. local Background = Frame:CreateTexture(nil, 'BORDER')
  6. Background:SetAllPoints()
  7.  
  8. if(select(4, GetBuildInfo()) >= 70000) then
  9.     Background:SetColorTexture(1/3, 1/3, 1/3)
  10. else
  11.     Background:SetTexture(1/3, 1/3, 1/3)
  12. end
  13.  
  14. local ScrollFrame = CreateFrame('ScrollFrame', nil, Frame)
  15. ScrollFrame:SetPoint('LEFT')
  16. ScrollFrame:SetSize(300, 40)
  17.  
  18. local ScrollChild = CreateFrame('Frame')
  19. ScrollChild:SetSize(ScrollFrame:GetSize())
  20. ScrollFrame:SetScrollChild(ScrollChild)
  21.  
  22. local Portrait = CreateFrame('PlayerModel', nil, ScrollChild)
  23. Portrait:SetAllPoints()
  24. Portrait:SetPortraitZoom(1)
  25. Portrait:RegisterEvent('UNIT_MODEL_CHANGED')
  26. Portrait:SetScript('OnEvent', function()
  27.     Portrait:SetUnit('player')
  28. end)
  29.  
  30. local Slider = CreateFrame('Slider', nil, UIParent, 'OptionsSliderTemplate')
  31. Slider:SetPoint('TOP', Frame, 'BOTTOM', 0, -30)
  32. Slider:SetMinMaxValues(0, 300)
  33. Slider:SetValue(300)
  34.  
  35. Slider:SetScript('OnValueChanged', function(self, value)
  36.     local reverse = 300 - value
  37.  
  38.     -- the following two lines don't work together on the beta, works fine on live
  39.     -- seperately they work just fine though, and there are no errors
  40.     ScrollFrame:SetPoint('LEFT', -reverse, 0)
  41.     ScrollFrame:SetHorizontalScroll(-reverse)
  42. end)

If you print :GetHorizontalScroll and :GetPoint after setting them it shows that both changed, it just doesn't update properly on the beta.


All times are GMT -6. The time now is 03:32 AM.

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