SSceneOutliner

Scene Outliner widget

Choose your operating system:

Windows

macOS

Linux

Inheritance Hierarchy

References

Module

SceneOutliner

Header

/Engine/Source/Editor/SceneOutliner/Public/SSceneOutliner.h

Include

#include "SSceneOutliner.h"

Syntax

class SSceneOutliner :
    public ISceneOutliner,
    public FEditorUndoClient,
    public FGCObject

Remarks

Scene Outliner widget

Constructors

Name Description

Public function

SSceneOutliner()

Default constructor - initializes data that is shared between all tree items

Destructors

Name Description

Public function Virtual

~SSceneOutliner()

SSceneOutliner destructor

Functions

Name Description

Public function

void

 

AddFolderToSelection

(
    const FName& FolderName
)

Add a folder to the selection of the scene outliner

Public function Const

void

 

AddMoveToFolderOutliner

(
    UToolMenu* Menu
)

Public function

void

 

AddToSelection

(
    const TArray< FSceneOutlinerTreeIte...,
    ESelectInfo::Type SelectInfo
)

Adds a set of items to the current selection

Public function

void

 

ClearSelection()

Deselect all selected items

Public function

void

 

CollapseAll()

Public function

void

 

Construct

(
    const FArguments& InArgs,
    const FSceneOutlinerInitializationO...
)

Construct this widget. Called by the SNew()Slate macro.

Public function

void

 

CopyFoldersBegin()

Called by copy and duplicate

Public function

void

 

CopyFoldersEnd()

Called by copy and duplicate

Public function

void

 

CopyFoldersToClipboard

(
    const TArray< FName >& InFolders,
    const FString& InPrevClipboardCont...
)

Copy specified folders to clipboard, keeping current clipboard contents if they differ from previous clipboard contents (meaning items were copied)

Public function Const

TSharedPtr< ...

 

CreateDragDropOperation

(
    const TArray< FSceneOutlinerTreeIte...
)

Create a drag drop operation

Public function

void

 

CreateFolder()

Create a new folder under the specified parent name (NAME_None for root)

Public function

FSceneOutlin...

 

CreateItemFor

(
    const TreeItemData& Data,
    TFunctionRef< void bForce
)

Test the filters using stack-allocated data to prevent unnecessary heap allocations.

Public function Virtual

void

 

CustomAddToToolbar

(
    TSharedPtr< class SHorizontalBox > ...
)

Hook to add custom options to toolbar in a derived class

Public function

void

 

DeleteFoldersBegin()

Called by cut and delete

Public function

void

 

DeleteFoldersEnd()

Called by cut and delete

Public function

void

 

DuplicateFoldersHierarchy()

Duplicates current folder and all descendants

Public function

void

 

ExpandAll()

Public function Const

FString

 

ExportFolderList

(
    TArray< FName > InFolders
)

Construct folders export string to be used in clipboard

Public function Const

void

 

FillFoldersSubMenu

(
    UToolMenu* Menu
)

Public function Const

void

 

FillSelectionSubMenu

(
    UToolMenu* Menun
)

Public function Const

FSceneOutlin...

 

FindParent

(
    const ISceneOutlinerTreeItem& InIt...
)

Returns the parent tree item for a given item if it exists, nullptr otherwise.

Public function Const

TSharedRef< ...

 

GatherInvalidMoveToDestinations()

Public function Const

TArray< FNam...

 

GetClipboardPasteFolders()

Get an array of folders to paste

Public function Const

const TMap< ...

 

GetColumns()

Get the columns to be displayed in this outliner

Public function

SceneOutline...

 

GetDoubleClickEvent()

Event to react to a user double click on a item

Public function

TSharedPtr< ...

 

GetFilters()

Get the outliner filter collection

Public function Const

bool

 

GetIsReentrant()

Used to test if Outliner related selection changes have already been handled

Public function

SceneOutline...

 

GetOnItemSelectionChanged()

Allow the system that use the scene outliner to react when it's selection is changed

Public function Virtual Const

TArray< FSce...

 

GetSelectedItems()

Returns the list of currently selected tree items

Public function Virtual Const

FSceneOutlin...

 

GetSelection()

Returns the currently selected items.

Public function

FSceneOutlin...

 

GetTreeItem

(
    FSceneOutlinerTreeItemID,
    bool bIncludePending
)

Retrieve an ISceneOutlinerTreeItem by its ID if it exists in the tree

Public function Virtual Const

const TShare...

 

GetTreeView()

Public function Const

bool

 

HasSelectorFocus

(
    FSceneOutlinerTreeItemPtr Item
)

Public function Const

TArray< FNam...

 

ImportFolderList

(
    const FString& InStrBuffer
)

Construct array of folders to be created based on input clipboard string

Public function Const

bool

 

IsItemExpanded

(
    const FSceneOutlinerTreeItemPtr& I...
)

Public function Const

bool

 

IsTextFilterActive()

Public function

void

 

MoveSelectionTo

(
    const FFolder& NewParent
)

Moves the current selection to the specified folder path

Public function Const

FReply

 

OnDragOverItem

(
    const FDragDropEvent& Event,
    const ISceneOutlinerTreeItem& Item
)

Called when a payload is dragged over an item

Public function Const

void

 

OnDropPayload

(
    ISceneOutlinerTreeItem& DropTarget,
    const FSceneOutlinerDragDropPayload...,
    const FSceneOutlinerDragValidationI...
)

Called when a payload is dropped onto a target

Public function

void

 

OnItemAdded

(
    const FSceneOutlinerTreeItemID& It...,
    uint8 ActionMask
)

Instruct the outliner to perform an action on the specified item when it is created

Public function

void

 

OnItemLabelChanged

(
    FSceneOutlinerTreeItemPtr ChangedIt...
)

Handler for when a property changes on any item. Called by the mode

Public function

TSharedPtr< ...

 

OnOpenContextMenu()

Open a context menu for this scene outliner

Public function Const

bool

 

ParseDragDrop

(
    FSceneOutlinerDragDropPayload& Out...,
    const FDragDropOperation& Operatio...
)

Parse a drag drop operation into a payload

Public function Const

bool

 

PassesFilters

(
    const ISceneOutlinerTreeItem& Item
)

Public function Const

bool

 

PassesTextFilter

(
    const FSceneOutlinerTreeItemPtr& I...
)

Public function

void

 

PasteFoldersBegin

(
    TArray< FName > InFolders
)

Called by paste and duplicate

Public function

void

 

PasteFoldersEnd()

Paste folders end logic

Public function

void

 

RefreshSelection()

Public function

void

 

RemoveFolderFromSelection

(
    const FName& FolderName
)

Remove a folder from the selection of the scene outliner

Public function

void

 

RemoveFromSelection

(
    const TArray< FSceneOutlinerTreeIte...,
    ESelectInfo::Type SelectInfo
)

Remove a set of items from the current selection

Public function

void

 

ScrollItemIntoView

(
    const FSceneOutlinerTreeItemPtr& I...
)

Miscellaneous helper functions Scroll the specified item into view

Public function

void

 

SelectFoldersDescendants

(
    bool bSelectImmediateChildrenOnly
)

Called to select descendants of the currently selected folders

Public function

void

 

SetColumnVisibility

(
    FName ColumnId,
    bool bIsVisible
)

Public function

void

 

SetItemExpansion

(
    const FSceneOutlinerTreeItemPtr& I...,
    bool bIsExpanded
)

Public function

void

 

SetItemSelection

(
    const TArray< FSceneOutlinerTreeIte...,
    bool bSelected,
    ESelectInfo::Type SelectInfo
)

Set the selection status of a set of items in the scene outliner

Public function

void

 

SetItemSelection

(
    const FSceneOutlinerTreeItemPtr& I...,
    bool bSelected,
    ESelectInfo::Type SelectInfo
)

Set the selection status of a single item in the scene outliner

Public function

void

 

SetPendingRenameItem

(
    const FSceneOutlinerTreeItemPtr& I...
)

Sets the next item to rename

Public function Const

FSceneOutlin...

 

ValidateDrop

(
    const ISceneOutlinerTreeItem& Drop...,
    const FSceneOutlinerDragDropPayload...
)

Validate a drag drop operation on a drop target

Overridden from ISceneOutliner

Name Description

Public function Virtual

void

 

AddColumn

(
    FName ColumId,
    const FSceneOutlinerColumnInfo& Co...
)

Add or replace a column of the scene outliner

Public function Virtual

int32

 

AddFilter

(
    const TSharedRef< FSceneOutlinerFil...
)

Add a filter to the scene outliner

Public function Virtual

int32

 

AddInteractiveFilter

(
    const TSharedRef< FSceneOutlinerFil...
)

Add an interactive filter to the scene outliner

Public function Virtual

void

 

CacheIconForClass

(
    FName InClassName,
    const FSlateBrush* InSlateBrus...
)

Sets the cached icon for this class name

Public function Virtual Const

bool

 

CanExecuteRenameRequest

(
    const ISceneOutlinerTreeItem& Item...
)

Should the scene outliner accept a request to rename a object

Public function Virtual Const

bool

 

CanSupportDragAndDrop()

Can the scene outliner rows generated on drag event

Public function Virtual

bool

 

Copy_CanExecute()

Returns true if edit copy can be executed

Public function Virtual

bool

 

Cut_CanExecute()

Returns true if edit cut can be executed

Public function Virtual

bool

 

Delete_CanExecute()

Returns true if edit delete can be executed

Public function Virtual

void

 

FullRefresh()

Tells the scene outliner that it should do a full refresh, which will clear the entire tree and rebuild it from scratch.

Public function Virtual Const

const FSlate...

 

GetCachedIconForClass

(
    FName InClassName
)

Gets the cached icon for this class name

Public function Virtual Const

TArray< FNam...

 

GetColumnIds()

Return the name/Id of the columns of the scene outliner

Public function Virtual Const

EColumnSortM...

 

GetColumnSortMode

(
    const FName ColumnId
)

Return the sorting mode for the specified ColumnId

Public function Virtual

TSharedPtr< ...

 

GetFilterAtIndex

(
    int32 Index
)

Retrieve the filter at the specified index

Public function Virtual Const

int32

 

GetFilterCount()

Get number of filters applied to the scene outliner

Public function Virtual Const

TAttribute< ...

 

GetFilterHighlightText()

Public function Virtual Const

const FShare...

 

GetSharedData()

Public function Virtual Const

const STreeV...

 

GetTree()

Get a const reference to the actual tree hierarchy

Public function Virtual

bool

 

Paste_CanExecute()

Returns true if edit paste can be executed

Public function Virtual

void

 

PinItem

(
    const FSceneOutlinerTreeItemPtr& I...
)

Pins an item in the outliner.

Public function Virtual

void

 

PinSelectedItems()

Pin selected items

Public function Virtual

void

 

Refresh()

Sends a requests to the Scene Outliner to refresh itself the next chance it gets

Public function Virtual

void

 

RemoveColumn

(
    FName ColumId
)

Remove a column of the scene outliner

Public function Virtual

bool

 

RemoveFilter

(
    const TSharedRef< FSceneOutlinerFil...
)

Remove a filter from the scene outliner

Public function Virtual

bool

 

RemoveInteractiveFilter

(
    const TSharedRef< FSceneOutlinerFil...
)

Remove an interactive filter from the scene outliner

Public function Virtual

bool

 

Rename_CanExecute()

Returns true if edit rename can be executed

Public function Virtual

void

 

Rename_Execute()

Executes rename.

Public function Virtual

void

 

RequestSort()

Request that the tree be sorted at a convenient time

Public function Virtual

void

 

SetKeyboardFocus()

Set the keyboard focus to the outliner

Public function Virtual

void

 

SetSelection

(
    const TFunctionRef< bool...
)

Set the item selection of the outliner based on a selector function.

Public function Virtual

void

 

UnpinItem

(
    const FSceneOutlinerTreeItemPtr& I...
)

Unpins an item in the outliner.

Public function Virtual

void

 

UnpinSelectedItems()

Unpins selected items

Overridden from SWidget

Name Description

Public function Virtual

FReply

 

OnKeyDown

(
    const FGeometry& MyGeometry,
    const FKeyEvent& InKeyEvent
)

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

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 interface

Overridden from FEditorUndoClient

Name Description

Public function Virtual

void

 

PostRedo

(
    bool bSuccess
)

Signal that client should run any PostRedo code

Public function Virtual

void

 

PostUndo

(
    bool bSuccess
)

Signal that client should run any PostUndo code

Classes

Name

Description

Public struct

FArguments

Typedefs

Name

Description

FParentsExpansionState

Structure containing information relating to the expansion state of parent items in the tree