Widget handler: OnCursorChanged

From AddOn Studio
Jump to navigation Jump to search

Widget handlers < OnCursorChanged

Description[edit]

Called whenever the cursor in an edit box was moved. Note that the cursor is also moved when typing.

Arguments[edit]

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
unknown
arg4
the height of one line

Example[edit]

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 = this:GetParent():GetVerticalScroll();
	local h  = this:GetParent():GetHeight();

	if vs+arg2 > 0 or 0 > vs+arg2-arg4+h then
		this:GetParent():SetVerticalScroll(arg2*-1);
	end
</OnCursorChanged>