WoWInterface

WoWInterface (https://www.wowinterface.com/forums/index.php)
-   Tutorials & Other Helpful Info. (https://www.wowinterface.com/forums/forumdisplay.php?f=12)
-   -   ChatFrame#:ScrollToTop() Alternative (https://www.wowinterface.com/forums/showthread.php?t=45895)

Clamsoda 02-26-13 10:55 AM

ChatFrame#:ScrollToTop() Alternative
 
Something that has been irritating me lately is Blizzard's ChatFrame#:ScrollTopTop() function. It situates the highest scroll index of text against the bottom of the chat frame. This isn't even achievable through normal scrolling up, as the chat stops scrolling when the highest index is situated at the top of the chat frame. I wrote this script to try to get around that.

Lua Code:
  1. for i = 0, _G[frame]:GetMaxLines() do
  2.     if _G[frame]:AtTop() then break end
  3.     _G[frame]:ScrollUp()
  4. end

This really satiates some sort of pseudo obsessive-compulsiveness, and doesn't really enhance anything drastically. I searched high and low for something similar and didn't find anything.

The script should fit in neatly wherever there is a call to ChatFrame#:ScrollToTop().

Phanx 02-26-13 04:49 PM

You could simplify that:

Code:

repeat
    ChatFrame1:ScrollUp()
until ChatFrame1:AtTop()


Clamsoda 02-26-13 05:40 PM

=O Suppp Phanxxxxxxxxxx.

Looks great! Thank you for the input. I was unaware that LUA had a repeat-until function.

semlar 02-26-13 06:46 PM

You could also just do
Lua Code:
  1. while not ChatFrame1:AtTop() do
  2.   ChatFrame1:ScrollUp()
  3. end

The difference is a repeat loop will always execute at least once.

Clamsoda 02-27-13 04:52 PM

Works great, Semlar.

Thanks a lot for the input you two, I didn't even think to use a repeat-until or while-end function in this situation.


All times are GMT -6. The time now is 05:41 PM.

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