SecureStateHeaderTemplate

Header Attributes

These are attributes you set on the header to control its behavior. See below for attributes that apply to the header's children.

Attribute Values Description
state state The current state of the header. Setting this attribute causes all of the following attributes to be re-evaluated and take their desired effect.
exportstate Boolean If true, the header's state will be exported to its children through a state-parent attribute.
addchild frame Set this attribute on the header for each child frame that should be managed by the state header. Alternatively you can use the stateheader attribute on the child.
Visual Changes
headwidth (S) number Sets the width of the header
headheight (S) number Sets the height of the header
headscale (S) number Sets the header's scale
headparent (S) frame Re-parents the header
headofsx (S) number Sets the header's anchor x offset
headofsy (S) number Sets the header's anchor y offset
headofspoint (S) string Sets the header's anchor point (requires either headofsx or headofsy)
headofsrelpoint (S) string Sets the header's anchor relative point (requires either headofsx or headofsy)
raise (S) Boolean If true, the header's frame level will be raised above its parent
State Transitions
state-name state

Specific states are set on the header by various sources. statemap attributes then translate these to produce the final state attribute on the header. Some common names are:

  • parent - set by a parent header
  • anchor - set by an anchor template
  • unitwatch - set by the RegisterUnitWatch driver
  • visibility - set by RegisterStateDriver when configured to use visibility
statemap-name[-value] (S) Transition Maps state-name changes to a transition rule that is applied to the header. If value is omitted, the map responds to any change in state-name. Otherwise, the map applies specifically to changes to the given value. If multiple statemap-name attributes are used, the more specific ones are chosen first.
delaystatemap-name[-value] (S) Transition Similar to statemap-name, the transition chosen occurs after a number of seconds.
delaytimemap-name[-value] (S) number Specifies the number of seconds for delaystatemap-name.
delayhovermap-name[-value] (S) Boolean If true, the delayed state change will wait until the mouse cursor is no longer over the header or any of its children.
Unit Changes
headstateunit (S) unit ID This attribute sets the unit on the header based on the current state. This is an alternative to using several modified unit attributes.

Child Attributes

These are attributes you set on state header children to control their interactions with the header. Any state attributes shown here work off the state of the header.

Attribute Values Description
stateheader frame An alternative to using addchild on the header, the child will use the specified frame to determine its state-controlled action. All state-controlled visual properties, keybindings, etc. will be ignored.
statebutton (S, M) string Specifies the suffix to be used by modified attributes when the child is clicked.
statedownbutton (S, M) string Like statebutton but only applies to clicks triggered by mouse-down. If you use both statebutton and statedownbutton on a frame that's registered for both up and down clicks, you can perform two actions on each key press.
Visual Changes
showstates State List Specifies in which states to show the child. The child will be hidden otherwise.
hidestates State List Specifies in which states to hide the child. The child will be shown otherwise. If showstates is specified, hidestates will be ignored.
statehidden Boolean When the child is hidden via showstates or hidestates, this attribute will be true, differentiating a state-triggered hide from a “manual” hide.
width (S) number Sets the width of the child
height (S) number Sets the height of the child
scale (S) number Sets the child's scale
ofsx (S) number Sets the child's anchor x offset relative to the header
ofsy (S) number Sets the child's anchor y offset relative to the header
ofspoint (S) string Sets the child's anchor point
ofsrelpoint (S) string Sets the relative point on the header for the child's anchor
Header Transitions
newstate (S, M) Transition Applies the chosen transition rule to the header when the child is clicked
delaystate (S, M) Transition Applies the chosen transition rule to the header after a given delay
delaytime (S, M) number Sets the delay (in seconds) used by delaystate
delayhover (S, M) Boolean If this evaluates to true, the delayed state change timer will wait until the mouse is no longer over the header or any of its children.
Key Re-binding
statebindings (S) string Chooses a binding set name for the current state
bindings-set string

Binds one or more keys to the child when the given set is chosen. This attribute should take the following form:

[*]KEY[:suffix][;[[*]KEY[:suffix]]]...

KEY is the key to bind and suffix will be used for any modified attributes. An asterisk (*) indicates the binding takes priority over any other statebindings claiming the given key. Example:

NUMPAD8:normal;ALT-NUMPAD8:alt

This would bind both NUMPAD8 and ALT-NUMPAD8 to the child, sending normal as a suffix most of the time and alt as the suffix when activated with the alt key.