Navigation
API > API/Editor > API/Editor/SequencerCore
Scoped utility class for batching change notifications on a view model hierarchy This class works by keeping track of models that have been changed in some way, along with their previous sibling and parent pointers before any change was made.
With this information, when all FViewModelHierarchyOperation's have gone out of scope we can compare everything with its original pointers, and only dispatch change events in the case where they have actually changed. This enables reliable and accurate event processing in cases where large updates are made to a hierarchy with little or no meaningful change to the hierarchy.
Within any given hierarhcy of FViewModelHierarchyOperation scopes, there is guaranteed to be a maximum of one event triggered for each changed node. This is achieved by tracking which models have already been handled during the event processing.
| Name | FViewModelHierarchyOperation |
| Type | class |
| Header File | /Engine/Source/Editor/SequencerCore/Public/MVVM/ViewModels/ViewModelHierarchy.h |
| Include Path | #include "MVVM/ViewModels/ViewModelHierarchy.h" |
Syntax
class FViewModelHierarchyOperation
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FViewModelHierarchyOperation
(
const TSharedPtr< ViewModelType >& InAnyModel |
MVVM/ViewModels/ViewModelHierarchy.h | ||
FViewModelHierarchyOperation
(
const TSharedPtr< FSharedViewModelData >& InSharedData |
MVVM/ViewModels/ViewModelHierarchy.h |
Destructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
~FViewModelHierarchyOperation() |
MVVM/ViewModels/ViewModelHierarchy.h |
Structs
| Name | Remarks |
|---|---|
| FCachedHierarchicalPosition | |
| FOperationAccumulationBuffer |
Variables
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| AccumulationBuffer | TSharedPtr< FOperationAccumulationBuffer > | Accumulation buffer shared between all active FViewModelHierarchyOperations | MVVM/ViewModels/ViewModelHierarchy.h | |
| OldOperation | FViewModelHierarchyOperation * | Pointer to the most recently active operation before this one existed | MVVM/ViewModels/ViewModelHierarchy.h | |
| SharedData | TSharedPtr< FSharedViewModelData > | Shared data that contains the bound event handlers for any model | MVVM/ViewModels/ViewModelHierarchy.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void PreHierarchicalChange
(
const TSharedPtr< FViewModel >& InChangedNode |
Called before a change is made to the specified model's parent or previous sibling | MVVM/ViewModels/ViewModelHierarchy.h |