UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
STreeView< ItemType > Class Template Reference

#include <STreeView.h>

+ Inheritance diagram for STreeView< ItemType >:

Public Types

using NullableItemType = typename TListTypeTraits< ItemType >::NullableType
 
using MapKeyFuncs = typename TListTypeTraits< ItemType >::MapKeyFuncs
 
using MapKeyFuncsSparse = typename TListTypeTraits< ItemType >::MapKeyFuncsSparse
 
using TSparseItemMap = TMap< ItemType, FSparseItemInfo, FDefaultSetAllocator, MapKeyFuncsSparse >
 
using TItemSet = TSet< TObjectPtrWrapTypeOf< ItemType >, typename TListTypeTraits< TObjectPtrWrapTypeOf< ItemType > >::SetKeyFuncs >
 
using FOnGetChildren = typename TSlateDelegates< ItemType >::FOnGetChildren
 
using FOnGenerateRow = typename TSlateDelegates< ItemType >::FOnGenerateRow
 
using FOnRefreshRow = typename TSlateDelegates< ItemType >::FOnRefreshRow
 
using FOnSetExpansionRecursive = typename TSlateDelegates< ItemType >::FOnSetExpansionRecursive
 
using FOnItemScrolledIntoView = typename TSlateDelegates< ItemType >::FOnItemScrolledIntoView
 
using FOnSelectionChanged = typename TSlateDelegates< NullableItemType >::FOnSelectionChanged
 
using FIsSelectableOrNavigable = typename TSlateDelegates< ItemType >::FIsSelectableOrNavigable
 
using FOnMouseButtonClick = typename TSlateDelegates< ItemType >::FOnMouseButtonClick
 
using FOnMouseButtonDoubleClick = typename TSlateDelegates< ItemType >::FOnMouseButtonDoubleClick
 
using FOnExpansionChanged = typename TSlateDelegates< ItemType >::FOnExpansionChanged
 
using FOnItemToString_Debug = typename TSlateDelegates< ItemType >::FOnItemToString_Debug
 
using FOnWidgetToBeRemoved = typename SListView< ItemType >::FOnWidgetToBeRemoved
 
- Public Types inherited from SListView< ItemType >
using NullableItemType = typename TListTypeTraits< ItemType >::NullableType
 
using MapKeyFuncs = typename TListTypeTraits< ItemType >::MapKeyFuncs
 
using MapKeyFuncsSparse = typename TListTypeTraits< ItemType >::MapKeyFuncsSparse
 
using TItemSet = TSet< TObjectPtrWrapTypeOf< ItemType >, typename TListTypeTraits< TObjectPtrWrapTypeOf< ItemType > >::SetKeyFuncs >
 
using FOnGenerateRow = typename TSlateDelegates< ItemType >::FOnGenerateRow
 
using FOnRefreshRow = typename TSlateDelegates< ItemType >::FOnRefreshRow
 
using FOnItemScrolledIntoView = typename TSlateDelegates< ItemType >::FOnItemScrolledIntoView
 
using FOnSelectionChanged = typename TSlateDelegates< NullableItemType >::FOnSelectionChanged
 
using FIsSelectableOrNavigable = typename TSlateDelegates< ItemType >::FIsSelectableOrNavigable
 
using FOnMouseButtonClick = typename TSlateDelegates< ItemType >::FOnMouseButtonClick
 
using FOnMouseButtonDoubleClick = typename TSlateDelegates< ItemType >::FOnMouseButtonDoubleClick
 
typedef TSlateDelegates< ItemType >::FOnItemToString_Debug FOnItemToString_Debug
 

Public Member Functions

 SLATE_BEGIN_ARGS (STreeView< ItemType >)
 
 SLATE_ATTRIBUTE (int32, MaxPinnedItems)
 
 SLATE_ARGUMENT (EConsumeMouseWheel, ConsumeMouseWheel)
 
 SLATE_ARGUMENT (EAllowOverscroll, AllowOverscroll)
 
 SLATE_STYLE_ARGUMENT (FScrollBarStyle, ScrollBarStyle)
 
 SLATE_ARGUMENT (float, WheelScrollMultiplier)
 
 SLATE_EVENT (FOnTableViewBadState, OnEnteredBadState)
 
 SLATE_ARGUMENT (bool, HandleGamepadEvents)
 
 SLATE_ARGUMENT (bool, HandleDirectionalNavigation)
 
 SLATE_ARGUMENT (bool, AllowInvisibleItemSelection)
 
 SLATE_ARGUMENT (bool, HighlightParentNodesForSelection)
 
void Construct (const FArguments &InArgs)
 
 STreeView ()
 
virtual FReply OnKeyDown (const FGeometry &MyGeometry, const FKeyEvent &InKeyEvent) override
 
virtual void Private_SignalSelectionChanged (ESelectInfo::Type SelectInfo) override
 
virtual void Tick (const FGeometry &AllottedGeometry, const double InCurrentTime, const float InDeltaTime) override
 
bool PopulateLinearizedItems (TArrayView< const ItemType > InItemsSource, TArray< ItemType > &InLinearizedItems, TArray< FItemInfo > &NewDenseItemInfos, TBitArray<> NeedsParentWire, TItemSet &OutNewSelectedItems, TSparseItemMap &NewSparseItemInfo, bool bAddingItems, int32 ParentIndex)
 
int32 PopulatePinnedItems (const TArray< ItemType > &InItemsSource, TArray< ItemType > &InPinnedItems, const STableViewBase::FReGenerateResults &Results)
 
virtual TSharedRef< ITableRowGenerateNewWidget (ItemType InItem) override
 
virtual void RequestListRefresh () override
 
void RequestTreeRefresh ()
 
virtual void RebuildList () override
 
void SetStyle (const FTableViewStyle *InStyle)
 
void SetItemExpansion (const ItemType &InItem, bool InShouldExpandItem)
 
void SetSingleExpandedItem (const ItemType &InItem)
 
bool IsItemExpanded (const ItemType &InItem) const
 
void SetItemsSource (const TArray< ItemType > *InListItemsSource)
 
void SetItemsSource (TSharedRef<::UE::Slate::Containers::TObservableArray< ItemType > > InListItemsSource)
 
void SetItemsSource (TUniquePtr< UE::Slate::ItemsSource::IItemsSource< ItemType > > Provider)
 
void ClearItemsSource ()
 
bool HasValidItemsSource () const
 
TArrayView< const ItemType > GetItems () const
 
void SetTreeItemsSource (const TArray< ItemType > *InItemsSource)
 
void SetRootItemsSource (const TArray< ItemType > *InItemsSource)
 
void SetRootItemsSource (TSharedRef< UE::Slate::Containers::TObservableArray< ItemType > > InItemsSource)
 
void SetRootItemsSource (TUniquePtr< UE::Slate::ItemsSource::IItemsSource< ItemType > > Provider)
 
void ClearRootItemsSource ()
 
bool HasValidRootItemsSource () const
 
TArrayView< const ItemType > GetRootItems () const
 
void GetExpandedItems (TItemSet &ExpandedItems) const
 
void ClearExpandedItems ()
 
virtual STableViewBase::FReGenerateResults ReGenerateItems (const FGeometry &MyGeometry) override
 
- Public Member Functions inherited from SListView< ItemType >
 DECLARE_DELEGATE_OneParam (FOnWidgetToBeRemoved, const TSharedRef< ITableRow > &)
 
 DECLARE_DELEGATE_TwoParams (FOnEntryInitialized, ItemType, const TSharedRef< ITableRow > &)
 
 SLATE_BEGIN_ARGS (SListView< ItemType >)
 
 SLATE_ARGUMENT (EAllowOverscroll, AllowOverscroll)
 
 SLATE_STYLE_ARGUMENT (FScrollBarStyle, ScrollBarStyle)
 
 SLATE_ARGUMENT (bool, PreventThrottling)
 
 SLATE_ARGUMENT (EConsumeMouseWheel, ConsumeMouseWheel)
 
 SLATE_ARGUMENT (float, WheelScrollMultiplier)
 
 SLATE_ARGUMENT (float, NavigationScrollOffset)
 
 SLATE_ARGUMENT (FMargin, ScrollBarPadding)
 
 SLATE_ARGUMENT (bool, HandleGamepadEvents)
 
 SLATE_ARGUMENT (bool, HandleDirectionalNavigation)
 
 SLATE_ARGUMENT (bool, HandleSpacebarSelection)
 
 SLATE_EVENT (FOnTableViewBadState, OnEnteredBadState)
 
void Construct (const typename SListView< ItemType >::FArguments &InArgs)
 
PRAGMA_DISABLE_DEPRECATION_WARNINGS SListView (ETableViewMode::Type InListMode=ETableViewMode::List)
 
virtual bool SupportsKeyboardFocus () const override
 
virtual FNavigationReply OnNavigation (const FGeometry &MyGeometry, const FNavigationEvent &InNavigationEvent) override
 
virtual FReply OnMouseButtonDown (const FGeometry &MyGeometry, const FPointerEvent &MouseEvent) override
 
virtual FReply OnMouseButtonUp (const FGeometry &MyGeometry, const FPointerEvent &MouseEvent) override
 
void Private_OnEntryInitialized (ItemType TheItem, const TSharedRef< ITableRow > &TableRow)
 
virtual void Private_SetItemSelection (ItemType TheItem, bool bShouldBeSelected, bool bWasUserDirected=false) override
 
virtual void Private_ClearSelection () override
 
virtual void Private_SelectRangeFromCurrentTo (ItemType InRangeSelectionEnd) override
 
virtual const TObjectPtrWrapTypeOf< ItemType > * Private_ItemFromWidget (const ITableRow *TheWidget) const override
 
virtual bool Private_UsesSelectorFocus () const override
 
virtual bool Private_HasSelectorFocus (const ItemType &TheItem) const override
 
virtual bool Private_IsItemSelected (const ItemType &TheItem) const override
 
virtual bool Private_IsItemHighlighted (const ItemType &TheItem) const override
 
virtual bool Private_IsItemSelectableOrNavigable (const ItemType &TheItem) const override
 
virtual int32 Private_GetNumSelectedItems () const override
 
virtual void Private_SetItemHighlighted (ItemType TheItem, bool bShouldBeHighlighted) override
 
virtual void Private_ClearHighlightedItems () override
 
virtual ESelectionMode::Type Private_GetSelectionMode () const override
 
virtual EOrientation Private_GetOrientation () const override
 
virtual bool Private_IsPendingRefresh () const override
 
virtual void Private_OnItemRightClicked (ItemType TheItem, const FPointerEvent &MouseEvent) override
 
virtual bool Private_OnItemClicked (ItemType TheItem) override
 
virtual bool Private_OnItemDoubleClicked (ItemType TheItem) override
 
virtual ETableViewMode::Type GetTableViewMode () const override
 
virtual TSharedRef< SWidgetAsWidget () override
 
void SetStyle (const FTableViewStyle *InStyle)
 
void SetShadowBoxStyle (const FScrollBoxStyle *InScrollBoxStyle)
 
void SetOnEntryInitialized (const FOnEntryInitialized &Delegate)
 
virtual void UpdateSelectionSet () override
 
float GenerateWidgetForItem (const ItemType &CurItem, int32 ItemIndex, int32 StartIndex, float LayoutScaleMultiplier)
 
void ReGeneratePinnedItems (const TArray< ItemType > &InItems, const FGeometry &MyGeometry, int32 MaxPinnedItemsOverride=-1)
 
void GeneratePinnedWidgetForItem (const ItemType &CurItem, int32 ItemIndex, int32 NumPinnedItems, float LayoutScaleMultiplier)
 
virtual int32 GetNumItemsBeingObserved () const override
 
virtual TSharedRef< ITableRowGenerateNewPinnedWidget (ItemType InItem, const int32 ItemIndex, const int32 NumPinnedItems)
 
void SetItemsSource (const TArray< ItemType > *InListItemsSource)
 
void SetItemsSource (TSharedRef<::UE::Slate::Containers::TObservableArray< ItemType > > InListItemsSource)
 
void SetItemsSource (TUniquePtr< UE::Slate::ItemsSource::IItemsSource< ItemType > > Provider)
 
void ClearItemsSource ()
 
void BindToRefreshRow (const FOnRefreshRow &Binding)
 
void SetListItemsSource (const TArray< ItemType > &InListItemsSource)
 
bool HasValidItemsSource () const
 
TArrayView< const ItemType > GetItems () const
 
const TObjectPtrWrapTypeOf< ItemType > * ItemFromWidget (const ITableRow *WidgetToFind) const
 
bool IsItemSelected (const ItemType &InItem) const
 
void SetItemSelection (const ItemType &InItem, bool bSelected, ESelectInfo::Type SelectInfo=ESelectInfo::Direct)
 
void SetItemSelection (TConstArrayView< ItemType > InItems, bool bSelected, ESelectInfo::Type SelectInfo=ESelectInfo::Direct)
 
void ClearSelection ()
 
void SetItemHighlighted (const ItemType &TheItem, bool bHighlighted)
 
void ClearHighlightedItems ()
 
int32 GetNumItemsSelected () const
 
virtual TArray< ItemType > GetSelectedItems () const override
 
int32 GetSelectedItems (TArray< ItemType > &SelectedItemArray) const
 
bool IsItemVisible (ItemType Item) const
 
void RequestScrollIntoView (ItemType ItemToView, const uint32 UserIndex=0)
 
void RequestScrollIntoView (ItemType ItemToView, const uint32 UserIndex, const bool NavigateOnScrollIntoView)
 
void RequestNavigateToItem (ItemType Item, const uint32 UserIndex=0)
 
void CancelScrollIntoView ()
 
void SetSelection (ItemType SoleSelectedItem, ESelectInfo::Type SelectInfo=ESelectInfo::Direct)
 
void SetSelectionMode (const TAttribute< ESelectionMode::Type > &NewSelectionMode)
 
void SetScrollIntoViewAlignment (EScrollIntoViewAlignment NewScrollIntoViewAlignment)
 
virtual TSharedPtr< ITableRowWidgetFromItem (const ItemType &InItem) const override
 
virtual void AddReferencedObjects (FReferenceCollector &Collector)
 
virtual FString GetReferencerName () const
 
FVector2D GetMaxRowSizeForColumn (const FName &ColumnId, EOrientation ColumnOrientation)
 
- Public Member Functions inherited from STableViewBase
SLATE_API void ConstructChildren (const TAttribute< float > &InItemWidth, const TAttribute< float > &InItemHeight, const TAttribute< EListItemAlignment > &InItemAlignment, const TSharedPtr< SHeaderRow > &InHeaderRow, const TSharedPtr< SScrollBar > &InScrollBar, EOrientation InScrollOrientation, const FOnTableViewScrolled &InOnTableViewScrolled, const FScrollBarStyle *InScrollBarStyle=nullptr, const bool bInPreventThrottling=false)
 
SLATE_API void SetItemHeight (TAttribute< float > Height)
 
SLATE_API void SetItemWidth (TAttribute< float > Width)
 
SLATE_API void ScrollBar_OnUserScrolled (float InScrollOffsetFraction)
 
SLATE_API int32 GetNumGeneratedChildren () const
 
SLATE_API TSharedPtr< SWidgetGetGeneratedChildAt (int32 Index) const
 
SLATE_API TSharedPtr< SHeaderRowGetHeaderRow () const
 
SLATE_API bool IsRightClickScrolling () const
 
SLATE_API bool IsUserScrolling () const
 
SLATE_API bool IsPendingRefresh () const
 
SLATE_API void ScrollToTop ()
 
SLATE_API void ScrollToBottom ()
 
SLATE_API bool IsScrolling () const
 
SLATE_API float GetScrollOffset () const
 
SLATE_API void SetScrollOffset (const float InScrollOffset)
 
SLATE_API void EndInertialScrolling (const bool bInShouldStopScrollNow=false)
 
SLATE_API void AddScrollOffset (const float InScrollOffsetDelta, bool RefreshList=false)
 
SLATE_API EVisibility GetScrollbarVisibility () const
 
SLATE_API void SetScrollbarVisibility (const EVisibility InVisibility)
 
SLATE_API void SetScrollbarPadding (const FMargin &InScrollbarPadding)
 
SLATE_API bool IsScrollbarNeeded () const
 
SLATE_API void SetFixedLineScrollOffset (TOptional< double > InFixedLineScrollOffset)
 
SLATE_API void SetIsScrollAnimationEnabled (bool bInEnableScrollAnimation)
 
SLATE_API void SetScrollingAnimationInterpolationSpeed (float InScrollingAnimationInterpolationSpeed)
 
SLATE_API void SetEnableTouchAnimatedScrolling (bool bInEnableTouchAnimatedScrolling)
 
SLATE_API void SetAllowOverscroll (EAllowOverscroll InAllowOverscroll)
 
SLATE_API void SetIsRightClickScrollingEnabled (const bool bInEnableRightClickScrolling)
 
SLATE_API void SetIsTouchScrollingEnabled (const bool bInEnableTouchScrolling)
 
SLATE_API void SetSelectItemOnNavigation (const bool bInSelectItemOnNavigation)
 
SLATE_API void SetWheelScrollMultiplier (float NewWheelScrollMultiplier)
 
SLATE_API void SetIsPointerScrollingEnabled (bool bInIsPointerScrollingEnabled)
 
SLATE_API void SetIsGamepadScrollingEnabled (bool bInIsGamepadScrollingEnabled)
 
SLATE_API void SetBackgroundBrush (const TAttribute< const FSlateBrush * > &InBackgroundBrush)
 
virtual SLATE_API void OnFocusLost (const FFocusEvent &InFocusEvent) override
 
virtual SLATE_API void OnMouseCaptureLost (const FCaptureLostEvent &CaptureLostEvent) override
 
virtual SLATE_API FReply OnPreviewMouseButtonDown (const FGeometry &MyGeometry, const FPointerEvent &MouseEvent) override
 
virtual SLATE_API FReply OnMouseButtonDoubleClick (const FGeometry &InMyGeometry, const FPointerEvent &InMouseEvent) override
 
virtual SLATE_API void OnMouseEnter (const FGeometry &MyGeometry, const FPointerEvent &MouseEvent) override
 
virtual SLATE_API void OnMouseLeave (const FPointerEvent &MouseEvent) override
 
virtual SLATE_API FReply OnMouseMove (const FGeometry &MyGeometry, const FPointerEvent &MouseEvent) override
 
virtual SLATE_API FReply OnMouseWheel (const FGeometry &MyGeometry, const FPointerEvent &MouseEvent) override
 
virtual SLATE_API FCursorReply OnCursorQuery (const FGeometry &MyGeometry, const FPointerEvent &CursorEvent) const override
 
virtual SLATE_API int32 OnPaint (const FPaintArgs &Args, const FGeometry &AllottedGeometry, const FSlateRect &MyCullingRect, FSlateWindowElementList &OutDrawElements, int32 LayerId, const FWidgetStyle &InWidgetStyle, bool bParentEnabled) const override
 
virtual SLATE_API bool ComputeVolatility () const override
 
virtual SLATE_API FReply OnTouchStarted (const FGeometry &MyGeometry, const FPointerEvent &InTouchEvent) override
 
virtual SLATE_API FReply OnTouchMoved (const FGeometry &MyGeometry, const FPointerEvent &InTouchEvent) override
 
virtual SLATE_API FReply OnTouchEnded (const FGeometry &MyGeometry, const FPointerEvent &InTouchEvent) override
 
virtual SLATE_API FVector2D GetScrollDistance () override
 
virtual SLATE_API FVector2D GetScrollDistanceRemaining () override
 
virtual SLATE_API TSharedRef< class SWidgetGetScrollWidget () override
 
- Public Member Functions inherited from SCompoundWidget
const FVector2D GetContentScale () const
 
void SetContentScale (TAttribute< FVector2D > InContentScale)
 
FLinearColor GetColorAndOpacity () const
 
void SetColorAndOpacity (TAttribute< FLinearColor > InColorAndOpacity)
 
void SetForegroundColor (TAttribute< FSlateColor > InForegroundColor)
 
virtual SLATECORE_API FChildrenGetChildren () override
 
virtual SLATECORE_API void OnArrangeChildren (const FGeometry &AllottedGeometry, FArrangedChildren &ArrangedChildren) const override
 
virtual SLATECORE_API FSlateColor GetForegroundColor () const override
 
virtual SLATECORE_API void SetVisibility (TAttribute< EVisibility > InVisibility) override final
 
- Public Member Functions inherited from SWidget
SLATECORE_API int32 Paint (const FPaintArgs &Args, const FGeometry &AllottedGeometry, const FSlateRect &MyCullingRect, FSlateWindowElementList &OutDrawElements, int32 LayerId, const FWidgetStyle &InWidgetStyle, bool bParentEnabled) const
 
virtual SLATECORE_API FReply OnFocusReceived (const FGeometry &MyGeometry, const FFocusEvent &InFocusEvent)
 
virtual SLATECORE_API void OnFocusChanging (const FWeakWidgetPath &PreviousFocusPath, const FWidgetPath &NewWidgetPath, const FFocusEvent &InFocusEvent)
 
virtual SLATECORE_API FReply OnKeyChar (const FGeometry &MyGeometry, const FCharacterEvent &InCharacterEvent)
 
virtual SLATECORE_API FReply OnPreviewKeyDown (const FGeometry &MyGeometry, const FKeyEvent &InKeyEvent)
 
virtual SLATECORE_API FReply OnKeyUp (const FGeometry &MyGeometry, const FKeyEvent &InKeyEvent)
 
virtual SLATECORE_API FReply OnAnalogValueChanged (const FGeometry &MyGeometry, const FAnalogInputEvent &InAnalogInputEvent)
 
virtual SLATECORE_API TOptional< TSharedRef< SWidget > > OnMapCursor (const FCursorReply &CursorReply) const
 
virtual SLATECORE_API bool OnVisualizeTooltip (const TSharedPtr< SWidget > &TooltipContent)
 
virtual SLATECORE_API TSharedPtr< FPopupLayerOnVisualizePopup (const TSharedRef< SWidget > &PopupContent)
 
virtual SLATECORE_API FReply OnDragDetected (const FGeometry &MyGeometry, const FPointerEvent &MouseEvent)
 
virtual SLATECORE_API void OnDragEnter (const FGeometry &MyGeometry, const FDragDropEvent &DragDropEvent)
 
virtual SLATECORE_API void OnDragLeave (const FDragDropEvent &DragDropEvent)
 
virtual SLATECORE_API FReply OnDragOver (const FGeometry &MyGeometry, const FDragDropEvent &DragDropEvent)
 
virtual SLATECORE_API FReply OnDrop (const FGeometry &MyGeometry, const FDragDropEvent &DragDropEvent)
 
virtual SLATECORE_API FReply OnTouchGesture (const FGeometry &MyGeometry, const FPointerEvent &GestureEvent)
 
virtual SLATECORE_API FReply OnTouchForceChanged (const FGeometry &MyGeometry, const FPointerEvent &TouchEvent)
 
virtual SLATECORE_API FReply OnTouchFirstMove (const FGeometry &MyGeometry, const FPointerEvent &TouchEvent)
 
virtual SLATECORE_API FReply OnMotionDetected (const FGeometry &MyGeometry, const FMotionEvent &InMotionEvent)
 
virtual SLATECORE_API TOptional< boolOnQueryShowFocus (const EFocusCause InFocusCause) const
 
virtual SLATECORE_API FPopupMethodReply OnQueryPopupMethod () const
 
virtual SLATECORE_API TOptional< FVirtualPointerPositionTranslateMouseCoordinateForCustomHitTestChild (const SWidget &ChildWidget, const FGeometry &MyGeometry, const FVector2D ScreenSpaceMouseCoordinate, const FVector2D LastScreenSpaceMouseCoordinate) const
 
virtual SLATECORE_API void OnFinishedPointerInput ()
 
virtual SLATECORE_API void OnFinishedKeyInput ()
 
virtual SLATECORE_API EWindowZone::Type GetWindowZoneOverride () const
 
bool NeedsPrepass () const
 
SLATECORE_API void SlatePrepass ()
 
SLATECORE_API void SlatePrepass (float InLayoutScaleMultiplier)
 
void SetCanTick (bool bInCanTick)
 
bool GetCanTick () const
 
bool HasRegisteredSlateAttribute () const
 
bool IsAttributesUpdatesEnabled () const
 
const FSlateWidgetPersistentStateGetPersistentState () const
 
const FWidgetProxyHandle GetProxyHandle () const
 
SLATECORE_API UE::Slate::FDeprecateVector2DResult GetDesiredSize () const
 
SLATECORE_API void AssignParentWidget (TSharedPtr< SWidget > InParent)
 
SLATECORE_API bool ConditionallyDetatchParentWidget (SWidget *InExpectedParent)
 
virtual bool ValidatePathToChild (SWidget *InChild)
 
bool IsParentValid () const
 
TSharedPtr< SWidgetGetParentWidget () const
 
TSharedPtr< SWidgetAdvanced_GetPaintParentWidget () const
 
SLATECORE_API FSlateRect CalculateCullingAndClippingRules (const FGeometry &AllottedGeometry, const FSlateRect &MyCullingRect, bool &bClipToBounds, bool &bAlwaysClip, bool &bIntersectClipBounds) const
 
bool HasAnyUpdateFlags (EWidgetUpdateFlags FlagsToCheck) const
 
TStatId GetStatID (bool bForDeferredUse=false) const
 
virtual SLATECORE_API float GetRelativeLayoutScale (const int32 ChildIndex, float LayoutScaleMultiplier) const
 
SLATECORE_API void ArrangeChildren (const FGeometry &AllottedGeometry, FArrangedChildren &ArrangedChildren, bool bUpdateAttributes=false) const
 
virtual FChildrenGetAllChildren ()
 
virtual SLATECORE_API bool HasKeyboardFocus () const
 
SLATECORE_API TOptional< EFocusCauseHasUserFocus (int32 UserIndex) const
 
SLATECORE_API TOptional< EFocusCauseHasAnyUserFocus () const
 
SLATECORE_API bool HasUserFocusedDescendants (int32 UserIndex) const
 
SLATECORE_API bool HasFocusedDescendants () const
 
SLATECORE_API bool HasAnyUserFocusOrFocusedDescendants () const
 
SLATECORE_API bool HasMouseCapture () const
 
SLATECORE_API bool HasMouseCaptureByUser (int32 UserIndex, TOptional< int32 > PointerIndex=TOptional< int32 >()) const
 
void SetEnabled (TAttribute< bool > InEnabledState)
 
bool IsEnabled () const
 
virtual bool IsInteractable () const
 
virtual SLATECORE_API TSharedPtr< IToolTipGetToolTip ()
 
virtual SLATECORE_API void OnToolTipClosing ()
 
SLATECORE_API void EnableToolTipForceField (const bool bEnableForceField)
 
bool HasToolTipForceField () const
 
bool IsHovered () const
 
SLATECORE_API bool IsDirectlyHovered () const
 
EVisibility GetVisibility () const
 
bool IsVolatile () const
 
bool IsVolatileIndirectly () const
 
void ForceVolatile (bool bForce)
 
bool ShouldInvalidatePrepassDueToVolatility ()
 
SLATECORE_API void Invalidate (EInvalidateWidgetReason InvalidateReason)
 
void CacheVolatility ()
 
void MarkPrepassAsDirty ()
 
float GetRenderOpacity () const
 
void SetRenderOpacity (float InRenderOpacity)
 
void SetTag (FName InTag)
 
const TOptional< FSlateRenderTransform > & GetRenderTransform () const
 
TOptional< FSlateRenderTransformGetRenderTransformWithRespectToFlowDirection () const
 
UE::Slate::FDeprecateVector2DResult GetRenderTransformPivotWithRespectToFlowDirection () const
 
void SetRenderTransform (TAttribute< TOptional< FSlateRenderTransform > > InTransform)
 
UE::Slate::FDeprecateVector2DResult GetRenderTransformPivot () const
 
void SetRenderTransformPivot (TAttribute< FVector2D > InTransformPivot)
 
SLATECORE_API void SetClipping (EWidgetClipping InClipping)
 
EWidgetClipping GetClipping () const
 
SLATECORE_API void SetPixelSnapping (EWidgetPixelSnapping InPixelSnappingMethod)
 
EWidgetPixelSnapping GetPixelSnapping () const
 
void SetCullingBoundsExtension (const FMargin &InCullingBoundsExtension)
 
FMargin GetCullingBoundsExtension () const
 
void SetFlowDirectionPreference (EFlowDirectionPreference InFlowDirectionPreference)
 
EFlowDirectionPreference GetFlowDirectionPreference () const
 
SLATECORE_API void SetToolTipText (const TAttribute< FText > &ToolTipText)
 
SLATECORE_API void SetToolTipText (const FText &InToolTipText)
 
SLATECORE_API void SetToolTip (const TAttribute< TSharedPtr< IToolTip > > &InToolTip)
 
SLATECORE_API void SetCursor (const TAttribute< TOptional< EMouseCursor::Type > > &InCursor)
 
template<typename MetaDataType >
TSharedPtr< MetaDataType > GetMetaData () const
 
template<typename MetaDataType >
TArray< TSharedRef< MetaDataType > > GetAllMetaData () const
 
template<typename MetaDataType >
void AddMetadata (const TSharedRef< MetaDataType > &AddMe)
 
template<typename MetaDataType >
int32 RemoveMetaData (const TSharedRef< MetaDataType > &RemoveMe)
 
SLATECORE_API void SetOnMouseButtonDown (FPointerEventHandler EventHandler)
 
SLATECORE_API void SetOnMouseButtonUp (FPointerEventHandler EventHandler)
 
SLATECORE_API void SetOnMouseMove (FPointerEventHandler EventHandler)
 
SLATECORE_API void SetOnMouseDoubleClick (FPointerEventHandler EventHandler)
 
SLATECORE_API void SetOnMouseEnter (FNoReplyPointerEventHandler EventHandler)
 
SLATECORE_API void SetOnMouseLeave (FSimpleNoReplyPointerEventHandler EventHandler)
 
virtual SLATECORE_API FString ToString () const
 
SLATECORE_API FString GetTypeAsString () const
 
SLATECORE_API FName GetType () const
 
virtual SLATECORE_API FString GetReadableLocation () const
 
SLATECORE_API FName GetCreatedInLocation () const
 
virtual SLATECORE_API FName GetTag () const
 
virtual SLATECORE_API FSlateColor GetDisabledForegroundColor () const
 
SLATECORE_API const FGeometryGetCachedGeometry () const
 
SLATECORE_API const FGeometryGetTickSpaceGeometry () const
 
SLATECORE_API const FGeometryGetPaintSpaceGeometry () const
 
const TOptional< FSlateClippingState > & GetCurrentClippingState () const
 
virtual bool Advanced_IsWindow () const
 
virtual bool Advanced_IsInvalidationRoot () const
 
virtual const FSlateInvalidationRootAdvanced_AsInvalidationRoot () const
 
SLATECORE_API TSharedRef< FActiveTimerHandleRegisterActiveTimer (float TickPeriod, FWidgetActiveTimerDelegate TickFunction)
 
SLATECORE_API void UnRegisterActiveTimer (const TSharedRef< FActiveTimerHandle > &ActiveTimerHandle)
 
bool HasActiveTimers () const
 
- Public Member Functions inherited from FSlateControlledConstruction
 FSlateControlledConstruction ()=default
 
virtual ~FSlateControlledConstruction ()=default
 
virtual const FSlateWidgetClassDataGetWidgetClass () const =0
 
void operator delete (void *mem)
 
- Public Member Functions inherited from TSharedFromThis< SWidget >
TSharedRef< SWidget, Mode > AsShared ()
 
TSharedRef< SWidget const, Mode > AsShared () const
 
TSharedRef< SubobjectType, Mode > AsSharedSubobject (SubobjectType *SubobjectPtr) const
 
TWeakPtr< SWidget, Mode > AsWeak ()
 
TWeakPtr< SWidget const, Mode > AsWeak () const
 
TWeakPtr< SubobjectType, Mode > AsWeakSubobject (SubobjectType *SubobjectPtr) const
 
void UpdateWeakReferenceInternal (TSharedPtr< SharedPtrType, SharedPtrMode > const *InSharedPtr, OtherType *InObject) const
 
void UpdateWeakReferenceInternal (TSharedRef< SharedRefType, SharedPtrMode > const *InSharedRef, OtherType *InObject) const
 
UE_FORCEINLINE_HINT bool DoesSharedInstanceExist () const
 
- Public Member Functions inherited from IScrollableWidget
virtual ~IScrollableWidget ()
 

Protected Attributes

FOnGetChildren OnGetChildren
 
FOnSetExpansionRecursive OnSetExpansionRecursive
 
const TArray< ItemType > * TreeItemsSource
 
TSparseItemMap SparseItemInfos
 
TArray< FItemInfoDenseItemInfos
 
TArray< ItemType > LinearizedItems
 
FOnExpansionChanged OnExpansionChanged
 
const FTableViewStyleStyle
 
- Protected Attributes inherited from SListView< ItemType >
FWidgetGenerator WidgetGenerator
 
FWidgetGenerator PinnedWidgetGenerator
 
FOnEntryInitialized OnEntryInitialized
 
FOnGenerateRow OnGenerateRow
 
FOnGenerateRow OnGeneratePinnedRow
 
FOnRefreshRow OnRefreshRow
 
FOnItemToString_Debug OnItemToString_Debug
 
FOnTableViewBadState OnEnteredBadState
 
FOnWidgetToBeRemoved OnRowReleased
 
FOnItemScrolledIntoView OnItemScrolledIntoView
 
FOnFinishedScrolling OnFinishedScrolling
 
TItemSet SelectedItems
 
NullableItemType SelectorItem
 
NullableItemType RangeSelectionStart
 
TItemSet HighlightedItems
 
const TArray< ItemType > * ItemsSource
 
NullableItemType ItemToScrollIntoView
 
uint32 UserRequestingScrollIntoView
 
NullableItemType ItemToNotifyWhenInView
 
EScrollIntoViewAlignment ScrollIntoViewAlignment
 
FOnSelectionChanged OnSelectionChanged
 
FIsSelectableOrNavigable OnIsSelectableOrNavigable
 
FOnMouseButtonClick OnClick
 
FOnMouseButtonDoubleClick OnDoubleClick
 
FOnKeyDown OnKeyDownHandler
 
TAttribute< boolIsFocusable
 
float NavigationScrollOffset = 0.5f
 
bool bClearSelectionOnClick
 
bool bHandleGamepadEvents
 
bool bHandleDirectionalNavigation
 
bool bHandleSpacebarSelection = false
 
bool bReturnFocusToSelection
 
bool bClearScrollVelocityOnSelection = true
 
bool bNavigateOnScrollIntoView = false
 
EUINavigation NavigationTypeOnScrollIntoView = EUINavigation::Invalid
 
const FTableViewStyleStyle
 
TAttribute< int32MaxPinnedItems
 
TAttribute< int32DefaultMaxPinnedItems
 
bool bIsHierarchyCollapsed = false
 
- Protected Attributes inherited from STableViewBase
TSharedPtr< SListPanelItemsPanel
 
TSharedPtr< SListPanelPinnedItemsPanel
 
TSharedPtr< SScrollBarScrollBar
 
FMargin ScrollBarSlotPadding
 
FOnTableViewScrolled OnTableViewScrolled
 
TOptional< doubleFixedLineScrollOffset
 
bool bEnableAnimatedScrolling = false
 
float ScrollingAnimationInterpolationSpeed = 12.f
 
bool bEnableTouchAnimatedScrolling = false
 
bool bEnableRightClickScrolling = true
 
bool bEnableTouchScrolling = true
 
bool bSelectItemOnNavigation = true
 
double CurrentScrollOffset = 0.
 
double DesiredScrollOffset = 0.
 
bool bStartedTouchInteraction
 
float AmountScrolledWhileRightMouseDown
 
FVector2f PressedScreenSpacePosition
 
float TickScrollDelta
 
FReGenerateResults LastGenerateResults
 
bool bWasAtEndOfList
 
FGeometry PanelGeometryLastTick
 
FOnContextMenuOpening OnContextMenuOpening
 
FSimpleDelegate OnItemsRebuilt
 
TAttribute< ESelectionMode::TypeSelectionMode
 
TSharedPtr< SHeaderRowHeaderRow
 
FInertialScrollManager InertialScrollManager
 
FVector2f SoftwareCursorPosition
 
bool bShowSoftwareCursor
 
float WheelScrollMultiplier
 
bool bIsPointerScrollingEnabled = true
 
bool bIsGamepadScrollingEnabled = true
 
EOrientation Orientation = Orient_Vertical
 
bool bShouldUseShadowBoxStyle = false
 
const FScrollBoxStyleShadowBoxStyle
 
FInvalidatableBrushAttribute BackgroundBrush
 
bool bIsScrollingActiveTimerRegistered
 
FOverscroll Overscroll
 
EAllowOverscroll AllowOverscroll
 
EConsumeMouseWheel ConsumeMouseWheel
 
- Protected Attributes inherited from SCompoundWidget
FCompoundWidgetOneChildSlot ChildSlot
 
- Protected Attributes inherited from SWidget
uint8 bCanSupportFocus: 1
 
uint8 bCanHaveChildren: 1
 
uint8 bClippingProxy: 1
 
uint8 bHasCustomPrepass: 1
 
uint8 bHasRelativeLayoutScale: 1
 
uint8 bVolatilityAlwaysInvalidatesPrepass: 1
 
EWidgetClipping Clipping
 
EWidgetPixelSnapping PixelSnappingMethod
 
FMargin CullingBoundsExtension
 
float RenderOpacity
 

Additional Inherited Members

- Static Public Member Functions inherited from FSlateControlledConstruction
static const FSlateWidgetClassDataStaticWidgetClass ()
 
- Public Attributes inherited from STableViewBase
const ETableViewMode::Type TableViewMode
 
- Protected Types inherited from STableViewBase
enum class  EScrollIntoViewResult { Success , Deferred , Failure }
 
- Protected Member Functions inherited from SListView< ItemType >
FReply OnKeyDown_Internal (const FGeometry &MyGeometry, const FKeyEvent &InKeyEvent)
 
virtual EScrollIntoViewResult ScrollIntoView (const FGeometry &ListViewGeometry) override
 
virtual void NotifyItemScrolledIntoView () override
 
virtual void NotifyFinishedScrolling () override
 
virtual float ScrollBy (const FGeometry &MyGeometry, float ScrollByAmountInSlateUnits, EAllowOverscroll InAllowOverscroll) override
 
TOptional< ItemType > Private_FindNextSelectableOrNavigableWithIndexAndDirection (const ItemType &InItemToSelect, int32 SelectionIdx, bool bSelectForward)
 
TOptional< ItemType > Private_FindNextSelectableOrNavigable (const ItemType &InItemToSelect)
 
virtual void NavigationSelect (const ItemType &InItemToSelect, const FInputEvent &InInputEvent)
 
virtual void NavigationSelect (const ItemType &InItemToSelect, const FNavigationEvent &InNavigationEvent)
 
- Protected Member Functions inherited from STableViewBase
SLATE_API STableViewBase (ETableViewMode::Type InTableViewMode)
 
virtual SLATE_API ~STableViewBase ()
 
SLATE_API double GetTargetScrollOffset () const
 
virtual SLATE_API float ScrollTo (float InScrollOffset)
 
SLATE_API void InsertWidget (const TSharedRef< ITableRow > &WidgetToInset)
 
SLATE_API void AppendWidget (const TSharedRef< ITableRow > &WidgetToAppend)
 
SLATE_API const FChildrenGetConstructedTableItems () const
 
SLATE_API void ClearWidgets ()
 
SLATE_API void InsertPinnedWidget (const TSharedRef< SWidget > &WidgetToInset)
 
SLATE_API void AppendPinnedWidget (const TSharedRef< SWidget > &WidgetToAppend)
 
SLATE_API void ClearPinnedWidgets ()
 
SLATE_API float GetItemWidth () const
 
SLATE_API float GetItemHeight () const
 
SLATE_API UE::Slate::FDeprecateVector2DResult GetItemSize () const
 
virtual SLATE_API float GetNumLiveWidgets () const
 
virtual SLATE_API int32 GetNumItemsPerLine () const
 
virtual SLATE_API float GetFirstLineScrollOffset () const
 
virtual void OnRightMouseButtonDown (const FPointerEvent &MouseEvent)
 
virtual SLATE_API void OnRightMouseButtonUp (const FPointerEvent &MouseEvent)
 
SLATE_API float GetScrollRateInItems () const
 
SLATE_API void RequestLayoutRefresh ()
 
SLATE_API int32 GetNumPinnedItems () const
 
SLATE_API EVisibility GetPinnedItemsVisiblity () const
 
SLATE_API void NavigateToWidget (const uint32 UserIndex, const TSharedPtr< SWidget > &NavigationDestination, ENavigationSource NavigationSource=ENavigationSource::FocusedWidget, EUINavigation NavigationType=EUINavigation::Invalid) const
 
SLATE_API int32 FindChildUnderPosition (FArrangedChildren &ArrangedChildren, const FVector2D &ArrangedSpacePosition) const
 
float GetScrollComponentFromVector (FVector2f Vector) const
 
virtual SLATE_API void OnClippingChanged () override
 
FSlateColor GetStartShadowOpacity () const
 
FSlateColor GetEndShadowOpacity () const
 
SLATE_API bool CanUseInertialScroll (float ScrollAmount) const
 
SLATE_API EActiveTimerReturnType UpdateInertialScroll (double InCurrentTime, float InDeltaTime)
 
SLATE_API EActiveTimerReturnType EnsureTickToRefresh (double InCurrentTime, float InDeltaTime)
 
float GetSmoothDeltaTime (float InDeltaTime)
 
void UpdateSmoothDeltaTime (float InDeltaTime)
 
- Protected Member Functions inherited from SCompoundWidget
virtual SLATECORE_API FVector2D ComputeDesiredSize (float) const override
 
TSlateAttributeRef< FVector2DGetContentScaleAttribute () const
 
TSlateAttributeRef< FLinearColorGetColorAndOpacityAttribute () const
 
TSlateAttributeRef< FSlateColorGetForegroundColorAttribute () const
 
SLATECORE_API SCompoundWidget ()
 
virtual SLATECORE_API ~SCompoundWidget ()
 
- Protected Member Functions inherited from SWidget
void SetVolatilePrepass (bool bVolatile)
 
virtual bool CustomPrepass (float LayoutScaleMultiplier)
 
virtual SLATECORE_API void CacheDesiredSize (float InLayoutScaleMultiplier)
 
void SetHover (TAttribute< bool > InHovered)
 
bool IsChildWidgetCulled (const FSlateRect &, const FArrangedWidget &) const
 
SLATECORE_API void InvalidateChildRemovedFromTree (SWidget &Child)
 
bool Advanced_InvalidateVolatility ()
 
EFlowDirection ComputeFlowDirection () const
 
SLATECORE_API void SetDebugInfo (const ANSICHAR *InType, const ANSICHAR *InFile, int32 OnLine, size_t InAllocSize)
 
virtual SLATECORE_API TOptional< EMouseCursor::TypeGetCursor () const
 
SLATECORE_API SWidget ()
 
SLATECORE_API void SWidgetConstruct (const FSlateBaseNamedArgs &Args)
 
bool IsConstructed () const
 
SLATECORE_API bool FindChildGeometries (const FGeometry &MyGeometry, const TSet< TSharedRef< SWidget > > &WidgetsToFind, TMap< TSharedRef< SWidget >, FArrangedWidget > &OutResult) const
 
SLATECORE_API void FindChildGeometries_Helper (const FGeometry &MyGeometry, const TSet< TSharedRef< SWidget > > &WidgetsToFind, TMap< TSharedRef< SWidget >, FArrangedWidget > &OutResult) const
 
SLATECORE_API FGeometry FindChildGeometry (const FGeometry &MyGeometry, TSharedRef< SWidget > WidgetToFind) const
 
bool ShouldBeEnabled (bool InParentEnabled) const
 
virtual SLATECORE_API const FSlateBrushGetFocusBrush () const
 
float GetPrepassLayoutScaleMultiplier () const
 
SLATECORE_API void Prepass_ChildLoop (float InLayoutScaleMultiplier, FChildren *MyChildren)
 
template<typename TargetValueType , typename SourceValueType >
bool SetAttribute (TAttribute< TargetValueType > &TargetValue, const TAttribute< SourceValueType > &SourceValue, EInvalidateWidgetReason BaseInvalidationReason)
 
TSlateAttributeRef< boolGetEnabledStateAttribute () const
 
TSlateAttributeRef< boolGetHoveredAttribute () const
 
TSlateAttributeRef< EVisibilityGetVisibilityAttribute () const
 
TSlateAttributeRef< TOptional< FSlateRenderTransform > > GetRenderTransformAttribute () const
 
TSlateAttributeRef< FVector2DGetRenderTransformPivotAttribute () const
 
virtual SLATECORE_API ~SWidget ()
 
- Protected Member Functions inherited from TSharedFromThis< SWidget >
 TSharedFromThis ()
 
 TSharedFromThis (TSharedFromThis const &)
 
UE_FORCEINLINE_HINT TSharedFromThisoperator= (TSharedFromThis const &)
 
 ~TSharedFromThis ()
 
- Static Protected Member Functions inherited from SListView< ItemType >
static FOnItemToString_Debug GetDefaultDebugDelegate ()
 
- Static Protected Member Functions inherited from SWidget
static SLATECORE_API int32 FindChildUnderMouse (const FArrangedChildren &Children, const FPointerEvent &MouseEvent)
 
static SLATECORE_API int32 FindChildUnderPosition (const FArrangedChildren &Children, const UE::Slate::FDeprecateVector2DParameter &ArrangedSpacePosition)
 
static TAttribute< EVisibilityAccessWidgetVisibilityAttribute (const TSharedRef< SWidget > &Widget)
 
- Static Protected Member Functions inherited from TSharedFromThis< SWidget >
static UE_FORCEINLINE_HINT TSharedRef< OtherType, Mode > SharedThis (OtherType *ThisPtr)
 
static UE_FORCEINLINE_HINT TSharedRef< OtherType const, Mode > SharedThis (const OtherType *ThisPtr)
 

Detailed Description

template<typename ItemType>
class STreeView< ItemType >

This assumes you are familiar with SListView; see SListView.

TreeView setup is virtually identical to that of ListView. Additionally, TreeView introduces a new delegate: OnGetChildren(). OnGetChildren() takes some DataItem being observed by the tree and returns that item's children. Like ListView, TreeView operates exclusively with pointers to DataItems.

Member Typedef Documentation

◆ FIsSelectableOrNavigable

template<typename ItemType >
using STreeView< ItemType >::FIsSelectableOrNavigable = typename TSlateDelegates< ItemType >::FIsSelectableOrNavigable

◆ FOnExpansionChanged

template<typename ItemType >
using STreeView< ItemType >::FOnExpansionChanged = typename TSlateDelegates< ItemType >::FOnExpansionChanged

◆ FOnGenerateRow

template<typename ItemType >
using STreeView< ItemType >::FOnGenerateRow = typename TSlateDelegates< ItemType >::FOnGenerateRow

◆ FOnGetChildren

template<typename ItemType >
using STreeView< ItemType >::FOnGetChildren = typename TSlateDelegates< ItemType >::FOnGetChildren

◆ FOnItemScrolledIntoView

template<typename ItemType >
using STreeView< ItemType >::FOnItemScrolledIntoView = typename TSlateDelegates< ItemType >::FOnItemScrolledIntoView

◆ FOnItemToString_Debug

template<typename ItemType >
using STreeView< ItemType >::FOnItemToString_Debug = typename TSlateDelegates< ItemType >::FOnItemToString_Debug

◆ FOnMouseButtonClick

template<typename ItemType >
using STreeView< ItemType >::FOnMouseButtonClick = typename TSlateDelegates< ItemType >::FOnMouseButtonClick

◆ FOnMouseButtonDoubleClick

template<typename ItemType >
using STreeView< ItemType >::FOnMouseButtonDoubleClick = typename TSlateDelegates< ItemType >::FOnMouseButtonDoubleClick

◆ FOnRefreshRow

template<typename ItemType >
using STreeView< ItemType >::FOnRefreshRow = typename TSlateDelegates< ItemType >::FOnRefreshRow

◆ FOnSelectionChanged

template<typename ItemType >
using STreeView< ItemType >::FOnSelectionChanged = typename TSlateDelegates< NullableItemType >::FOnSelectionChanged

◆ FOnSetExpansionRecursive

template<typename ItemType >
using STreeView< ItemType >::FOnSetExpansionRecursive = typename TSlateDelegates< ItemType >::FOnSetExpansionRecursive

◆ FOnWidgetToBeRemoved

template<typename ItemType >
using STreeView< ItemType >::FOnWidgetToBeRemoved = typename SListView< ItemType >::FOnWidgetToBeRemoved

◆ MapKeyFuncs

template<typename ItemType >
using STreeView< ItemType >::MapKeyFuncs = typename TListTypeTraits< ItemType >::MapKeyFuncs

◆ MapKeyFuncsSparse

template<typename ItemType >
using STreeView< ItemType >::MapKeyFuncsSparse = typename TListTypeTraits< ItemType >::MapKeyFuncsSparse

◆ NullableItemType

template<typename ItemType >
using STreeView< ItemType >::NullableItemType = typename TListTypeTraits< ItemType >::NullableType

◆ TItemSet

template<typename ItemType >
using STreeView< ItemType >::TItemSet = TSet< TObjectPtrWrapTypeOf<ItemType>, typename TListTypeTraits< TObjectPtrWrapTypeOf<ItemType> >::SetKeyFuncs >

◆ TSparseItemMap

template<typename ItemType >
using STreeView< ItemType >::TSparseItemMap = TMap< ItemType, FSparseItemInfo, FDefaultSetAllocator, MapKeyFuncsSparse >

Constructor & Destructor Documentation

◆ STreeView()

template<typename ItemType >
STreeView< ItemType >::STreeView ( )
inline

Default constructor.

Member Function Documentation

◆ ClearExpandedItems()

template<typename ItemType >
void STreeView< ItemType >::ClearExpandedItems ( )
inline

Clears the entire set of expanded items.

◆ ClearItemsSource()

template<typename ItemType >
void STreeView< ItemType >::ClearItemsSource ( )
inline

◆ ClearRootItemsSource()

template<typename ItemType >
void STreeView< ItemType >::ClearRootItemsSource ( )
inline

◆ Construct()

template<typename ItemType >
void STreeView< ItemType >::Construct ( const FArguments &  InArgs)
inline

If true, Show the current hierarchy of items pinned at the top of the Tree View Callback delegate to have first chance handling of the OnKeyDown event Construct this widget

Parameters
InArgsThe declaration data for this widget.

◆ GenerateNewWidget()

template<typename ItemType >
virtual TSharedRef< ITableRow > STreeView< ItemType >::GenerateNewWidget ( ItemType  InItem)
inlineoverridevirtual

Given a TreeItem, create a Widget to represent it in the tree view.

Parameters
InItemItem to visualize.
Returns
A widget that represents this item.

Reimplemented from SListView< ItemType >.

◆ GetExpandedItems()

template<typename ItemType >
void STreeView< ItemType >::GetExpandedItems ( TItemSet ExpandedItems) const
inline

Generates a set of items that are currently expanded.

Parameters
ExpandedItemsThe generated set of expanded items.

◆ GetItems()

template<typename ItemType >
TArrayView< const ItemType > STreeView< ItemType >::GetItems ( ) const
inline

◆ GetRootItems()

template<typename ItemType >
TArrayView< const ItemType > STreeView< ItemType >::GetRootItems ( ) const
inline

◆ HasValidItemsSource()

template<typename ItemType >
bool STreeView< ItemType >::HasValidItemsSource ( ) const
inline

◆ HasValidRootItemsSource()

template<typename ItemType >
bool STreeView< ItemType >::HasValidRootItemsSource ( ) const
inline

◆ IsItemExpanded()

template<typename ItemType >
bool STreeView< ItemType >::IsItemExpanded ( const ItemType &  InItem) const
inline
Parameters
InItemThe data item whose expansion state to query.
Returns
true if the item is expanded; false otherwise.

◆ OnKeyDown()

template<typename ItemType >
virtual FReply STreeView< ItemType >::OnKeyDown ( const FGeometry MyGeometry,
const FKeyEvent InKeyEvent 
)
inlineoverridevirtual

Called after a key is pressed when this widget has focus (this event bubbles if not handled)

Parameters
MyGeometryThe Geometry of the widget receiving the event
InKeyEventKey event
Returns
Returns whether the event was handled, along with other possible actions

Reimplemented from SListView< ItemType >.

◆ PopulateLinearizedItems()

template<typename ItemType >
bool STreeView< ItemType >::PopulateLinearizedItems ( TArrayView< const ItemType >  InItemsSource,
TArray< ItemType > &  InLinearizedItems,
TArray< FItemInfo > &  NewDenseItemInfos,
TBitArray<>  NeedsParentWire,
TItemSet OutNewSelectedItems,
TSparseItemMap NewSparseItemInfo,
bool  bAddingItems,
int32  ParentIndex 
)
inline

Given: an array of items (ItemsSource) each of which potentially has a child. Task: populate the LinearizedItems array with a flattened version of the visible data items. In the process, remove any items that are not visible while maintaining any collapsed items that may have expanded children.

Parameters
ItemsSourceAn array of data items each of which may have 0 or more children.
LinearizedItemsArray to populate with items based on expanded/collapsed state.
NewDenseItemInfosArray representing how nested each item in the Linearized items is, and whether it has children.
TreeLevelThe current level of indentation.
OutNewSelectedItemsSelected items minus any items that are no longer observed by the list.
NewSparseItemInfoExpanded items and items that have expanded children minus any items that are no longer observed by the list.
bAddingItemsAre we adding encountered items to the linearized items list or just testing them for existence.
ParentIndexThe index in the resulting linearized item list of the parent node for the currently processed level.
Returns
true if we encountered expanded children; false otherwise.

◆ PopulatePinnedItems()

template<typename ItemType >
int32 STreeView< ItemType >::PopulatePinnedItems ( const TArray< ItemType > &  InItemsSource,
TArray< ItemType > &  InPinnedItems,
const STableViewBase::FReGenerateResults Results 
)
inline

◆ Private_SignalSelectionChanged()

template<typename ItemType >
virtual void STreeView< ItemType >::Private_SignalSelectionChanged ( ESelectInfo::Type  SelectInfo)
inlineoverridevirtual

Notify the ItemsWidget that we changed its selection. Triggers as OnSelectionChanged().

Parameters
SelectInfoProvides context on how the selection changed

Reimplemented from SListView< ItemType >.

◆ RebuildList()

template<typename ItemType >
virtual void STreeView< ItemType >::RebuildList ( )
inlineoverridevirtual

Completely wipe existing widgets and fully regenerate them on next tick.

Reimplemented from SListView< ItemType >.

◆ ReGenerateItems()

template<typename ItemType >
virtual STableViewBase::FReGenerateResults STreeView< ItemType >::ReGenerateItems ( const FGeometry MyGeometry)
inlineoverridevirtual

Update generate Widgets for Items as needed and clean up any Widgets that are no longer needed. Re-arrange the visible widget order as necessary.

Reimplemented from SListView< ItemType >.

◆ RequestListRefresh()

template<typename ItemType >
virtual void STreeView< ItemType >::RequestListRefresh ( )
inlineoverridevirtual

Queue up a regeneration of the linearized items on the next tick.

Reimplemented from STableViewBase.

◆ RequestTreeRefresh()

template<typename ItemType >
void STreeView< ItemType >::RequestTreeRefresh ( )
inline

◆ SetItemExpansion()

template<typename ItemType >
void STreeView< ItemType >::SetItemExpansion ( const ItemType &  InItem,
bool  InShouldExpandItem 
)
inline

Set whether some data item is expanded or not.

Parameters
InItemThe item whose expansion state to control.
InExpandItemIf true the item should be expanded; otherwise collapsed.

◆ SetItemsSource() [1/3]

template<typename ItemType >
void STreeView< ItemType >::SetItemsSource ( const TArray< ItemType > *  InListItemsSource)
inline

◆ SetItemsSource() [2/3]

template<typename ItemType >
void STreeView< ItemType >::SetItemsSource ( TSharedRef<::UE::Slate::Containers::TObservableArray< ItemType > >  InListItemsSource)
inline

◆ SetItemsSource() [3/3]

template<typename ItemType >
void STreeView< ItemType >::SetItemsSource ( TUniquePtr< UE::Slate::ItemsSource::IItemsSource< ItemType > >  Provider)
inline

◆ SetRootItemsSource() [1/3]

template<typename ItemType >
void STreeView< ItemType >::SetRootItemsSource ( const TArray< ItemType > *  InItemsSource)
inline

Set the Root items. The tree will generate widgets to represent these items.

Parameters
InItemsSourceA pointer to the array of items that should be observed by this TreeView.

◆ SetRootItemsSource() [2/3]

template<typename ItemType >
void STreeView< ItemType >::SetRootItemsSource ( TSharedRef< UE::Slate::Containers::TObservableArray< ItemType > >  InItemsSource)
inline

Set the RootItemsSource. The tree will generate widgets to represent these items.

Parameters
InItemsSourceA pointer to the array of items that should be observed by this TreeView.

◆ SetRootItemsSource() [3/3]

template<typename ItemType >
void STreeView< ItemType >::SetRootItemsSource ( TUniquePtr< UE::Slate::ItemsSource::IItemsSource< ItemType > >  Provider)
inline

Establishes a new list of root items being observed by the list. Wipes all existing state and requests and will fully rebuild on the next tick.

◆ SetSingleExpandedItem()

template<typename ItemType >
void STreeView< ItemType >::SetSingleExpandedItem ( const ItemType &  InItem)
inline

Collapse all the items in the tree and expand InItem

◆ SetStyle()

template<typename ItemType >
void STreeView< ItemType >::SetStyle ( const FTableViewStyle InStyle)
inline

◆ SetTreeItemsSource()

template<typename ItemType >
void STreeView< ItemType >::SetTreeItemsSource ( const TArray< ItemType > *  InItemsSource)
inline

Set the TreeItemsSource. The Tree will generate widgets to represent these items.

Parameters
InItemsSourceA pointer to the array of items that should be observed by this TreeView.

◆ SLATE_ARGUMENT() [1/7]

template<typename ItemType >
STreeView< ItemType >::SLATE_ARGUMENT ( bool  ,
AllowInvisibleItemSelection   
)

◆ SLATE_ARGUMENT() [2/7]

template<typename ItemType >
STreeView< ItemType >::SLATE_ARGUMENT ( bool  ,
HandleDirectionalNavigation   
)

◆ SLATE_ARGUMENT() [3/7]

template<typename ItemType >
STreeView< ItemType >::SLATE_ARGUMENT ( bool  ,
HandleGamepadEvents   
)

◆ SLATE_ARGUMENT() [4/7]

template<typename ItemType >
STreeView< ItemType >::SLATE_ARGUMENT ( bool  ,
HighlightParentNodesForSelection   
)

◆ SLATE_ARGUMENT() [5/7]

template<typename ItemType >
STreeView< ItemType >::SLATE_ARGUMENT ( EAllowOverscroll  ,
AllowOverscroll   
)

◆ SLATE_ARGUMENT() [6/7]

template<typename ItemType >
STreeView< ItemType >::SLATE_ARGUMENT ( EConsumeMouseWheel  ,
ConsumeMouseWheel   
)

◆ SLATE_ARGUMENT() [7/7]

template<typename ItemType >
STreeView< ItemType >::SLATE_ARGUMENT ( float  ,
WheelScrollMultiplier   
)

◆ SLATE_ATTRIBUTE()

template<typename ItemType >
STreeView< ItemType >::SLATE_ATTRIBUTE ( int32  ,
MaxPinnedItems   
)

◆ SLATE_BEGIN_ARGS()

template<typename ItemType >
STreeView< ItemType >::SLATE_BEGIN_ARGS ( STreeView< ItemType >  )
inline

◆ SLATE_EVENT()

template<typename ItemType >
STreeView< ItemType >::SLATE_EVENT ( FOnTableViewBadState  ,
OnEnteredBadState   
)

Assign this to get more diagnostics from the list view.

◆ SLATE_STYLE_ARGUMENT()

template<typename ItemType >
STreeView< ItemType >::SLATE_STYLE_ARGUMENT ( FScrollBarStyle  ,
ScrollBarStyle   
)

◆ Tick()

template<typename ItemType >
virtual void STreeView< ItemType >::Tick ( const FGeometry AllottedGeometry,
const double  InCurrentTime,
const float  InDeltaTime 
)
inlineoverridevirtual

See SWidget::Tick()

Parameters
AllottedGeometryThe space allotted for this widget.
InCurrentTimeCurrent absolute real time.
InDeltaTimeReal time passed since last tick.

Reimplemented from STableViewBase.

Member Data Documentation

◆ DenseItemInfos

template<typename ItemType >
TArray<FItemInfo> STreeView< ItemType >::DenseItemInfos
protected

Info needed by every item in the linearized version of the tree.

◆ LinearizedItems

template<typename ItemType >
TArray< ItemType > STreeView< ItemType >::LinearizedItems
protected

A linearized version of the items being observed by the tree view. Note that we inherit from a ListView, which we point at this linearized version of the tree.

◆ OnExpansionChanged

template<typename ItemType >
FOnExpansionChanged STreeView< ItemType >::OnExpansionChanged
protected

The delegate that is invoked whenever an item in the tree is expanded or collapsed.

◆ OnGetChildren

template<typename ItemType >
FOnGetChildren STreeView< ItemType >::OnGetChildren
protected

The delegate that is invoked whenever we need to gather an item's children.

◆ OnSetExpansionRecursive

template<typename ItemType >
FOnSetExpansionRecursive STreeView< ItemType >::OnSetExpansionRecursive
protected

The delegate that is invoked to recursively expand/collapse a tree items children.

◆ SparseItemInfos

template<typename ItemType >
TSparseItemMap STreeView< ItemType >::SparseItemInfos
protected

Info needed by a small fraction of tree items; some of these are not visible to the user.

◆ Style

template<typename ItemType >
const FTableViewStyle* STreeView< ItemType >::Style
protected

Style resource for the tree

◆ TreeItemsSource

template<typename ItemType >
const TArray<ItemType>* STreeView< ItemType >::TreeItemsSource
protected

A pointer to the items being observed by the tree view.


The documentation for this class was generated from the following files: