UIHANDLER OnCursorChanged
Jump to navigation
Jump to search
Description
Called whenever the cursor in an edit box was moved. Note that the cursor is also moved when typing.
Arguments
- arg1
- the new horizontal (x) position of the cursor in the edit box (the first column being 0, increasing to the right)
- arg2
- the new vertical (y) position of the cursor in the edit box (the first line being 0, DEcreasing downwards)
- arg3
- the width of the displayed cursor
- arg4
- the height of one line/the displayed cursor
Example
Say we have a plain textbox inside a scrollframe (inside UIPanelScrollFrameTemplate; as the only child-element, etc.), the following code will automatically move scrollframe viewport so that the cursor is inside it. (The ScrollingEdit_OnUpdate() function in UIPanelTemplates.lua does something akin to this also.)
<OnCursorChanged> local vs = self:GetParent():GetVerticalScroll(); local h = self:GetParent():GetHeight(); if vs+arg2 > 0 or 0 > vs+arg2-arg4+h then self:GetParent():SetVerticalScroll(arg2*-1); end </OnCursorChanged>