I'm a doctor, not a mechanic
UE3:UIList (UDK)
Object >> UIRoot >> UIScreenObject >> UIObject >> UIList |
Contents
- 1 Constants
- 2 Properties
- 2.1 Property group 'Appearance'
- 2.1.1 bEnableMultiSelect
- 2.1.2 bForceFullPageDisplay
- 2.1.3 bHoverStateOverridesSelected
- 2.1.4 bUpdateItemUnderCursor
- 2.1.5 CellLinkType
- 2.1.6 CellPadding
- 2.1.7 CellSpacing
- 2.1.8 ColumnAutoSizeMode
- 2.1.9 ColumnCount
- 2.1.10 ColumnWidth
- 2.1.11 HeaderCellPadding
- 2.1.12 HeaderElementSpacing
- 2.1.13 MaxVisibleItems
- 2.1.14 MinColumnSize
- 2.1.15 RowAutoSizeMode
- 2.1.16 RowCount
- 2.1.17 RowHeight
- 2.1.18 WrapType
- 2.2 Property group 'Components'
- 2.3 Property group 'Controls'
- 2.4 Property group 'Data'
- 2.5 Property group 'Interaction'
- 2.6 Property group 'Sound'
- 2.7 Property group 'ZDebug'
- 2.8 Internal variables
- 2.8.1 bInitializeScrollbars
- 2.8.2 bSortingList
- 2.8.3 ColumnHeaderBackgroundStyle
- 2.8.4 ColumnHeaderStyle
- 2.8.5 DataProvider
- 2.8.6 GlobalCellStyle
- 2.8.7 Index
- 2.8.8 ItemOverlayStyle
- 2.8.9 Items
- 2.8.10 ResizeColumn
- 2.8.11 SelectedItems
- 2.8.12 SetIndexMutex
- 2.8.13 TopIndex
- 2.8.14 ValueChangeNotificationMutex
- 2.8.15 VerticalScrollbar
- 2.9 Default values
- 2.10 Subobjects
- 2.1 Property group 'Appearance'
- 3 Enums
- 4 Structs
- 5 Delegates
- 6 Functions
- Package:
- Engine
- Implemented interfaces:
- UIDataStorePublisher
- Known classes within UIList:
- UIComp_ListComponentBase, UIComp_ListElementSorter, UIComp_ListPresenter, UIComp_ListPresenterBase, UIComp_ListPresenterCascade, UIComp_ListPresenterTree, UIComp_UTUIMenuListPresenter, UIListString
- Direct subclasses:
- UIContextMenu, UINavigationList, UIObjectList, UTUIList
- This class in other games:
- UT3
This is an auto-generated page and may need human attention. Please remove the {{autogenerated}} tag if the page seems reasonably complete or replace it with the {{expand}} tag if the page is not yet complete. |
The "container" component of the UI system's list functionality, which is composed fo three components: data source, container widget, and formatter.
The UIList acts as the conduit for list data to the UI. UIList knows nothing about the type of data it contains. It is responsible for tracking the number of elements it has, the size of each cell, handling input (including tracking which elements are selected, changing the selected element, etc.), adding and removing elements from the list, and passing data back and forth between the data source and the presenter components.
Constants[edit]
ResizeBufferPixels[edit]
Value: 5
how many pixels wide the region is that is used for resizing a column/row
Properties[edit]
Property group 'Appearance'[edit]
bEnableMultiSelect[edit]
Type: bool
Determines whether more than one item can be selected at the same time.
Todo: not yet implemented
bForceFullPageDisplay[edit]
Type: bool
Modifiers: private
Controls what happens when the end of the list is reached and the number of remaining items is less than the number of visible items. Set to FALSE to prevent the list's TopIndex from being adjusted to display a full page.
Default value: True
bHoverStateOverridesSelected[edit]
Type: bool
Modifiers: private
For lists with bUpdateItemUnderCursor=TRUE, controls whether the selected item enters the hover state when mouse over.
bUpdateItemUnderCursor[edit]
Type: bool
Modifiers: private
Controls whether the item currently under the cursor should be drawn using a different style.
CellLinkType[edit]
Type: ECellLinkType
Controls how the cells are mapped to elements. If CellLinkType is not LINKED_None, the data provider for this list must be capable of supplying multiple data fields for a single item.
Todo: once this functionality is exposed through the UI, this variable should no longer be editable
Default value: LINKED_Columns
CellPadding[edit]
Type: UIRoot.UIScreenValue_Extent
Amount of spacing to use inside each cell.
CellSpacing[edit]
Type: UIRoot.UIScreenValue_Extent
Amount of spacing to use between each element in the list.
ColumnAutoSizeMode[edit]
Type: ECellAutoSizeMode
Controls how columns are auto-sized.
Default value: CELLAUTOSIZE_Uniform
ColumnCount[edit]
Type: int
Modifiers: protected
Number of columns to display in the list. How this is set is dependent on the value of CellLinkType.
LINKED_None: Whatever value designer specifies is used. Either the width of the list or the column widths must be dynamic. LINKED_Rows: always the same value as MaxVisibleItems. LINKED_Columns: determined by the number of cells which are bound to data providers.
Default value: 1
ColumnWidth[edit]
Type: UIRoot.UIScreenValue_Extent
Default width for cells in the list. A value of 0 indicates that the cell widths are dynamic. Dynamic behavior is as follows: Linked columns: columns are expanded to fill the width of the list Non-linked columns: columns widths will be adjusted to fit the largest string in the list
If columns are linked, this value is only applied to cells that have a value of 0 for CellSize.
Default value:
Member | Value |
---|---|
Value | 100.0 |
HeaderCellPadding[edit]
Type: UIRoot.UIScreenValue_Extent
Amount of spacing to use inside the cells of the column headers.
HeaderElementSpacing[edit]
Type: UIRoot.UIScreenValue_Extent
Amount of spacing to place between the column header and the first element.
MaxVisibleItems[edit]
Type: int
Modifiers: editconst, transient, duplicatetransient
Maximum number of items that can be visible at one time in the list. Calculated using the current size of the list and the list's cells.
MinColumnSize[edit]
Type: UIRoot.UIScreenValue_Extent
Minimum size a column is allowed to be resized to.
Default value:
Member | Value |
---|---|
Value | 0.5 |
RowAutoSizeMode[edit]
Type: ECellAutoSizeMode
Controls how rows are auto-sized
Default value: CELLAUTOSIZE_Constrain
RowCount[edit]
Type: int
Modifiers: protected
Number of rows to display in the list. How this is set is dependent on the value of CellLinkType.
LINKED_None: Whatever value designer specifies is used. Either the height of the list or the column heights must be dynamic. LINKED_Rows: determined by the number of cells which are bound to data providers. LINKED_Columns: always the same value as MaxVisibleItems.
Default value: 4
RowHeight[edit]
Type: UIRoot.UIScreenValue_Extent
Default height for cells in the list. A value of 0 indicates that the cell heights are dynamic.
If rows are linked, this value is only applied to cells that have a value of 0 for CellSize.
Default value:
Member | Value |
---|---|
Value | 16.0 |
WrapType[edit]
Type: EListWrapBehavior
Controls the wrapping behavior of the list, or what happens when the use attempts to scroll past the last element
Property group 'Components'[edit]
BackgroundImageComponent[edit]
Type: UIComp_DrawImage
Modifiers: editinline
Component for rendering an optional list background
CellDataComponent[edit]
Type: UIComp_ListPresenterBase
Modifiers: editinline
Handles the interaction between the list and the list's elements. Encapsulates any special behavior associated with a particular type of list data and controls how the list formats its data.
Default value: UIComp_ListPresenter'ListPresentationComponent'
SortComponent[edit]
Type: UIComp_ListElementSorter
Modifiers: editinline
Determines how to sort the list's elements.
Property group 'Controls'[edit]
bEnableVerticalScrollbar[edit]
Type: bool
Determines if this list will display scrollbars
Default value: True
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 'Interaction'[edit]
bAllowColumnResizing[edit]
Type: bool
Controls whether the user is allowed to resize the columns in this list.
Default value: True
bAllowDisabledItemSelection[edit]
Type: bool
Controls whether items which are "disabled" can be selected.
bSingleClickSubmission[edit]
Type: bool
Controls how many clicks are required in order to submit the list selected item (triggers the kismet Submit List Selection event). FALSE to require a double-click on an item; FALSE to require only a single click;
Property group 'Sound'[edit]
DecrementIndexCue[edit]
Type: name
this sound is played when the user decreases the list's index
Default value: 'ListUp'
IncrementIndexCue[edit]
Type: name
this sound is played when the user increases the list's index
Default value: 'ListDown'
SortAscendingCue[edit]
Type: name
this sound is played when the user sorts the list in ascending order
Default value: 'SortAscending'
SortDescendingCue[edit]
Type: name
this sound is played when the user sorts the list in descending order
Default value: 'SortDescending'
SubmitDataFailedCue[edit]
Type: name
this sound is played when the user clicks or presses A on an item that is disabled
Default value: 'GenericError'
SubmitDataSuccessCue[edit]
Type: name
this sound is played when the user clicks or presses A on an item that is enabled
Default value: 'ListSubmit'
Property group 'ZDebug'[edit]
bDisplayDataBindings[edit]
Type: bool
Modifiers: transient
if TRUE, the schema fields assigned to each column/row will be rendered, rather than the actual data. Used primarily by the UI edtitor.
Internal variables[edit]
bInitializeScrollbars[edit]
Type: bool
Modifiers: transient
set to indicate that the scrollbars need to be initialized after in the ResolveFacePosition call
bSortingList[edit]
Type: bool
Modifiers: const, transient
TRUE if the user clicks on a column header - prevents the OnClick delegate from being fired
ColumnHeaderBackgroundStyle[edit]
Type: UIRoot.UIStyleReference
Array size: 3 (EColumnHeaderState.COLUMNHEADER_MAX
)
The style to use for column header background images, if this list uses them. The CellDataComponent also needs valid values for its ColumnHeaderBackground variable.
Default value, index 0:
Member | Value |
---|---|
RequiredStyleClass | Class'Engine.UIStyle_Image' |
Default value, index 1:
Member | Value |
---|---|
RequiredStyleClass | Class'Engine.UIStyle_Image' |
Default value, index 2:
Member | Value |
---|---|
RequiredStyleClass | Class'Engine.UIStyle_Image' |
ColumnHeaderStyle[edit]
Type: UIRoot.UIStyleReference
The style to use for the list's column header text. The string portion of the style is applied to text; the image portion of the style is applied to images embedded in the column header text (NOT the column header's background). If not valid, the GlobalCellStyle for the normal cell state will be used instead
Default value:
Member | Value |
---|---|
DefaultStyleTag | 'DefaultColumnHeaderStyle' |
RequiredStyleClass | Class'Engine.UIStyle_Combo' |
DataProvider[edit]
Type: UIListElementProvider
Modifiers: const, transient
the list element provider referenced by DataSource
GlobalCellStyle[edit]
Type: UIRoot.UIStyleReference
Array size: 4 (EUIListElementState.ELEMENT_MAX
)
The cell styles that are applied to any cells which do not have a custom cell style configured.
Default value, index 0:
Member | Value |
---|---|
DefaultStyleTag | 'DefaultCellStyleNormal' |
RequiredStyleClass | Class'Engine.UIStyle_Combo' |
Default value, index 1:
Member | Value |
---|---|
DefaultStyleTag | 'DefaultCellStyleActive' |
RequiredStyleClass | Class'Engine.UIStyle_Combo' |
Default value, index 2:
Member | Value |
---|---|
DefaultStyleTag | 'DefaultCellStyleSelected' |
RequiredStyleClass | Class'Engine.UIStyle_Combo' |
Default value, index 3:
Member | Value |
---|---|
DefaultStyleTag | 'DefaultCellStyleHover' |
RequiredStyleClass | Class'Engine.UIStyle_Combo' |
Index[edit]
Type: int
Modifiers: transient
Index into the Items array for currently active item. In most cases, the active item will be the same as the selected item. Active item does not imply selected, however. A good example of this is a multi-select list that has no selected items, but which has focus - corresponds to the item that would be selected if the user pressed 'space' or 'enter'.
ItemOverlayStyle[edit]
Type: UIRoot.UIStyleReference
Array size: 4 (EUIListElementState.ELEMENT_MAX
)
The style to apply to the overlay textures for each cell state.
Default value, index 0:
Member | Value |
---|---|
DefaultStyleTag | 'ListItemBackgroundNormalStyle' |
RequiredStyleClass | Class'Engine.UIStyle_Image' |
Default value, index 1:
Member | Value |
---|---|
DefaultStyleTag | 'ListItemBackgroundActiveStyle' |
RequiredStyleClass | Class'Engine.UIStyle_Image' |
Default value, index 2:
Member | Value |
---|---|
DefaultStyleTag | 'ListItemBackgroundSelectedStyle' |
RequiredStyleClass | Class'Engine.UIStyle_Image' |
Default value, index 3:
Member | Value |
---|---|
DefaultStyleTag | 'ListItemBackgroundHoverStyle' |
RequiredStyleClass | Class'Engine.UIStyle_Image' |
Items[edit]
Modifiers: const, transient
The elements of the list. Corresponds to the array indexes of the whichever array this list's data comes from.
ResizeColumn[edit]
Type: int
Modifiers: const, transient
The column currently being resized, or INDEX_NONE if no columns are being resized.
SelectedItems[edit]
Modifiers: transient, public
The items which are currently selected. The int values are the array indexes of the whichever array this list's data comes from.
Todo: not yet implemented
SetIndexMutex[edit]
Type: int
Modifiers: private, transient
If this value is greater than 0, SetIndex() will not do anything.
TopIndex[edit]
Type: int
Modifiers: transient
The index of the element which is located at the beginning of the visible region.
ValueChangeNotificationMutex[edit]
Type: int
Modifiers: private, transient
If this value is more than 0, the OnValueChanged delegate will not be called.
VerticalScrollbar[edit]
Type: UIScrollbar
The UIScrollbar object which is allows the UIList to be scrolled up/down
Default value: UIScrollbar'Engine.Default__UIList:VertScrollbarTemplate'
Default values[edit]
Property | Value | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
bSupportsFocusHint | True | ||||||||||
bSupportsPrimaryStyle | False | ||||||||||
Children[0] | UIScrollbar'Engine.Default__UIList:VertScrollbarTemplate' | ||||||||||
DebugBoundsColor |
|
||||||||||
DefaultStates[2] | Class'Engine.UIState_Focused' | ||||||||||
DefaultStates[3] | Class'Engine.UIState_Active' | ||||||||||
DefaultStates[4] | Class'Engine.UIState_Pressed' | ||||||||||
PrimaryStyle |
|
||||||||||
PrivateFlags | 1024 |
Subobjects[edit]
ListPresentationComponent[edit]
Class: Engine.UIComp_ListPresenter
Property | Value |
---|---|
ListItemOverlay[0] | UITexture'Engine.Default__UIList:ListPresentationComponent.NormalOverlayTemplate' |
ListItemOverlay[1] | UITexture'Engine.Default__UIList:ListPresentationComponent.ActiveOverlayTemplate' |
ListItemOverlay[2] | UITexture'Engine.Default__UIList:ListPresentationComponent.SelectionOverlayTemplate' |
ListItemOverlay[3] | UITexture'Engine.Default__UIList:ListPresentationComponent.HoverOverlayTemplate' |
WidgetEventComponent[edit]
Class: Engine.UIComp_Event
Inherits from: UIObject.WidgetEventComponent
No new values.
Enums[edit]
ECellAutoSizeMode[edit]
Different ways to auto-size list cells
- CELLAUTOSIZE_None
- (None in UnrealEd) Auto-sizing not enabled
- CELLAUTOSIZE_Uniform
- (Uniform Fill in UnrealEd) Cells will be uniformly sized so that all cells can be displayed within the bounds of the list. The configured
cell size is ignored, and the bounds of the list are not adjusted.
- CELLAUTOSIZE_Constrain
- (Best Fit in UnrealEd) Cells will be sized to fit their contents. The configured cell size is ignored, and the bounds of the list are
not adjusted.
- CELLAUTOSIZE_AdjustList
- (Adjust List Bounds in UnrealEd) Cells will be sized to fit their contents. The configured cell size is ignored, and the bounds of the list are
adjusted to display all cells
ECellLinkType[edit]
Determines how the cells in this list are linked.
- LINKED_None
- (Disabled in UnrealEd) no linking - one to one mapping between cells and elements
- LINKED_Rows
- (Span Rows in UnrealEd) rows are linked; each column in the list will represent a single element; not yet implemented
- LINKED_Columns
- (Span Columns in UnrealEd) columns are linked; each row in the list represents a single element
EListWrapBehavior[edit]
Determines how list elements are wrapped
- LISTWRAP_None
- no wrapping (default); when the end of the list is reached, the user will not be able to scroll further
- LISTWRAP_Smooth
- Smooth wrapping; if space is available after rendering the last element, starts over at the first element and
continues rendering elements until no more space is available.
Todo: not yet implemented
- LISTWRAP_Jump
- Jump wrapping; list stops rendering at the last element, but if the user attempts to scroll past the end of the
list, the index jumps back to the opposite side of the list.
Structs[edit]
CellHitDetectionInfo[edit]
Modifiers: native, transient
Provides information about which cells the mouse is currently hovering over.
- int HitColumn
- the column that was hit; INDEX_NONE if the location did not correspond to a valid column
- int HitRow
- the row that was hit; INDEX_NONE if the location did not correspond to a valid row
- int ResizeColumn
- if the hit location was within the region used for resizing a column, indicates the column that will be resized;
- int ResizeRow
- if the hit location was within the region used for resizing a column, indicates the column that will be resized;
Delegates[edit]
OnListElementsSorted[edit]
Called anytime this list's elements are sorted.
Parameters:
- Sender - the list that just sorted its elements.
OnOverrideListElementState[edit]
Provides a way for users to override the cell state being assigned to a list element.
Parameters:
- Sender - the list calling the delegate
- ElementIndex - the index [into the list's Items array] for the element being set; Items[ElementIndex] would be the index into the source data provider's collection.
- CurrentState - the element's current cell state.
- NewElementState - the cell state that is being set on the element.
Returns:
- the cell state that should be set on the element.
OnSubmitSelection[edit]
Called when the user presses Enter (or any other action bound to UIKey_SubmitListSelection) while this list has focus.
Parameters:
- Sender - the list that is submitting the selection
ShouldDisableElement[edit]
Allows the widget to force specific elements to be disabled. If not implemented, or if the return value is false, the list's data provider will then be given an opportunity to disable the item.
Parameters:
- Sender - the list calling the delegate
- ElementIndex - the index [into the data store's list of items] for the item to query
Returns:
- TRUE if the specified element should be disabled.
Functions[edit]
Native functions[edit]
Events[edit]
AllMutexesDisabled[edit]
Returns:
- TRUE if all mutexes are disabled.
DecrementAllMutexes[edit]
Decrements all mutexes
Parameters:
- bDispatchUpdates - specify TRUE to refresh the list's index, formatting, and states.
DisableSetIndex[edit]
Disable calls to SetIndex(); useful when adding lots of items to avoid flicker.
DisableValueChangeNotification[edit]
Disable calls to NotifyValueChanged(); useful when adding lots of items to avoid flicker.
EnableSetIndex[edit]
Enable calls to SetIndex(); useful when adding lots of items to avoid flicker.
EnableValueChangeNotification[edit]
Enable calls to NotifyValueChanged(); useful when adding lots of items to avoid flicker.
IncrementAllMutexes[edit]
Increments all mutexes
Initialized[edit]
Overrides: UIScreenObject.Initialized
Sets up the scroll activity delegates in the scrollbars
Todo: this is a fix for the issue where delegates don't seem to be getting set properly in defaultproperties blocks.
IsSetIndexEnabled[edit]
Returns:
- TRUE if calls to SetIndex() will be executed.
IsValueChangeNotificationEnabled[edit]
Returns:
- TRUE if calls to NotifyValueChanged() will be executed.
PostInitialize[edit]
Overrides: UIScreenObject.PostInitialize
Propagate the enabled state of this widget.
Other instance functions[edit]
ClickedScrollZone[edit]
Handler for the vertical scrollbar's OnClickedScrollZone delegate. Scrolls the list by a full page (MaxVisibleItems).
Parameters:
- Sender - the scrollbar that was clicked.
- PositionPerc - a value from 0.0 - 1.0, representing the location of the click within the region between the increment and decrement buttons. Values closer to 0.0 means that the user clicked near the decrement button; values closer to 1.0 are nearer the increment button.
- PlayerIndex - Player that performed the action that issued the event.
EnableColumnHeaderRendering[edit]
Changes whether this list renders colum headers or not. Only applicable if the owning list's CellLinkType is LINKED_Columns
OnStateChanged[edit]
Called when a new UIState becomes the widget's currently active state, after all activation logic has occurred.
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.
ShouldRenderColumnHeaders[edit]
Returns whether this list should render column headers