I'm a doctor, not a mechanic

Difference between revisions of "UE3:UIOptionListBase (UDK)"

From Unreal Wiki, The Unreal Engine Documentation Site
Jump to: navigation, search
(Talk)
m (1 revision: class descriptions for UDK January update (part 6))
 
(No difference)

Latest revision as of 05:50, 17 January 2010

UDK Object >> UIRoot >> UIScreenObject >> UIObject >> UIOptionListBase
Package: 
Engine
Implemented interfaces
UIDataStorePublisher
Known classes within UIOptionListBase:
UIOptionListButton
Direct subclasses:
UINumericOptionList, UIOptionList
This class in other games:
UT3

Base class for a widget that wants to display a list of strings, one at a time, and to increment and decrement that list via buttons.

Constants[edit]

UIKEY_MoveCursorLeft[edit]

Value: 'UIKEY_MoveCursorLeft'

UI Key Action Events

UIKEY_MoveCursorRight[edit]

Value: 'UIKEY_MoveCursorRight'


Properties[edit]

Property group 'Appearance'[edit]

ButtonSpacing[edit]

Type: UIRoot.UIScreenValue_Extent

Spacing between buttons and text.

bWrapOptions[edit]

Type: bool

Whether we should wrap the options or not, meaning if the user hits the beginning or the end of the list, they will wrap to the other end of the list.

Property group 'Components'[edit]

BackgroundImageComponent[edit]

Type: UIComp_DrawImage

Modifiers: editinline, const

Component for rendering the label's background image

Default value: UIComp_DrawImage'BackgroundImageTemplate'

StringRenderComponent[edit]

Type: UIComp_DrawString

Modifiers: editinline, const, noclear

Renders the text displayed by this label

Default value: UIComp_DrawString'LabelStringRenderer'

Property group 'Data'[edit]

DataSource[edit]

Type: UIRoot.UIDataStoreBinding

The data store that this list is bound to

Default value:

Member Value
RequiredFieldType DATATYPE_Collection

Property group 'Sound'[edit]

DecrementCue[edit]

Type: name

This sound is played when the index is decremented

Default value: 'SliderDecrement'

IncrementCue[edit]

Type: name

This sound is played when the index is incremented

Default value: 'SliderIncrement'

Internal variables[edit]

DecrementButton[edit]

Type: UIOptionListButton

Modifiers: private, const

Increment and decrement buttons for this widget.

Todo: need script accessors for safely replacing the Buttons with a new type, since the var is const

Default value: UIOptionListButton'Engine.Default__UIOptionListBase:DecrementButtonTemplate'

DecrementStyle[edit]

Type: UIRoot.UIStyleReference

Modifiers: private

The styles used for the increment, decrement buttons

Default value:

Member Value
DefaultStyleTag 'DefaultIncrementButtonStyle'
RequiredStyleClass Class'Engine.UIStyle_Image'

IncrementButton[edit]

Type: UIOptionListButton

Modifiers: private, const


Default value: UIOptionListButton'Engine.Default__UIOptionListBase:IncrementButtonTemplate'

IncrementStyle[edit]

Type: UIRoot.UIStyleReference

Modifiers: private


Default value:

Member Value
DefaultStyleTag 'DefaultDecrementButtonStyle'
RequiredStyleClass Class'Engine.UIStyle_Image'

OptionListButtonClass[edit]

Type: class<UIOptionListButton>

Modifiers: const

The class to use for creating the buttons. If more control of the creation is necessary, or to use an existing button, subscribe to the CreateCustomComboButton delegate instead.

Default value: Class'Engine.UIOptionListButton'

Default values[edit]

Property Value
OnCreate Created
bSupportsPrimaryStyle False
Children[0] UIOptionListButton'Engine.Default__UIOptionListBase:DecrementButtonTemplate'
Children[1] UIOptionListButton'Engine.Default__UIOptionListBase:IncrementButtonTemplate'
DefaultStates[2] Class'Engine.UIState_Focused'
DefaultStates[3] Class'Engine.UIState_Active'
DefaultStates[4] Class'Engine.UIState_Pressed'
Position
Member Value
ScaleType[2] EVALPOS_PixelOwner
ScaleType[3] EVALPOS_PixelOwner
Value[2] 256.0
Value[3] 32.0
PrivateFlags 1024

Subobjects[edit]

BackgroundImageTemplate[edit]

Class: Engine.UIComp_DrawImage

Property Value
ImageStyle
Member Value
DefaultStyleTag 'ButtonBackground'
StyleResolverTag 'Background Image Style'

LabelStringRenderer[edit]

Class: Engine.UIComp_DrawString

Property Value
StringStyle
Member Value
DefaultStyleTag 'DefaultLabelButtonStyle'
StyleResolverTag 'Caption Style'

WidgetEventComponent[edit]

Class: Engine.UIComp_Event

Inherits from: UIObject.WidgetEventComponent

No new values.

Delegates[edit]

CreateCustomDecrementButton[edit]

delegate UIOptionListButton CreateCustomDecrementButton (UIOptionListBase ButtonOwner)

Provides a convenient way to override the creation of the OptionList's components. Called when this UIOptionList is first initialized.

Returns:

if a custom component is desired, a pointer to a fully configured instance of the desired component class. You must use UIScreenObject.CreateWidget to create the widget instances. The returned instance will be inserted into the combo box's Children array and initialized.

CreateCustomIncrementButton[edit]

delegate UIOptionListButton CreateCustomIncrementButton (UIOptionListBase ButtonOwner)


Functions[edit]

Native functions[edit]

ClearBoundDataStores[edit]

native final virtual function ClearBoundDataStores ()

Specified by: UIDataStoreSubscriber.ClearBoundDataStores

Notifies this subscriber to unbind itself from all bound data stores

GetBoundDataStores[edit]

native final virtual function GetBoundDataStores (out array<UIDataStoreout_BoundDataStores)

Specified by: UIDataStoreSubscriber.GetBoundDataStores

Retrieves the list of data stores bound by this subscriber.

Parameters:

  • out_BoundDataStores - receives the array of data stores that subscriber is bound to.

GetDataStoreBinding[edit]

native final virtual function string GetDataStoreBinding (optional int BindingIndex) const

Specified by: UIDataStoreSubscriber.GetDataStoreBinding

Retrieves the markup string corresponding to the data store that this object is bound to.

Parameters:

  • BindingIndex - optional parameter for indicating which data store binding is being requested for those objects which have multiple data store bindings. How this parameter is used is up to the class which implements this interface, but typically the "primary" data store will be index 0.

Returns:

a datastore markup string which resolves to the datastore field that this object is bound to, in the format: <DataStoreTag:DataFieldTag>

HasNextValue[edit]

native function bool HasNextValue () const

Returns:

TRUE if the user is allowed to increment the value of this widget

HasPrevValue[edit]

native function bool HasPrevValue () const

Returns:

TRUE if the user is allowed to decrement the value of this widget

NotifyDataStoreValueUpdated[edit]

native final virtual function NotifyDataStoreValueUpdated (UIDataStore SourceDataStore, bool bValuesInvalidated, name PropertyTag, UIDataProvider SourceProvider, int ArrayIndex)

Specified by: UIDataStoreSubscriber.NotifyDataStoreValueUpdated

Handler for the UIDataStore.OnDataStoreValueUpdated delegate. Used by data stores to indicate that some data provided by the data has changed. Subscribers should use this function to refresh any data store values being displayed with the updated value. notify subscribers when they should refresh their values from this data store.

Parameters:

  • SourceDataStore - the data store that generated the refresh notification; useful for subscribers with multiple data store bindings, to tell which data store sent the notification.
  • PropertyTag - the tag associated with the data field that was updated; Subscribers can use this tag to determine whether there is any need to refresh their data values.
  • SourceProvider - for data stores which contain nested providers, the provider that contains the data which changed.
  • ArrayIndex - for collection fields, indicates which element was changed. value of INDEX_NONE indicates not an array or that the entire array was updated.

OnMoveSelectionLeft[edit]

native function OnMoveSelectionLeft (int PlayerIndex)

Moves the current selection to the left.

OnMoveSelectionRight[edit]

native function OnMoveSelectionRight (int PlayerIndex)

Moves the current selection to the right.

RefreshSubscriberValue[edit]

native final virtual function bool RefreshSubscriberValue (optional int BindingIndex)

Specified by: UIDataStoreSubscriber.RefreshSubscriberValue

Resolves this subscriber's data store binding and updates the subscriber with the current value from the data store.

Returns:

TRUE if this subscriber successfully resolved and applied the updated value.

SaveSubscriberValue[edit]

native virtual function bool SaveSubscriberValue (out array<UIDataStoreout_BoundDataStores, optional int BindingIndex)

Specified by: UIDataStorePublisher.SaveSubscriberValue

Resolves this subscriber's data store binding and publishes this subscriber's value to the appropriate data store.

Parameters:

  • out_BoundDataStores - contains the array of data stores that widgets have saved values to. Each widget that implements this method should add its resolved data store to this array after data values have been published. Once SaveSubscriberValue has been called on all widgets in a scene, OnCommit will be called on all data stores in this array.
  • BindingIndex - optional parameter for indicating which data store binding is being requested for those objects which have multiple data store bindings. How this parameter is used is up to the class which implements this interface, but typically the "primary" data store will be index 0.

Returns:

TRUE if the value was successfully published to the data store.

SetDataStoreBinding[edit]

native final virtual function SetDataStoreBinding (string MarkupText, optional int BindingIndex)

Specified by: UIDataStoreSubscriber.SetDataStoreBinding

Sets the data store binding for this object to the text specified.

Parameters:

  • MarkupText - a markup string which resolves to data exposed by a data store. The expected format is: <DataStoreTag:DataFieldTag>
  • BindingIndex - optional parameter for indicating which data store binding is being requested for those objects which have multiple data store bindings. How this parameter is used is up to the class which implements this interface, but typically the "primary" data store will be index 0.

Events[edit]

Initialized[edit]

event Initialized ()

Overrides: UIScreenObject.Initialized

Called after the widget has been initialized, but before it's resolved its style or initialized its children

Other instance functions[edit]

Created[edit]

function Created (UIObject CreatedWidget, UIScreenObject CreatorContainer)

Called when this widget is created

Parameters:

  • CreatedWidget - the widget that was created
  • CreatorContainer - the container that created the widget

InitializeInternalControls[edit]

function InitializeInternalControls ()

Performs initialization for the increment and decrement buttons that cannot be handled in default properties.

OnButtonClicked[edit]

function bool OnButtonClicked (UIScreenObject Sender, int PlayerIndex)

Handler for the Increment/Decrement button's Onclick delegate.

OnStateChanged[edit]

function OnStateChanged (UIScreenObject Sender, int PlayerIndex, UIState NewlyActiveState, optional UIState PreviouslyActiveState)

Handler for the NotifyActiveStateChanged delegate - ensures that if the widget loses focus, all buttons are "unpressed".

Parameters:

  • Sender - the widget that changed states.
  • PlayerIndex - the index [into the GamePlayers array] for the player that activated this state.
  • NewlyActiveState - the state that is now active
  • PreviouslyActiveState - the state that used the be the widget's currently active state.