WoW:XML/ButtonStyle

From AddOn Studio
< XML
Revision as of 20:02, 15 September 2022 by Bear (talk | contribs) (→‎Details)
Jump to navigation Jump to search

XML UI ← XML types < ButtonStyle < Button

ButtonStyle defines a visual style for Button state. At this time, attribute values are basically names of Fonts or FontStrings which the button will use to render its font.

Inheritance

Inherited by: none, Inherits: none, Defined in: Button

Elements

none

Attributes

  • style (string) - name of a Font or FontString to base the font style on. Effective default value, none.

Summary

Although this type was meant to encapsulate a whole style for a button state or general button, it only conveys the font information. It does not itself define a font or FontString and has no attributes or elements to support this. Currently the ButtonStyle 'style' can basically be treated like 'inherits' on FontString.

Example

<Frame name="MyFrame">
  <Layers>
    <Layer>
      <Texture>
        <Size x="100" y="100" />
        <Color a="1" r="1" g="1" b="1" />
      </Texture>
    </Layer>
  </Layers>
  <Button inherits="UIPanelButtonTemplate" text="Big Text">
    <Size x=150 y=60>
    <Anchors><Anchor point="BOTTOM"/></Anchors>
    <NormalFont style="GameFontNormalHuge"/>
  </Button>
</Frame>

This example will show an opaque color texture, painted white, and a button where the normal state font has been changed to a large font.

Details

For a button, a ButtonStyle for a particular state overrides the Button's ButtonText element. So, for example, when a button is in the Normal state, then NormalFont would pick a Font to inherit to override ButtonText properties while teh button is that state.

For the 'style' attribute, no value or empty string would act as though no ButtonStyle element was added. In this case would inherit ButtonStyle instead. If there is no ButtonStyle to inherit, and not enough details to render in the ButtonText element, then no text is rendered. So effectively there is no default value for the ButtonStyle elements.