I'm a doctor, not a mechanic

UE3:UICalloutButton (UDK)

From Unreal Wiki, The Unreal Engine Documentation Site
Jump to: navigation, search
UDK Object >> UIRoot >> UIScreenObject >> UIObject >> UIButton >> UILabelButton >> UICalloutButton
Package: 
Engine
Implemented interfaces
UIDataStorePublisher

This button class is used in UIButtonCalloutPanels to providing the user with feedback regarding the actions available for a scene. Each UICalloutButton is associatd with a specific input key / alias. The button's caption and input key handling are automatically handled based on the input key / alias the button is associated with.

Copyright 1998-2009 Epic Games, Inc. All Rights Reserved

Properties[edit]

Property group 'Appearance'[edit]

IconAlignment[edit]

Type: UIRoot.EUIAlignment

Modifiers: const

Determines where to place the markup string for the button icon, in relation to the caption's markup string. If Center is selected, the icon will be placed to the left of the first text in the markup string. If Default is chosen, the icon markup string will not be added at all - useful when the data binding already contains the button icon's markup string.

Property group 'Data'[edit]

InputAliasTag[edit]

Type: name

Modifiers: editconst, const

the input alias tag this button will use to generate the markup string required to grab its label text from the StringAliasMap data store

Internal variables[edit]

bPlayErrorSoundWhenDisabled[edit]

Type: bool

Modifiers: const, config

Controls whether an error sound is played when this button is disabled

bSupportsButtonRepeat[edit]

Type: bool

Modifiers: transient

indicates that this button should generate trigger its alias when a press or repeat event is received, as opposed to a button release Set by the owning buttonbar panel.

CalloutDataStoreTag[edit]

Type: name

Modifiers: const, config

Provides a way for child classes to easily override the data store used for looking up button callouts. If blank, uses the engine's default - ButtonCallouts

DefaultMarkupStringTemplate[edit]

Type: string

Modifiers: const, config

The value used to build the data store markup string; default is <StringAliasMap:`InputAliasTag`>, where `InputAlias` must exist in the string, as this is used to find the location where the button's input alias tag should be placed.

Default value: "<ButtonCallouts:`InputAliasTag`>"

Default values[edit]

Property Value
OnRawInputKey OnReceivedInputKey
bNeverFocus True
bOverrideInputOrder True
DockTargets
Member Value
bLockWidthWhenDocked True
PrivateFlags 640

Subobjects[edit]

BackgroundImageTemplate[edit]

Class: Engine.UIComp_DrawImage

Inherits from: UILabelButton.BackgroundImageTemplate

Property Value
ImageStyle
Member Value
DefaultStyleTag 'CalloutButtonBackgroundStyle'

LabelStringRenderer[edit]

Class: Engine.UIComp_DrawString

Inherits from: UILabelButton.LabelStringRenderer

Property Value
AutoSizeParameters[0]
Member Value
bAutoSizeEnabled True
AutoSizeParameters[1]
Member Value
bAutoSizeEnabled True
StringStyle
Member Value
DefaultStyleTag 'CalloutButtonStringStyle'

WidgetEventComponent[edit]

Class: Engine.UIComp_Event

Inherits from: UILabelButton.WidgetEventComponent

No new values.

Functions[edit]

Native functions[edit]

GetCalloutDataStore[edit]

native final function UIDataStore_InputAlias GetCalloutDataStore (optional LocalPlayer AlternatePlayer)

Wrapper method for attaining a reference to the input alias data store.

Parameters:

  • AlternatePlayer - specifies the player that should be used for looking up the ButtonCallouts datastore; relevant when one player is using a gamepad and another is using a keyboard, for example. If not specified, uses the value returned from GetPlayerOwner().

OnReceivedInputKey[edit]

native function bool OnReceivedInputKey (const out UIRoot.InputEventParameters EventParms)

Handler for OnRawInputKey delegate. Looks up the alias associated with the input key and if it matches the button's InputAliasTag, activates the input proxy's output link for this button.

Parameters:

  • EventParms - information about the input event.

Returns:

TRUE to indicate that this input key was processed; no further processing will occur on this input key event.

SetInputTag[edit]

native final protected function SetInputTag (name NewInputAlias)

Wrapper for changing the InputAliasTag for this button.

Protected access because only SetInputAlias should be available to clients of this class.

Parameters:

  • NewInputAlias - the new input alias to use for this button (such as Conditional1, ShiftUp, Accept, etc.); native code does not perform any validity checks (to support changing the InputAliasTag to 'None', if desired), so callers should perform this step themselves if appropriate.

SubscribeToInputProxy[edit]

native final function bool SubscribeToInputProxy (UIEvent_CalloutButtonInputProxy InputProxy, optional bool bUpdateProxyOutputLinks, optional int PlayerIndex)

Registers this callout button's associated input key with the scene's callout input proxy. This is required in order to receive calls to ProcessInputKey for this button's input key.

Parameters:

  • InputProxy - the input proxy to subscribe to; should be the proxy from this button's scene, which can be retrieved by calling GetCalloutInputProxy().
  • bUpdateProxyOutputLinks - specify FALSE to update the scene's subscribers array only (e.g. when the widget is just changing states); a value of TRUE means that the associated output link will be removed as well (for example, when changing a button's input alias).
  • PlayerIndex - if specified, the button mapping will only be added for that player; otherwise, adds button mappings for all players which this callout button accepts input from.

Returns:

TRUE if the button was successfully subscribed to the proxy.

UnsubscribeFromInputProxy[edit]

native final function bool UnsubscribeFromInputProxy (UIEvent_CalloutButtonInputProxy InputProxy, optional bool bUpdateProxyOutputLinks, optional int PlayerIndex)

Unregisters this callout button's associated input key with the scene's callout input proxy. This is required in order to stop handling input for this button's input key.

Parameters:

  • InputProxy - the input proxy to subscribe to; should be the proxy from this button's scene, which can be retrieved by calling GetCalloutInputProxy().
  • bUpdateProxyOutputLinks - specify FALSE to update the scene's subscribers array only (e.g. when the widget is just changing states); a value of TRUE means that the associated output link will be removed as well (for example, when changing a button's input alias).
  • PlayerIndex - if specified, the button mapping will only be removed for that player; otherwise, removed button mappings for all players which this callout button accepts input from.

Returns:

TRUE if the button was successfully subscribed to the proxy.

Events[edit]

GenerateCompleteCaptionMarkup[edit]

event string GenerateCompleteCaptionMarkup (optional name InputAlias)

Generates a markup string for this button's caption, preserving any additional text present in the data store binding's current value. The callout markup string will be positioned within the total markup string according to this button's configured IconAlignment.

Parameters:

  • InputAlias - allows the caller to specify the alias that should be used in the markup string returned. If not specified, the button's currently assigned input alias will be used.

Returns:

a complete data store markup string which includes a markup node for referencing the callout associated with the alias, along with any additional text that was applied to this button's caption data store binding.

GetCalloutDataStoreName[edit]

event name GetCalloutDataStoreName ()

Returns:

the name of the data store that should be used for looking up button callouts.

GetCalloutMarkupString[edit]

event string GetCalloutMarkupString (optional name AlternateInputAlias)

Returns:

the data store markup string required to access the callout icon data store for this button's alias, or an empty string if this button isn't assigned an alias.

PostInitialize[edit]

event PostInitialize ()

Overrides: UIScreenObject.PostInitialize

Called after this screen object's children have been initialized. While the Initialized event is only called when a widget is initialized for the first time, PostInitialize() will be called every time this widget receives a call to Initialize(), even if the widget was already initialized. Examples would be reparenting a widget.

RemovedFromParent[edit]

event RemovedFromParent (UIScreenObject WidgetOwner)

Overrides: UIScreenObject.RemovedFromParent

Notification that this widget's parent is about to remove this widget from its children array. Allows the widget to clean up any references to the old parent.

Parameters:

  • WidgetOwner - the screen object that this widget was removed from.

SetInputAlias[edit]

event bool SetInputAlias (name NewInputAlias)

Public method for changing this button's input alias. Rebuilds the markup string and updates the data store binding.

Parameters:

  • NewInputAlias - the new input alias to associate with this button, such as Accept, Cancel, ShiftUp, Conditional1, etc. valid values are listed in the [UIDataStore_StringAliasMap] (or subclass, if applicable) section of the game's .ini.

Returns:

TRUE if the new alias was valid and was applied successfully to this button's data store binding.

Other instance functions[edit]

GetCalloutInputProxy[edit]

function UIEvent_CalloutButtonInputProxy GetCalloutInputProxy (optional bool bCreateIfNecessary)

Returns a reference to the input proxy for this button's scene.

Parameters:

  • bCreateIfNecessary - specify TRUE to have an input proxy created for you if it doesn't exist. Future calls to this function would then return that proxy.

Returns:

a reference to the button bar input proxy used by this button's owner scene.

GetPanelOwner[edit]

function UICalloutButtonPanel GetPanelOwner ()

Accessor for grabbing a reference to the CalloutButtonPanel that owns this button. Might return None if this button doesn't currently have an owner for some reason.

VerifyDefaultMarkupString[edit]

protected function bool VerifyDefaultMarkupString ()

Verifies that the DefaultMarkupStringTemplate contains the `InputAliasTag` token.

Returns:

TRUE if the default markup string contains the InputAliasTag token.