Navigation
API > API/Editor > API/Editor/SubobjectEditor
The base class viewer for subobject editing in Slate. This displays all subobjects of a given actor or blueprint. A subobject can be a native component on an actor or inherited components from a native or blueprint parent.
| Name | SSubobjectEditor |
| Type | class |
| Header File | /Engine/Source/Editor/SubobjectEditor/Public/SSubobjectEditor.h |
| Include Path | #include "SSubobjectEditor.h" |
Syntax
class SSubobjectEditor : public SCompoundWidget
Inheritance Hierarchy
- FSharedFromThisBase → TSharedFromThis → SWidget → SCompoundWidget → SSubobjectEditor
- FSlateControlledConstruction → SWidget → SCompoundWidget → SSubobjectEditor
Derived Classes
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
SSubobjectEditor() |
Do not allow public construction of this widget! | SSubobjectEditor.h |
Destructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual ~SSubobjectEditor() |
SSubobjectEditor.h |
Structs
Typedefs
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| FOnItemDoubleClicked | TBaseDelegate_OneParam< void, const FSubobjectEditorTreeNodePtrType > | SSubobjectEditor.h | |
| FOnSelectionUpdated | TBaseDelegate_OneParam< void, const TArray< FSubobjectEditorTreeNodePtrType > & > | SSubobjectEditor.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
TSharedPtr< SWidget > BuildSceneRootDropActionMenu
(
FSubobjectEditorTreeNodePtrType DroppedOntoNodePtr, |
Builds a context menu popup for dropping a child node onto the scene root node | SSubobjectEditor.h | |
virtual bool CanDeleteNodes() |
Removes existing selected component nodes from the SCS | SSubobjectEditor.h | |
virtual bool CanMakeNewRootOnDrag
(
UBlueprint* DraggedFromBlueprint |
SSubobjectEditor.h | ||
void ClearSelection() |
Clears the current selection | SSubobjectEditor.h | |
void DumpTree() |
Dumps out the tree view contents to the log (used to assist with debugging widget hierarchy issues) | SSubobjectEditor.h | |
FSubobjectEditorTreeNodePtrType FindSlateNodeForHandle
(
const FSubobjectDataHandle& Handle, |
Attempt to find an existing slate node that matches the given handle. | SSubobjectEditor.h | |
virtual FSubobjectEditorTreeNodePtrType FindSlateNodeForObject
(
const UObject* InObject, |
Attempt to find an existing slate node that matches the given handle. | SSubobjectEditor.h | |
FSubobjectEditorTreeNodePtrType FindSlateNodeForVariableName
(
FName InVariableName |
Attempt to find an existing slate node that has a given variable name. | SSubobjectEditor.h | |
UBlueprint * GetBlueprint() |
Provides access to the Blueprint context that's being edited | SSubobjectEditor.h | |
virtual FSlateColor GetColorTintForIcon
(
FSubobjectEditorTreeNodePtrType Node |
Get the tint color that any subobject editor icons should use. The default is the foreground color. | SSubobjectEditor.h | |
TSharedPtr< FUICommandList > GetCommandList() |
SSubobjectEditor.h | ||
TSharedPtr< SSubobjectEditorDragDropTree > GetDragDropTree() |
SSubobjectEditor.h | ||
int32 GetNumSelectedNodes() |
Returns the number of currently selected nodes in the tree | SSubobjectEditor.h | |
UObject * GetObjectContext() |
Pointer to the current object that is represented by the subobject editor | SSubobjectEditor.h | |
FSubobjectDataHandle GetObjectContextHandle() |
SubobjectHandle of the current object that is represented by the subobject editor | SSubobjectEditor.h | |
const TArray< FSubobjectEditorTreeNodePtrType > & GetRootNodes() |
Return an array of the current slate node hierarchy in the tree | SSubobjectEditor.h | |
virtual FSubobjectEditorTreeNodePtrType GetSceneRootNode() |
SSubobjectEditor.h | ||
TArray< FSubobjectDataHandle > GetSelectedHandles() |
Get the currently selected handles from the tree sorted in order from parent to child | SSubobjectEditor.h | |
void GetSelectedItemsForContextMenu
(
TArray< FComponentEventConstructionData >& OutSelectedItems |
Fills the supplied array with the currently selected objects | SSubobjectEditor.h | |
TArray< FSubobjectEditorTreeNodePtrType > GetSelectedNodes() |
Get the currently selected nodes from the tree sorted in order from parent to child | SSubobjectEditor.h | |
TSharedPtr< SWidget > GetToolButtonsBox() |
Return the button widgets that can add components or create/edit blueprints | SSubobjectEditor.h | |
const ISCSEditorUICustomization * GetUICustomization() |
Internally linked function to allow the tree widgets to access customization functions | SSubobjectEditor.h | |
bool IsComponentSelected
(
const UPrimitiveComponent* PrimComponent |
Returns true if the specified component is currently selected | SSubobjectEditor.h | |
virtual bool IsEditingAllowed() |
SSubobjectEditor.h | ||
void OnAttachToDropAction
(
FSubobjectEditorTreeNodePtrType DroppedOn, |
Drag/drop operations. | SSubobjectEditor.h | |
void OnAttachToDropAction
(
FSubobjectEditorTreeNodePtrType DroppedOn, |
SSubobjectEditor.h | ||
void OnDeleteNodes() |
SSubobjectEditor.h | ||
void OnDetachFromDropAction
(
const TArray< FSubobjectEditorTreeNodePtrType >& DroppedNodePtrs |
SSubobjectEditor.h | ||
void OnMakeNewRootDropAction
(
FSubobjectEditorTreeNodePtrType DroppedNodePtr |
SSubobjectEditor.h | ||
void PostDragDropAction
(
bool bRegenerateTreeNodes |
SSubobjectEditor.h | ||
void RefreshComponentTypesList() |
Refresh the type list presented by the add component button when clicked | SSubobjectEditor.h | |
void RefreshSelectionDetails() |
Forces the details panel to refresh on the same objects | SSubobjectEditor.h | |
void SelectNode
(
FSubobjectEditorTreeNodePtrType InNodeToSelect, |
Select the given tree node | SSubobjectEditor.h | |
void SelectNodeFromHandle
(
const FSubobjectDataHandle& InHandle, |
Select the given tree node if there is on that matches the given handle | SSubobjectEditor.h | |
void SelectRoot() |
Select the root of the tree | SSubobjectEditor.h | |
void SetSelectionOverride
(
UPrimitiveComponent* PrimComponent |
Assigns a selection override delegate to the specified component | SSubobjectEditor.h | |
void SetUICustomization
(
TSharedPtr< ISCSEditorUICustomization > InUICustomization |
Sets UI customizations of this SCSEditor. | SSubobjectEditor.h | |
FReply TryHandleAssetDragDropOperation
(
const FDragDropEvent& DragDropEvent |
Try to handle a drag-drop operation | SSubobjectEditor.h | |
void UpdateTree
(
bool bRegenerateTreeNodes |
Update the contents of the Subobject Tree based on the current context | SSubobjectEditor.h |
Protected
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FSubobjectDataHandle AddNewSubobject
(
const FSubobjectDataHandle& ParentHandle, |
Add a new subobject to the given parent via the subobject data subsystem | SSubobjectEditor.h | |
bool CanCopyNodes() |
SSubobjectEditor.h | ||
bool CanCutNodes() |
SSubobjectEditor.h | ||
bool CanDuplicateComponent() |
SSubobjectEditor.h | ||
virtual bool CanPasteNodes() |
Pastes previously copied node(s) | SSubobjectEditor.h | |
bool CanRenameComponent() |
Checks to see if renaming is allowed on the selected component | SSubobjectEditor.h | |
virtual bool ClearSelectionOnClick() |
If true, then the tree widget will clear selection on click. | SSubobjectEditor.h | |
virtual void ConstructTreeWidget() |
Constructs the slate drag/drop tree for this subobject editor | SSubobjectEditor.h | |
void CopySelectedNodes() |
SSubobjectEditor.h | ||
virtual void CreateCommandList() |
Creates a list of commands | SSubobjectEditor.h | |
TSharedPtr< SWidget > CreateContextMenu() |
Called to display context menu when right clicking on the widget | SSubobjectEditor.h | |
virtual FMenuBuilder CreateMenuBuilder() |
SSubobjectEditor.h | ||
void CutSelectedNodes() |
SSubobjectEditor.h | ||
void DepthFirstTraversal
(
const FSubobjectEditorTreeNodePtrType& InNodePtr, |
Recursively visits the given node + its children and invokes the given function for each. | SSubobjectEditor.h | |
void GetCollapsedNodes
(
const FSubobjectEditorTreeNodePtrType& InNodePtr, |
Returns the set of expandable nodes that are currently collapsed in the UI | SSubobjectEditor.h | |
virtual EVisibility GetComponentClassComboButtonVisibility() |
SSubobjectEditor.h | ||
EVisibility GetComponentsFilterBoxVisibility() |
SSubobjectEditor.h | ||
EVisibility GetComponentsTreeVisibility() |
SSubobjectEditor.h | ||
TSubclassOf< UActorComponent > GetComponentTypeFilterToApply() |
SSubobjectEditor.h | ||
virtual EVisibility GetEditBlueprintButtonVisibility() |
SSubobjectEditor.h | ||
FText GetFilterText() |
Callback for the action trees to get the filter text | SSubobjectEditor.h | |
virtual EVisibility GetPromoteToBlueprintButtonVisibility() |
SSubobjectEditor.h | ||
void HandleItemDoubleClicked
(
FSubobjectEditorTreeNodePtrType InItem |
Callback when a component item is double clicked. | SSubobjectEditor.h | |
TSharedRef< ITableRow > MakeTableRowWidget
(
FSubobjectEditorTreeNodePtrType InNodePtr, |
Widget Callbacks. | SSubobjectEditor.h | |
void OnDuplicateComponent() |
SSubobjectEditor.h | ||
void OnFilterTextChanged
(
const FText& InFilterText |
Recursively updates the filtered state for each component item | SSubobjectEditor.h | |
void OnFindReferences
(
bool bSearchAllBlueprints, |
SSubobjectEditor.h | ||
void OnGetChildrenForTree
(
FSubobjectEditorTreeNodePtrType InNodePtr, |
Used by tree control - get children for a specified subobject node | SSubobjectEditor.h | |
void OnItemScrolledIntoView
(
FSubobjectEditorTreeNodePtrType InItem, |
Callback when a component item is scrolled into view | SSubobjectEditor.h | |
virtual FReply OnKeyDown
(
const FGeometry& MyGeometry, |
SWidget interface | SSubobjectEditor.h | |
void OnOpenBlueprintEditor
(
bool bForceCodeEditing |
Opens the blueprint editor for the blueprint being viewed by the scseditor | SSubobjectEditor.h | |
void OnPostTick
(
float |
Called at the end of each frame. | SSubobjectEditor.h | |
FReply OnPromoteToBlueprintClicked() |
Called when the promote to blueprint button is clicked | SSubobjectEditor.h | |
void OnRenameComponent () |
SSubobjectEditor.h | ||
void OnRenameComponent
(
TUniquePtr< FScopedTransaction > InComponentCreateTransaction |
SSubobjectEditor.h | ||
void OnTreeSelectionChanged
(
FSubobjectEditorTreeNodePtrType InSelectedNodePtr, |
Called when selection in the tree changes | SSubobjectEditor.h | |
void PasteNodes() |
SSubobjectEditor.h | ||
FSubobjectDataHandle PerformComboAddClass
(
TSubclassOf< UActorComponent > ComponentClass, |
Add a component from the selection in the combo box | SSubobjectEditor.h | |
void PopulateContextMenu
(
UToolMenu* InMenu |
Populate context menu on the fly | SSubobjectEditor.h | |
void PopulateContextMenuImpl
(
UToolMenu* InMenu, |
Populate the context menu with implementation specific details | SSubobjectEditor.h | |
void PromoteToBlueprint() |
Converts the current actor instance to a blueprint | SSubobjectEditor.h | |
bool RefreshFilteredState
(
FSubobjectEditorTreeNodePtrType TreeNode, |
Compares the filter bar's text with the item's component name. | SSubobjectEditor.h | |
void RegisterContextMenu() |
Registers context menu by name for later access | SSubobjectEditor.h | |
virtual void RestoreSelectionState
(
TArray< FSubobjectEditorTreeNodePtrType >& SelectedTreeNodes, |
Restore the previous selection state when updating the tree | SSubobjectEditor.h | |
void SetItemExpansionRecursive
(
FSubobjectEditorTreeNodePtrType Model, |
Handler for recursively expanding/collapsing items | SSubobjectEditor.h | |
void SetNodeExpansionState
(
FSubobjectEditorTreeNodePtrType InNodeToChange, |
Set the expansion state of a node | SSubobjectEditor.h | |
virtual bool ShouldModifyBPOnAssetDrop() |
If true, then the blueprint should be modified on TryHandleAssetDragDropOperation | SSubobjectEditor.h | |
virtual bool ShowInlineSearchWithButtons() |
Indicates whether or not the search bar and inline buttons are visible. | SSubobjectEditor.h | |
UClass * SpawnCreateNewBPComponentWindow
(
TSubclassOf< UActorComponent > ComponentClass |
Spawns a new SWindow giving the user options for creating a new blueprint component class. | SSubobjectEditor.h | |
UClass * SpawnCreateNewCppComponentWindow
(
TSubclassOf< UActorComponent > ComponentClass |
Spawns a new SWindow giving the user options for creating a new C++ component class. | SSubobjectEditor.h | |
void UpdateSelectionFromNodes
(
const TArray< FSubobjectEditorTreeNodePtrType >& SelectedNodes |
Update any associated selection (e.g. details view) from the passed in nodes | SSubobjectEditor.h |
Static
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
static FSubobjectEditorTreeNodePtrType FindOrCreateSlateNodeForHandle
(
const FSubobjectDataHandle& Handle, |
Attempt to find an existing slate node that matches the given handle. | SSubobjectEditor.h | |
static bool ShouldClearFocusOnDuplicate
(
TSharedPtr< SWidget > InCurrentlyFocusedWidget |
Returns true if keyboard focus should be cleared in OnDuplicateComponent if the widget is currently focused | SSubobjectEditor.h |