WoW:XML/Frame/frameLevel: Difference between revisions

From AddOn Studio
< XML‎ | Frame
Jump to navigation Jump to search
(Added note that changing a frame's parent does not adjust the frame's level)
Line 15: Line 15:


You can check a frame's level with Frame:GetFrameLevel() and you can set it with Frame:SetFrameLevel(). However, setting a frame's level is ill-advised. It is given its level automatically and it's best to leave it that way. If you need to change a frame's level in your own code, best thing to do is just nest your code differently.
You can check a frame's level with Frame:GetFrameLevel() and you can set it with Frame:SetFrameLevel(). However, setting a frame's level is ill-advised. It is given its level automatically and it's best to leave it that way. If you need to change a frame's level in your own code, best thing to do is just nest your code differently.
Note: If the parent of a frame is changed by your code, the frame levels are not adjusted to compensate.  You may need to adjust the frame's level to fix the way the frame displays.


==Possible Values==
==Possible Values==

Revision as of 02:49, 24 March 2007

What is frameLevel?

frameLevel is pretty much what it sounds like, it says what level your frame is on.

What is the difference between frameLevel and frameStrata?

Well first off, you can't set frameLevel in your <Frame> tag. frameLevel is dictated by XML nesting. Check this example out:

<Frame name="MyFrame" frameStrata="DIALOG" parent="UIParent">
  <Frames>
    <Button name="MyButton">
    </Button>
  </Frames>
</Frame>

Since UIParent's frameLevel is 1, the frame we created here should be frameLevel 2 and the Button should be frameLevel 3.

You can check a frame's level with Frame:GetFrameLevel() and you can set it with Frame:SetFrameLevel(). However, setting a frame's level is ill-advised. It is given its level automatically and it's best to leave it that way. If you need to change a frame's level in your own code, best thing to do is just nest your code differently.

Note: If the parent of a frame is changed by your code, the frame levels are not adjusted to compensate. You may need to adjust the frame's level to fix the way the frame displays.

Possible Values

  • 0 - No parent
  • 1 - Parent is UIParent
  • 2 and higher...