Navigation
API > API/Editor > API/Editor/DataHierarchyEditor
The base view model for all elements in the hierarchy. There are four base view models inheriting from this; for roots, items, categories, and sections. When creating a new view model, you should inherit from one of those four base view models.
| Name | FHierarchyElementViewModel |
| Type | struct |
| Header File | /Engine/Source/Editor/DataHierarchyEditor/Public/DataHierarchyViewModelBase.h |
| Include Path | #include "DataHierarchyViewModelBase.h" |
Syntax
struct FHierarchyElementViewModel :
public TSharedFromThis< FHierarchyElementViewModel > ,
public FTickableEditorObject
Inheritance Hierarchy
- FSharedFromThisBase → TSharedFromThis → FHierarchyElementViewModel
- FTickableObjectBase → FTickableEditorObject → FHierarchyElementViewModel
Derived Classes
- FHierarchyItemViewModel
- FHierarchyRootViewModel
- FHierarchySectionViewModel
- FHierarchyCategoryViewModel
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FHierarchyElementViewModel
(
UHierarchyElement* InElement, |
DataHierarchyViewModelBase.h |
Destructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual ~FHierarchyElementViewModel() |
DataHierarchyViewModelBase.h |
Structs
| Name | Remarks |
|---|---|
| FDefaultUserFeedback | |
| FResultWithUserFeedback |
Typedefs
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| FOnChildRequestedDeletion | TBaseDelegate_OneParam< void, TSharedPtr< FHierarchyElementViewModel > Child > | DataHierarchyViewModelBase.h | |
| FOnFilterChild | TBaseDelegate_OneParam< bool, const TSharedPtr< const FHierarchyElementViewModel > Child > | DataHierarchyViewModelBase.h | |
| FOnSynced | TBaseDelegate_NoParams< void > | DataHierarchyViewModelBase.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
TSharedPtr< FHierarchyElementViewModel > AddChild
(
TSubclassOf< UHierarchyElement > NewChildClass, |
DataHierarchyViewModelBase.h | ||
void AddChildFilter
(
FOnFilterChild InFilterChild |
DataHierarchyViewModelBase.h | ||
virtual bool AllowEditingInDetailsPanel () |
Source items are transient, which is why we don't allow editing by default. | DataHierarchyViewModelBase.h | |
virtual void AppendDynamicContextMenuForSingleElement
(
UToolMenu* ToolMenu |
Override this to register dynamic context menu entries when right clicking a single hierarchy item | DataHierarchyViewModelBase.h | |
FResultWithUserFeedback CanContain
(
TSubclassOf< UHierarchyElement > HierarchyElementType |
Returns true if this element can add a new element via the add menu. | DataHierarchyViewModelBase.h | |
bool CanDelete() |
Returns true if deletable | DataHierarchyViewModelBase.h | |
| Should return true if an item should be draggable. | DataHierarchyViewModelBase.h | ||
FResultWithUserFeedback CanDropOn
(
TSharedPtr< FHierarchyElementViewModel > DraggedElement, |
Returns true if the given item can be dropped on the given target area. | DataHierarchyViewModelBase.h | |
virtual TOptional< FResultWithUserFeedback > CanDropOnOverride
(
TSharedPtr< FHierarchyElementViewModel > DraggedElement, |
Lets you completely customize the OnDroppedOn behavior. | DataHierarchyViewModelBase.h | |
virtual FResultWithUserFeedback CanHaveChildren() |
Needs to be true in order to allow drag & drop operations to parent items to this item | DataHierarchyViewModelBase.h | |
bool CanRename() |
Returns true if renamable | DataHierarchyViewModelBase.h | |
void Delete() |
Deleting will ask the parent to delete its child | DataHierarchyViewModelBase.h | |
void DeleteChild
(
TSharedPtr< FHierarchyElementViewModel > Child |
DataHierarchyViewModelBase.h | ||
virtual bool DoesExternalDataStillExist
(
const UHierarchyDataRefreshContext* Context |
This function determines whether a hierarchy item that represents that external data should be maintained during data refresh Needs to be implemented if RepresentsExternalData return true. | DataHierarchyViewModelBase.h | |
TSharedRef< FHierarchyElementViewModel > DuplicateToThis
(
TSharedPtr< FHierarchyElementViewModel > ItemToDuplicate, |
DataHierarchyViewModelBase.h | ||
int32 FindIndexOfChild
(
const UHierarchyElement* Child |
DataHierarchyViewModelBase.h | ||
int32 FindIndexOfDataChild
(
TSharedPtr< const FHierarchyElementViewModel > Child |
DataHierarchyViewModelBase.h | ||
int32 FindIndexOfDataChild
(
const UHierarchyElement* Child |
DataHierarchyViewModelBase.h | ||
TSharedPtr< FHierarchyElementViewModel > FindViewModelForChild
(
FHierarchyElementIdentity ChildIdentity, |
DataHierarchyViewModelBase.h | ||
TSharedPtr< FHierarchyElementViewModel > FindViewModelForChild
(
const UHierarchyElement* Child, |
DataHierarchyViewModelBase.h | ||
const TArray< TSharedPtr< FHierarchyElementViewModel > > & GetChildren() |
DataHierarchyViewModelBase.h | ||
TArray< TSharedPtr< FHierarchyElementViewModel > > & GetChildrenMutable() |
DataHierarchyViewModelBase.h | ||
void GetChildrenViewModelsForType
(
TArray< TSharedPtr< ViewModelClass > >& OutChildren, |
DataHierarchyViewModelBase.h | ||
void GetChildrenViewModelsForType
(
TArray< TSharedPtr< ViewModelChildClass > >& OutChildren, |
DataHierarchyViewModelBase.h | ||
const T * GetData () |
DataHierarchyViewModelBase.h | ||
const UHierarchyElement * GetData () |
DataHierarchyViewModelBase.h | ||
| DataHierarchyViewModelBase.h | |||
T * GetDataMutable () |
DataHierarchyViewModelBase.h | ||
const TArray< TSharedPtr< FHierarchyElementViewModel > > & GetFilteredChildren() |
DataHierarchyViewModelBase.h | ||
int32 GetHierarchyDepth() |
Returns the hierarchy depth via number of parents above. | DataHierarchyViewModelBase.h | |
TWeakObjectPtr< UDataHierarchyViewModelBase > GetHierarchyViewModel() |
DataHierarchyViewModelBase.h | ||
virtual UObject * GetObjectForEditing () |
The UObject we display in the details panel when this item is selected. | DataHierarchyViewModelBase.h | |
FSimpleDelegate & GetOnRequestRename() |
DataHierarchyViewModelBase.h | ||
FOnSynced & GetOnSynced() |
DataHierarchyViewModelBase.h | ||
TWeakPtr< FHierarchyElementViewModel > GetParent() |
Returns the parent view model of the hierarchical parent | DataHierarchyViewModelBase.h | |
virtual const FTableRowStyle * GetRowStyle() |
DataHierarchyViewModelBase.h | ||
| DataHierarchyViewModelBase.h | |||
virtual TStatId GetStatId() |
DataHierarchyViewModelBase.h | ||
bool HasParent
(
TSharedPtr< FHierarchyElementViewModel > ParentCandidate, |
DataHierarchyViewModelBase.h | ||
virtual void Initialize() |
Can be implemented for additional logic that the constructor isn't valid for. | DataHierarchyViewModelBase.h | |
virtual FResultWithUserFeedback IsEditableByUser() |
Should return true if properties are supposed to be editable & needs to be true if typical operations should work on it (renaming, dragging, deleting etc.) | DataHierarchyViewModelBase.h | |
bool IsExpandedByDefault() |
DataHierarchyViewModelBase.h | ||
bool IsForHierarchy() |
DataHierarchyViewModelBase.h | ||
TOptional< EItemDropZone > OnCanRowAcceptDrop
(
const FDragDropEvent& DragDropEvent, |
Returns a set result if the item can accept a drop either above/onto/below the item. | DataHierarchyViewModelBase.h | |
FOnChildRequestedDeletion & OnChildRequestedDeletion() |
DataHierarchyViewModelBase.h | ||
FReply OnDragDetected
(
const FGeometry& Geometry, |
DataHierarchyViewModelBase.h | ||
void OnDroppedOn
(
TSharedPtr< FHierarchyElementViewModel > DroppedItem, |
Gets executed when an item was dropped on this. | DataHierarchyViewModelBase.h | |
virtual TOptional< bool > OnDroppedOnOverride
(
TSharedPtr< FHierarchyElementViewModel > DroppedElement, |
DataHierarchyViewModelBase.h | ||
virtual FReply OnDroppedOnRow
(
const FDragDropEvent& DragDropEvent, |
DataHierarchyViewModelBase.h | ||
void OnRowDragLeave
(
const FDragDropEvent& DragDropEvent |
DataHierarchyViewModelBase.h | ||
virtual void PostEditChange
(
const FPropertyChangedEvent& PropertyChangedEvent, |
Called when a property on the underlying data changes. | DataHierarchyViewModelBase.h | |
void RefreshChildrenData() |
DataHierarchyViewModelBase.h | ||
void Rename
(
FName NewName |
DataHierarchyViewModelBase.h | ||
TSharedRef< FHierarchyElementViewModel > ReparentToThis
(
TSharedPtr< FHierarchyElementViewModel > ItemToMove, |
DataHierarchyViewModelBase.h | ||
virtual bool RepresentsExternalData() |
For data cleanup that represents external data, this needs to return true in order for live cleanup to work. | DataHierarchyViewModelBase.h | |
void RequestRename() |
DataHierarchyViewModelBase.h | ||
void RequestRenamePending() |
DataHierarchyViewModelBase.h | ||
virtual void SortChildrenData () |
Every item view model can define its own sort order for its children. | DataHierarchyViewModelBase.h | |
void SyncViewModelsToData() |
DataHierarchyViewModelBase.h | ||
virtual void Tick
(
float DeltaTime |
DataHierarchyViewModelBase.h | ||
virtual FString ToString() |
DataHierarchyViewModelBase.h | ||
FText ToStringAsText() |
DataHierarchyViewModelBase.h |
Protected
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void PostAddFixup() |
Override this to handle post-add logic (for example when dropping an element on another element, or using the add button). | DataHierarchyViewModelBase.h | |
virtual void PostOnDroppedOn
(
TSharedPtr< FHierarchyElementViewModel > DroppedElementViewModel |
Called after an element was dropped onto the calling element. | DataHierarchyViewModelBase.h |