SObjectTableRow

It's an SObjectWidget! It's an ITableRow! It does it all!

Windows
MacOS
Linux

Inheritance Hierarchy

SObjectWidget

IObjectTableRow

SObjectTableRow

References

Module

UMG

Header

/Engine/Source/Runtime/UMG/Public/Slate/SObjectTableRow.h

Include

#include "Slate/SObjectTableRow.h"

Syntax

template<typename ItemType>
class SObjectTableRow :
    public SObjectWidget,
    public IObjectTableRow

Remarks

It's an SObjectWidget! It's an ITableRow! It does it all!

By using UUserWidget::TakeDerivedWidget<T>(), this class allows UMG to fully leverage the robust Slate list view widgets. The major gain from this is item virtualization, which is an even bigger deal when unnecessary widgets come with a boatload of additional UObject allocations.

The owning UUserWidget is expected to implement the IUserListItem UInterface, which allows the row widget to respond to various list-related events.

Note: Much of the implementation here matches STableRow<T> exactly, so refer there if looking for additional information.

Variables

Name Description

Protected variable

FOnRowHovered

 

OnHovered

Protected variable

FOnRowHovered

 

OnUnhovered

Protected variable

TWeakObjectPtr<...

 

OwnerListView

Protected variable

TWeakPtr< IType...

 

OwnerTablePtr

Destructors

Name Description

Public function Virtual

~SObjectTableRow()

Functions

Name Description

Public function

void

 

Construct

(
    const FArguments& InArgs,
    const TSharedRef< STableViewBase > ...,
    UUserWidget& InWidgetObject,
    UListViewBase* InOwnerListView
)

Protected function Const

const ItemTy...

 

GetItemForThis

(
    const TSharedRef< ITypedTableView< ...
)

Protected function Virtual

void

 

InitializeObjectRow()

Protected function Const

bool

 

IsItemSelectable()

Public function Virtual

void

 

NotifyItemExpansionChanged

(
    bool bIsExpanded
)

Protected function Virtual

void

 

OnItemSelectionChanged

(
    bool bIsItemSelected
)

Protected function Virtual

void

 

ResetObjectRow()

Overridden from SWidget

Name Description

Public function Virtual

FReply

 

OnDragDetected

(
    const FGeometry& MyGeometry,
    const FPointerEvent& MouseEvent
)

Called when Slate detects that a widget started to be dragged.

Public function Virtual

FReply

 

OnMouseButtonDoubleClick

(
    const FGeometry& InMyGeometry,
    const FPointerEvent& InMouseEvent
)

Called when a mouse button is double clicked. Override this in derived classes.

Public function Virtual

FReply

 

OnMouseButtonDown

(
    const FGeometry& MyGeometry,
    const FPointerEvent& MouseEvent
)

MOUSE INPUT The system calls this method to notify the widget that a mouse button was pressed within it.

Public function Virtual

FReply

 

OnMouseButtonUp

(
    const FGeometry& MyGeometry,
    const FPointerEvent& MouseEvent
)

The system calls this method to notify the widget that a mouse button was release within it.

Public function Virtual

void

 

OnMouseEnter

(
    const FGeometry& MyGeometry,
    const FPointerEvent& MouseEvent
)

The system will use this event to notify a widget that the cursor has entered it.

Public function Virtual

void

 

OnMouseLeave

(
    const FPointerEvent& MouseEvent
)

The system will use this event to notify a widget that the cursor has left it.

Public function Virtual

FReply

 

OnTouchEnded

(
    const FGeometry& MyGeometry,
    const FPointerEvent& InTouchEvent
)

Called when a touchpad touch is ended (finger lifted)

Public function Virtual

FReply

 

OnTouchStarted

(
    const FGeometry& MyGeometry,
    const FPointerEvent& InTouchEvent
)

Called when a touchpad touch is started (finger down)

Public function Virtual Const

bool

 

SupportsKeyboardFocus()

Checks to see if this widget supports keyboard focus. Override this in derived classes.

Public function Virtual

void

 

Tick

(
    const FGeometry& AllottedGeometry,
    const double InCurrentTime,
    const float InDeltaTime
)

SWidget Tick override.

Overridden from IObjectTableRow

Overridden from ITableRow

Name Description

Public function Virtual

TSharedRef< ...

 

AsWidget()

Public function Virtual Const

int32

 

DoesItemHaveChildren()

Public function Virtual

TSharedPtr< ...

 

GetContent()

Public function Virtual Const

int32

 

GetIndentLevel()

Public function Virtual Const

FVector2D

 

GetRowSizeForColumn

(
    const FName& InColumnName
)

Public function Virtual Const

ESelectionMo...

 

GetSelectionMode()

Called to query the selection mode for the row

Public function Virtual Const

TBitArray

 

GetWiresNeededByDepth()

Public function Virtual

void

 

InitializeRow()

Called when the row has been generated and associated with an item in the owning table.

Public function Virtual Const

bool

 

IsItemExpanded()

Public function Virtual Const

bool

 

IsItemSelected()

Public function Virtual Const

bool

 

IsLastChild()

Public function Virtual

void

 

Private_OnExpanderArrowShiftClicked()

Called when the expander arrow for this row is shift+clicked

Public function Virtual

void

 

ResetRow()

Called when the row has been released from the owning table and is no longer associated with any items therein.

Public function Virtual

void

 

SetIndexInList

(
    int32 InIndexInList
)

Public function Virtual

void

 

ToggleExpansion()

Toggle the expansion of the item associated with this row

Classes

Name

Description

Public struct

FArguments

Help shape the future of Unreal Engine documentation! Tell us how we're doing so we can serve you better.
Take our survey
Dismiss