WoW:UIHANDLER OnCursorChanged: Difference between revisions

From AddOn Studio
Jump to navigation Jump to search
m (catfix, Replaced: {{widgethandler}} → {{widgethandler}}<br>)
mNo edit summary
Line 13: Line 13:


== Example ==
== 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.
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>
  <OnCursorChanged>
  local vs = this:GetParent():GetVerticalScroll();
  local vs = this:GetParent():GetVerticalScroll();

Revision as of 07:24, 14 January 2009

Widget handlers < OnCursorChanged

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

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 = 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>