Gah - a solution with more questions. – EntropicLqd

UE3:UIComp_ListPresenter (UDK)

From Unreal Wiki, The Unreal Engine Documentation Site
Jump to: navigation, search
Package: 
Engine
Within class: 
UIList
Implemented interfaces
CustomPropertyItemHandler
Direct subclasses:
UIComp_ListPresenterCascade, UIComp_ListPresenterTree, UIComp_ObjectListPresenter, UIComp_UTUIMenuListPresenter
This class in other games:
UT3

Presentation component for lists which present their data in standard report format. This presenter currently supports single or multiple column lists (landscape lists, which are basically multi-column lists turned sideways) do not currently work correctly.

Properties[edit]

Property group 'Appearance'[edit]

bDisplayColumnHeaders[edit]

Type: bool

Modifiers: private

Controls whether column headers are rendered for this list

Default value: True

MaxElementsPerPage[edit]

Type: int

Modifiers: private

The maximum number of items to display at once; only applicable when the list has linked columns and the RowAutoSizeMode is set to adjust list bounds. Use 0 to disable.

SelectionHintPadding[edit]

Type: UIRoot.UIScreenValue_Extent

the amount of padding between the left side of the list and the left side of the selection hint widget

Property group 'Data'[edit]

ElementSchema[edit]

Type: UIElementCellSchema

Modifiers: const, protected

Contains the formatting information configured for each individual cell in the UI editor. Private/const because changing the value of this property invalidates all data in this, requiring that all data be refreshed.

ListItems[edit]

Type: array<UIListItem>

Modifiers: editconst, editinline, transient, noimport, init

Contains the element cells for each list item. Each item in the ElementCells array is the list of UIListElementCells for the corresponding element in the list.

Property group 'Style'[edit]

ColumnHeaderBackground[edit]

Type: UITexture

Array size: 3 (EColumnHeaderState.COLUMNHEADER_MAX)

Modifiers: instanced, editinlineuse

Optional background image for the column headers; only applicable if bDisplayColumnHeaders is TRUE.

Note: if this variable is removed or moved to another class, IsCustomPropertyValueIdentical and EditorSetPropertyValue must be updated as well

ColumnHeaderBackgroundCoordinates[edit]

Type: UIRoot.TextureCoordinates

Array size: 3 (EColumnHeaderState.COLUMNHEADER_MAX)

Texture atlas coordinates for the column header background textures; only applicable if bDisplayColumnHeaders is TRUE. Values of 0 indicate that the texture is not part of an atlas.

ListItemOverlay[edit]

Type: UITexture

Array size: 4 (EUIListElementState.ELEMENT_MAX)

Modifiers: instanced, editinlineuse

The image to render over each element.

Note: if this variable is removed or moved to another class, IsCustomPropertyValueIdentical and EditorSetPropertyValue must be updated as well

Default value, index 0: UITexture'Engine.Default__UIComp_ListPresenter:NormalOverlayTemplate'

Default value, index 1: UITexture'Engine.Default__UIComp_ListPresenter:ActiveOverlayTemplate'

Default value, index 2: UITexture'Engine.Default__UIComp_ListPresenter:SelectionOverlayTemplate'

Default value, index 3: UITexture'Engine.Default__UIComp_ListPresenter:HoverOverlayTemplate'

ListItemOverlayCoordinates[edit]

Type: UIRoot.TextureCoordinates

Array size: 4 (EUIListElementState.ELEMENT_MAX)

the texture atlas coordinates for the SelectionOverlay. Values of 0 indicate that the texture is not part of an atlas.

Subobjects[edit]

ActiveOverlayTemplate[edit]

Class: Engine.UITexture

No new values.

HoverOverlayTemplate[edit]

Class: Engine.UITexture

No new values.

NormalOverlayTemplate[edit]

Class: Engine.UITexture

No new values.

SelectionOverlayTemplate[edit]

Class: Engine.UITexture

No new values.

Structs[edit]

UIElementCellSchema[edit]

Modifiers: native

Contains the data store bindings for the individual cells of a single element in this list. This struct is used for looking up the data required to fill the cells of a list element when a new element is added.

array<UIListElementCellTemplate> Cells 
contains the data store bindings used for creating new elements in this list

UIListElementCell[edit]

Modifiers: native

Corresponds to a single cell in a UIList (intersection of a row and column). Generally maps directly to a single item in the list, but in the case of multiple columns or rows, a single list item may be associated with multiple UIListElementCells (where each column for that row is represented by a UIListElementCell).

The data for a UIListElementCell is accessed using a UIString. Contains one UIListCellRegion per UIStringNode in the UIString, which can be configured to manually controls the extent for each UIStringNode.

int ContainerElementIndex 
index of the UIListElement that contains this UIListElementCell
UIList OwnerList 
pointer to the list that contains this element cell
UIRoot.UIStyleReference CellStyle[4] (EUIListElementState.ELEMENT_MAX) 
Allows the designer to specify a different style for each cell in a column/row
Object ValueObject 
A UIString which contains data for this cell

Default values:

Property Value
CellStyle[-1] (ELEMENT_Active)
Member Value
RequiredStyleClass Class'Engine.UIStyle_Combo'
CellStyle[-1] (ELEMENT_Normal)
Member Value
RequiredStyleClass Class'Engine.UIStyle_Combo'
CellStyle[-1] (ELEMENT_Selected)
Member Value
RequiredStyleClass Class'Engine.UIStyle_Combo'
CellStyle[-1] (ELEMENT_UnderCursor)
Member Value
RequiredStyleClass Class'Engine.UIStyle_Combo'

UIListElementCellTemplate[edit]

Extends: UIListElementCell

Modifiers: native

Contains the data binding information for a single row or column in a list. Also used for rendering the list's column headers, if configured to do so.

name CellDataField 
Contains the data binding for each cell group in the list (row if columns are linked, columns if

rows are linked, individual cells if neither are linked

string ColumnHeaderText 
The string that should be rendered in the header for the column which displays the data for this cell.
UIRoot.UIScreenValue_Extent CellSize 
The custom size for the linked cell (column/row). A value of 0 indicates that the row/column's size should be

controlled by the owning list according to its cell auto-size configuration.

float CellPosition 
The starting position of this cell, in absolute pixels.

UIListItem[edit]

Modifiers: native

Corresponds to a single item in a UIList, which may be any type of data structure.

Contains a list of UIListElementCells, which correspond to one or more data fields of the underlying data structure associated with the list item represented by this object. For linked-column lists, each UIListElementCell is typically associated with a different field from the underlying data structure.

UIComp_ListPresenterBase.UIListItemDataBinding DataSource 
The list element associated with the cells contained by this UIListItem.
array<UIListElementCell> Cells 
the cells associated with this list element
UIRoot.EUIListElementState ElementState 
The current state of this cell (selected, active, etc.)
UIObject ElementWidget 
Holds the widget associated with this list item for object lists.

Native functions[edit]

FindElementIndex[edit]

native final function int FindElementIndex (int DataSourceIndex) const

Find the index of the list item which corresponds to the data element specified.

Parameters:

  • DataSourceIndex - the index into the list element provider's data source collection for the element to find.

Returns:

the index [into the ListItems array] for the element which corresponds to the data element specified, or INDEX_NONE if none where found or DataSourceIndex is invalid.