WoW:API Region SetPoint: Difference between revisions

From AddOn Studio
Jump to navigation Jump to search
m (fixed a minor mistake in the EBNF)
(→‎Details: removed stray pipe)
Line 45: Line 45:
== Details ==
== Details ==


* You will have to do a {{code|obj:[[API Region ClearAllPoints|ClearAllPoints]]()}} before using obj:SetPoint(...), if you expect the frame to actually move. -- [[User:Maisha|Maisha]]
* You will have to do a <code>obj:[[API Region ClearAllPoints|ClearAllPoints]]()</code> before using obj:SetPoint(...), if you expect the frame to actually move. -- [[User:Maisha|Maisha]]


* As of 1.11 or so, there seems to be an [[API Region SetPoint/Exponential time|exponential-time increase]] if you anchor chains of objects with more than one point.
* As of 1.11 or so, there seems to be an [[API Region SetPoint/Exponential time|exponential-time increase]] if you anchor chains of objects with more than one point.

Revision as of 22:28, 10 May 2007

Widget API ← Region < SetPoint

Sets the current attachment point of an UI component.

obj:SetPoint(point [, frame] [, relativePoint] [, x [, y]]);

Parameters

Arguments

point
The point on your object to use for attaching the obj (see API Positions) (i.e. bind the left side of your frame)
frame
The name of the frame to attach the obj to - an actual frame variable can also be used (can be "UIParent"), or nil to anchor relative to the whole screen.
Defaults to the parent of obj when not specified, or the screen (not UIParent) when obj does not have a parent
relativePoint
The relative point to attach obj to (see API Positions) (i.e. bind your frame to the left side of the parent)
Defaults to the value of point when not specified.
x
The X offset (-5 means 5 units left, 5 means 5 units right)
Defaults to 0 when not specified
Units are relative to the screen with the frame's effective scale.
y
The Y offset (-5 means 5 units down, 5 means 5 units up)
Defaults to 0 when not specified
Units are relative to the screen with the frame's effective scale.

Returns

nil

Examples

The following are all equivalent.

MainMenuBar:SetPoint("BOTTOMLEFT", "UIParent", "BOTTOMLEFT", 0, 0);
MainMenuBar:SetPoint("BOTTOMLEFT", UIParent, "BOTTOMLEFT", 0, 0);
MainMenuBar:SetPoint("BOTTOMLEFT", "UIParent", "BOTTOMLEFT");
MainMenuBar:SetPoint("BOTTOMLEFT", "UIParent");

The following is equivalent to the above, given that the parent frame of MainMenuBar is UIParent.

MainMenuBar:SetPoint("BOTTOMLEFT");
MainMenuBar:SetPoint("BOTTOMLEFT", 0, 0);

Details

  • You will have to do a obj:ClearAllPoints() before using obj:SetPoint(...), if you expect the frame to actually move. -- Maisha