Navigation
API > API/Editor > API/Editor/SubobjectEditor
Inheritance Hierarchy
- FSlateControlledConstruction
- TSharedFromThis
- SWidget
- SCompoundWidget
- SSubobjectEditor
- SSubobjectBlueprintEditor
- SSubobjectInstanceEditor
References
| Module | SubobjectEditor |
| Header | /Engine/Source/Editor/SubobjectEditor/Public/SSubobjectEditor.h |
| Include | #include "SSubobjectEditor.h" |
Syntax
class SSubobjectEditor : public SCompoundWidget
Remarks
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.
Variables
| Type | Name | Description | |
|---|---|---|---|
| TAttribute< bool > | AllowEditing | Attribute to indicate whether or not editing is allowed. | |
| bool | bAllowTreeUpdates | Controls whether or not to allow calls to UpdateTree() | |
| bool | bUpdatingSelection | Gate to prevent changing the selection while selection change is being broadcast. | |
| TSharedPtr< SHorizontalBox > | ButtonBox | The tools buttons box | |
| FSubobjectDataHandle | CachedRootHandle | The handle to the current root context. | |
| TSharedPtr< FUICommandList > | CommandList | Command list for handling actions in the editor. | |
| TSharedPtr< SComponentClassCombo > | ComponentClassCombo | The add component button / type selector | |
| TAttribute< TSubclassOf< UActorComponent > > | ComponentTypeFilter | Attribute to limit visible nodes to a particular component type when filtering the tree view. | |
| TUniquePtr< FScopedTransaction > | DeferredOngoingCreateTransaction | Scope the creation of a component which ends when the initial component 'name' is given/accepted by the user, which can be several frames after the component was actually created. | |
| FSubobjectDataHandle | DeferredRenameRequest | Name of a node that has been requested to be renamed | |
| TSharedPtr< SExtensionPanel > | ExtensionPanel | SCSEditor UI extension | |
| TSharedPtr< SSearchBox > | FilterBox | The filter box that handles filtering for the tree. | |
| TAttribute< bool > | HideComponentClassCombo | Attribute to indicate whether or not the "Add Component" button is visible. | |
| TAttribute< UObject * > | ObjectContext | Attribute that provides access to the Object context for which we are viewing/editing. | |
| FOnItemDoubleClicked | OnItemDoubleClicked | Delegate to invoke when an item in the tree is double clicked. | |
| FOnSelectionUpdated | OnSelectionUpdated | Delegate to invoke on selection update. | |
| FDelegateHandle | PostTickHandle | Used to unregister from the post tick event. | |
| TArray< FSubobjectEditorTreeNodePtrType > | RootNodes | Root set of tree that represents all subobjects for the current context | |
| TSharedPtr< SSubobjectEditorDragDropTree > | TreeWidget | Tree widget | |
| TSharedPtr< ISCSEditorUICustomization > | UICustomization | SCSEditor UI customizations |
Constructors
| Type | Name | Description | |
|---|---|---|---|
| Do not allow public construction of this widget! |
Destructors
| Type | Name | Description | |
|---|---|---|---|
Functions
| Type | Name | Description | |
|---|---|---|---|
| FSubobjectDataHandle | AddNewSubobject
(
const FSubobjectDataHandle& ParentHandle, |
Add a new subobject to the given parent via the subobject data subsystem | |
| TSharedPtr< SWidget > | BuildSceneRootDropActionMenu
(
FSubobjectEditorTreeNodePtrType DroppedOntoNodePtr, |
Builds a context menu popup for dropping a child node onto the scene root node | |
| bool | CanCopyNodes () |
||
| bool | CanCutNodes () |
||
| bool | Removes existing selected component nodes from the SCS | ||
| bool | |||
| bool | CanMakeNewRootOnDrag
(
UBlueprint* DraggedFromBlueprint |
||
| bool | Pastes previously copied node(s) | ||
| bool | Checks to see if renaming is allowed on the selected component | ||
| void | Clears the current selection | ||
| bool | If true, then the tree widget will clear selection on click. | ||
| void | Constructs the slate drag/drop tree for this subobject editor | ||
| void | |||
| void | Creates a list of commands | ||
| TSharedPtr< SWidget > | Called to display context menu when right clicking on the widget | ||
| FMenuBuilder | |||
| void | |||
| void | DepthFirstTraversal
(
const FSubobjectEditorTreeNodePtrType& InNodePtr, |
Recursively visits the given node + its children and invokes the given function for each. | |
| void | DumpTree () |
Dumps out the tree view contents to the log (used to assist with debugging widget hierarchy issues) | |
| FSubobjectEditorTreeNodePtrType | FindOrCreateSlateNodeForHandle
(
const FSubobjectDataHandle& Handle, |
Attempt to find an existing slate node that matches the given handle. | |
| FSubobjectEditorTreeNodePtrType | FindSlateNodeForHandle
(
const FSubobjectDataHandle& Handle, |
Attempt to find an existing slate node that matches the given handle. | |
| FSubobjectEditorTreeNodePtrType | FindSlateNodeForObject
(
const UObject* InObject, |
Attempt to find an existing slate node that matches the given handle. | |
| FSubobjectEditorTreeNodePtrType | FindSlateNodeForVariableName
(
FName InVariableName |
Attempt to find an existing slate node that has a given variable name. | |
| UBlueprint * | GetBlueprint () |
Provides access to the Blueprint context that's being edited | |
| void | GetCollapsedNodes
(
const FSubobjectEditorTreeNodePtrType& InNodePtr, |
Returns the set of expandable nodes that are currently collapsed in the UI | |
| FSlateColor | GetColorTintForIcon
(
FSubobjectEditorTreeNodePtrType Node |
Get the tint color that any subobject editor icons should use. The default is the foreground color. | |
| TSharedPtr< FUICommandList > | |||
| EVisibility | |||
| EVisibility | |||
| EVisibility | |||
| TSubclassOf< UActorComponent > | |||
| TSharedPtr< SSubobjectEditorDragDropTree > | |||
| EVisibility | |||
| FText | Callback for the action trees to get the filter text | ||
| int32 | Returns the number of currently selected nodes in the tree | ||
| UObject * | Pointer to the current object that is represented by the subobject editor | ||
| FSubobjectDataHandle | SubobjectHandle of the current object that is represented by the subobject editor | ||
| EVisibility | |||
| const TArray< FSubobjectEditorTreeNodePtrType > & | GetRootNodes () |
Return an array of the current slate node hierarchy in the tree | |
| FSubobjectEditorTreeNodePtrType | |||
| TArray< FSubobjectDataHandle > | Get the currently selected handles from the tree sorted in order from parent to child | ||
| void | GetSelectedItemsForContextMenu
(
TArray< FComponentEventConstructionData >& OutSelectedItems |
Fills the supplied array with the currently selected objects | |
| TArray< FSubobjectEditorTreeNodePtrType > | Get the currently selected nodes from the tree sorted in order from parent to child | ||
| TSharedPtr< SWidget > | Return the button widgets that can add components or create/edit blueprints | ||
| void | HandleItemDoubleClicked
(
FSubobjectEditorTreeNodePtrType InItem |
Callback when a component item is double clicked. | |
| bool | IsComponentSelected
(
const UPrimitiveComponent* PrimComponent |
Returns true if the specified component is currently selected | |
| bool | |||
| TSharedRef< ITableRow > | MakeTableRowWidget
(
FSubobjectEditorTreeNodePtrType InNodePtr, |
Widget Callbacks. | |
| void | OnAttachToDropAction
(
FSubobjectEditorTreeNodePtrType DroppedOn, |
Drag/drop operations. | |
| void | OnAttachToDropAction
(
FSubobjectEditorTreeNodePtrType DroppedOn, |
||
| void | |||
| void | OnDetachFromDropAction
(
const TArray< FSubobjectEditorTreeNodePtrType >& DroppedNodePtrs |
||
| void | |||
| void | OnFilterTextChanged
(
const FText& InFilterText |
Recursively updates the filtered state for each component item | |
| void | |||
| void | OnGetChildrenForTree
(
FSubobjectEditorTreeNodePtrType InNodePtr, |
Used by tree control - get children for a specified subobject node | |
| void | OnItemScrolledIntoView
(
FSubobjectEditorTreeNodePtrType InItem, |
Callback when a component item is scrolled into view | |
| void | OnMakeNewRootDropAction
(
FSubobjectEditorTreeNodePtrType DroppedNodePtr |
||
| void | OnOpenBlueprintEditor
(
bool bForceCodeEditing |
Opens the blueprint editor for the blueprint being viewed by the scseditor | |
| void | OnPostTick
(
float |
Called at the end of each frame. | |
| FReply | Called when the promote to blueprint button is clicked | ||
| void | |||
| void | OnRenameComponent
(
TUniquePtr< FScopedTransaction > InComponentCreateTransaction |
||
| void | OnTreeSelectionChanged
(
FSubobjectEditorTreeNodePtrType InSelectedNodePtr, |
Called when selection in the tree changes | |
| void | PasteNodes () |
||
| FSubobjectDataHandle | PerformComboAddClass
(
TSubclassOf< UActorComponent > ComponentClass, |
Add a component from the selection in the combo box | |
| void | PopulateContextMenu
(
UToolMenu* InMenu |
Populate context menu on the fly | |
| void | PopulateContextMenuImpl
(
UToolMenu* InMenu, |
Populate the context menu with implementation specific details | |
| void | PostDragDropAction
(
bool bRegenerateTreeNodes |
||
| void | Converts the current actor instance to a blueprint | ||
| void | Refresh the type list presented by the add component button when clicked | ||
| bool | RefreshFilteredState
(
FSubobjectEditorTreeNodePtrType TreeNode, |
Compares the filter bar's text with the item's component name. | |
| void | Forces the details panel to refresh on the same objects | ||
| void | Registers context menu by name for later access | ||
| void | RestoreSelectionState
(
TArray< FSubobjectEditorTreeNodePtrType >& SelectedTreeNodes, |
Restore the previous selection state when updating the tree | |
| void | SelectNode
(
FSubobjectEditorTreeNodePtrType InNodeToSelect, |
Select the given tree node | |
| void | SelectNodeFromHandle
(
const FSubobjectDataHandle& InHandle, |
Select the given tree node if there is on that matches the given handle | |
| void | SelectRoot () |
Select the root of the tree | |
| void | SetItemExpansionRecursive
(
FSubobjectEditorTreeNodePtrType Model, |
Handler for recursively expanding/collapsing items | |
| void | SetNodeExpansionState
(
FSubobjectEditorTreeNodePtrType InNodeToChange, |
Set the expansion state of a node | |
| void | SetSelectionOverride
(
UPrimitiveComponent* PrimComponent |
Assigns a selection override delegate to the specified component | |
| void | SetUICustomization
(
TSharedPtr< ISCSEditorUICustomization > InUICustomization |
Sets UI customizations of this SCSEditor. | |
| bool | If true, then the blueprint should be modified on TryHandleAssetDragDropOperation | ||
| bool | Indicates whether or not the search bar and inline buttons are visible. | ||
| UClass * | SpawnCreateNewBPComponentWindow
(
TSubclassOf< UActorComponent > ComponentClass |
Spawns a new SWindow giving the user options for creating a new blueprint component class. | |
| UClass * | SpawnCreateNewCppComponentWindow
(
TSubclassOf< UActorComponent > ComponentClass |
Spawns a new SWindow giving the user options for creating a new C++ component class. | |
| FReply | TryHandleAssetDragDropOperation
(
const FDragDropEvent& DragDropEvent |
Try to handle a drag-drop operation | |
| void | UpdateSelectionFromNodes
(
const TArray< FSubobjectEditorTreeNodePtrType >& SelectedNodes |
Update any associated selection (e.g. details view) from the passed in nodes | |
| void | UpdateTree
(
bool bRegenerateTreeNodes |
Update the contents of the Subobject Tree based on the current context |
Overridden from SWidget
Classes
Typedefs
| Name | Description |
|---|---|
| FOnItemDoubleClicked | |
| FOnSelectionUpdated |