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
- FHierarchyCategoryViewModel
- FHierarchyItemViewModel
- FHierarchyRootViewModel
- FHierarchySectionViewModel
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 |
|---|---|
| FCanPerformActionResults |
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 |
|---|---|---|---|
UHierarchyElement * 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 | |
bool CanDelete() |
Returns true if deletable | DataHierarchyViewModelBase.h | |
| Should return true if an item should be draggable. | DataHierarchyViewModelBase.h | ||
FCanPerformActionResults CanDropOn
(
TSharedPtr< FHierarchyElementViewModel > DraggedItem, |
Returns true if the given item can be dropped on the given target area. | DataHierarchyViewModelBase.h | |
virtual bool 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
(
UHierarchyElement* Child |
DataHierarchyViewModelBase.h | ||
int32 FindIndexOfDataChild
(
UHierarchyElement* Child |
DataHierarchyViewModelBase.h | ||
int32 FindIndexOfDataChild
(
TSharedPtr< FHierarchyElementViewModel > Child |
DataHierarchyViewModelBase.h | ||
TSharedPtr< FHierarchyElementViewModel > FindViewModelForChild
(
FHierarchyElementIdentity ChildIdentity, |
DataHierarchyViewModelBase.h | ||
TSharedPtr< FHierarchyElementViewModel > FindViewModelForChild
(
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 | ||
virtual UObject * GetDataForEditing () |
The UObject we display in the details panel when this item is selected. | 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 | ||
FSimpleDelegate & GetOnRequestRename() |
DataHierarchyViewModelBase.h | ||
FOnSynced & GetOnSynced() |
DataHierarchyViewModelBase.h | ||
TWeakPtr< FHierarchyElementViewModel > GetParent() |
DataHierarchyViewModelBase.h | ||
virtual TArray< FString > GetSearchTerms() |
DataHierarchyViewModelBase.h | ||
const UHierarchySection * GetSection() |
Determines the section this item belongs to. | 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 FCanPerformActionResults 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 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 FReply OnDroppedOnRow
(
const FDragDropEvent& DragDropEvent, |
DataHierarchyViewModelBase.h | ||
void OnRowDragLeave
(
const FDragDropEvent& DragDropEvent |
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 bool CanDeleteInternal () |
Should return true if deletable. | DataHierarchyViewModelBase.h | |
virtual FCanPerformActionResults CanDragInternal () |
Should return true if draggable. | DataHierarchyViewModelBase.h | |
virtual FCanPerformActionResults CanDropOnInternal
(
TSharedPtr< FHierarchyElementViewModel >, |
Should return true if the given drag drop operation is allowed to succeed. | DataHierarchyViewModelBase.h | |
virtual bool CanRenameInternal() |
Should return true if renamable | DataHierarchyViewModelBase.h | |
virtual const UHierarchySection * GetSectionInternal () |
Can be overridden to support sections in the source list. | DataHierarchyViewModelBase.h | |
virtual void OnDroppedOnInternal
(
TSharedPtr< FHierarchyElementViewModel >, |
Override this to handle drop-on logic. | DataHierarchyViewModelBase.h | |
virtual void RenameInternal
(
FName NewName |
DataHierarchyViewModelBase.h |