Navigation
API > API/Editor > API/Editor/SequencerCore
Base class for a sequencer data model. This might wrap an underlying UObject, or be a purely logical construct for the sequencer UI.
WARNING: most of the casting and hierarchy related methods are not safe to call from a sub-class' constructor because they rely on shared-pointers to be available for `this_.
| Name | FViewModel |
| Type | class |
| Header File | /Engine/Source/Editor/SequencerCore/Public/MVVM/ViewModels/ViewModel.h |
| Include Path | #include "MVVM/ViewModels/ViewModel.h" |
Syntax
class FViewModel :
public UE::Sequencer::ICastable ,
public TSharedFromThis< FViewModel > ,
public UE::Sequencer::FDynamicExtensionContainer
Inheritance Hierarchy
- FDynamicExtensionContainer → FViewModel
- FSharedFromThisBase → TSharedFromThis → FViewModel
Derived Classes
FViewModel derived class hierarchy
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FViewModel
(
const FViewModel& |
MVVM/ViewModels/ViewModel.h | ||
FViewModel () |
Builds a new data model | MVVM/ViewModels/ViewModel.h |
Destructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual ~FViewModel() |
MVVM/ViewModels/ViewModel.h |
Typedefs
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| Implements | ::UE::Sequencer::TImplements< FDynamicExtensionContainer > | MVVM/ViewModels/ViewModel.h |
Variables
Public
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| AutoRegisterTypeTable | ::UE::Sequencer::ICastable::FAutoRegisterTypeTable | MVVM/ViewModels/ViewModel.h | ||
| ID | ::UE::Sequencer::TAutoRegisterViewModelTypeID< FViewModel > | MVVM/ViewModels/ViewModel.h |
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| ActiveIterationCount | int32 | Counter that is non-zero when this model is actively being iterated that enables detection of invalid move operations during iteration | MVVM/ViewModels/ViewModel.h | |
| bNeedsConstruction | uint8 | Flag to track whether this view model needs to be constructed | MVVM/ViewModels/ViewModel.h | |
| FirstChildListHead | FViewModelListHead * | List of children data models | MVVM/ViewModels/ViewModel.h | |
| FParentFirstChildIterator | friend | MVVM/ViewModels/ViewModel.h | ||
| FScopedViewModelListHead | friend | MVVM/ViewModels/ViewModel.h | ||
| FViewModelChildren | friend | MVVM/ViewModels/ViewModel.h | ||
| FViewModelHierarchyOperation | friend | MVVM/ViewModels/ViewModel.h | ||
| FViewModelIterationState | friend | MVVM/ViewModels/ViewModel.h | ||
| FViewModelListHead | friend | MVVM/ViewModels/ViewModel.h | ||
| FViewModelListIterator | friend | MVVM/ViewModels/ViewModel.h | ||
| FViewModelListLink | friend | MVVM/ViewModels/ViewModel.h | ||
| Link | FViewModelListLink | Link to siblings of this data model | MVVM/ViewModels/ViewModel.h | |
| ModelID | uint32 | Non-deterministic, non-persistent, serially increasing model ID unique to this instance | MVVM/ViewModels/ViewModel.h | |
| SharedData | TSharedPtr< FSharedViewModelData > | Data that is shared between all view-models in this hierarchy | MVVM/ViewModels/ViewModel.h | |
| WeakParent | TWeakPtr< FViewModel > | Parent of this data model | MVVM/ViewModels/ViewModel.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
T & AddDynamicExtension
(
const TViewModelTypeID< T >& TypeID, |
Adds a dynamic extension to this data model | MVVM/ViewModels/ViewModel.h | |
T & AddDynamicExtension
(
InArgTypes&&... Args |
Adds a dynamic extension to this data model | MVVM/ViewModels/ViewModel.h | |
TViewModelPtr< T > CastParent() |
Gets the parent data model | MVVM/ViewModels/ViewModel.h | |
TViewModelPtr< T > CastThisShared () |
Casts this data model to an extension, or to a child class implementation | MVVM/ViewModels/ViewModel.h | |
TViewModelPtr< const T > CastThisShared () |
Casts this data model to an extension, or to a child class implementation | MVVM/ViewModels/ViewModel.h | |
TSharedPtr< T > CastThisSharedChecked () |
Casts this data model to an extension, or to a child class implementation | MVVM/ViewModels/ViewModel.h | |
TSharedPtr< const T > CastThisSharedChecked () |
Casts this data model to an extension, or to a child class implementation | MVVM/ViewModels/ViewModel.h | |
void DiscardAllChildren() |
Unlinks the head of the children list | MVVM/ViewModels/ViewModel.h | |
TViewModelPtr< T > FindAncestorOfType
(
bool bIncludeThis |
Finds the first ancestor view model that implements the given type. | MVVM/ViewModels/ViewModel.h | |
FViewModelPtr FindAncestorOfType
(
FViewModelTypeID Type, |
Finds a parent data model of a given type among the ancestry of this data model. | MVVM/ViewModels/ViewModel.h | |
FViewModelPtr FindAncestorOfTypes
(
TArrayView< const FViewModelTypeID > Types, |
Finds a parent data model that supports all the given interface types among the ancestry of this data model. | MVVM/ViewModels/ViewModel.h | |
TOptional< FViewModelChildren > FindChildList
(
EViewModelListType InType |
Retrieve the first child list that matches the specified type (if any) | MVVM/ViewModels/ViewModel.h | |
FParentModelIterator GetAncestors
(
bool bIncludeThis |
Iterates over the ancestry of this data model. | MVVM/ViewModels/ViewModel.h | |
TParentModelIterator< T > GetAncestorsOfType
(
bool bIncludeThis |
Iterates over all ancestors of a given time along the ancestry of this data model. | MVVM/ViewModels/ViewModel.h | |
FViewModelChildren GetChildList
(
EViewModelListType InType |
Retrieve the first child list that matches the specified type. Asserts on failure. | MVVM/ViewModels/ViewModel.h | |
FViewModelListIterator GetChildren
(
EViewModelListType InFilter |
Gets an iterator for the data model's default children list | MVVM/ViewModels/ViewModel.h | |
TViewModelListIterator< T > GetChildrenOfType
(
EViewModelListType InFilter |
Gets children of a given type from the view-model's children lists, or the specified list | MVVM/ViewModels/ViewModel.h | |
FParentFirstChildIterator GetDescendants
(
bool bIncludeThis, |
Gets all children and their descendants in the hierarchy below this data model. | MVVM/ViewModels/ViewModel.h | |
void GetDescendantsOfType
(
FViewModelTypeID Type, |
Gets all children and descendants of a given type in the hierarchy below this data model. | MVVM/ViewModels/ViewModel.h | |
TParentFirstChildIterator< T > GetDescendantsOfType
(
bool bIncludeThis, |
Gets all children and descendants of a given type in the hierarchy below this data model. | MVVM/ViewModels/ViewModel.h | |
int32 GetHierarchicalDepth() |
Gets the hierarchical depth of this data model, i.e. the number of levels to the top-most parent. | MVVM/ViewModels/ViewModel.h | |
uint32 GetModelID() |
Get this model's unique, non-persistent and non-deterministic ID | MVVM/ViewModels/ViewModel.h | |
TSharedPtr< FViewModel > GetNextSibling() |
Gets the next sibling of this data model in the children list it belongs to | MVVM/ViewModels/ViewModel.h | |
FViewModelPtr GetParent() |
Gets the parent data model | MVVM/ViewModels/ViewModel.h | |
TSharedPtr< FViewModel > GetPreviousSibling() |
Gets the next sibling of this data model in the children list it belongs to | MVVM/ViewModels/ViewModel.h | |
FViewModelPtr GetRoot() |
Returns the root model of the hierarchy, i.e. the parent model that has no parent | MVVM/ViewModels/ViewModel.h | |
TSharedPtr< FSharedViewModelData > GetSharedData() |
MVVM/ViewModels/ViewModel.h | ||
bool HasChildren() |
Returns whether this model has any children in any of its child lists | MVVM/ViewModels/ViewModel.h | |
bool IsConstructed() |
MVVM/ViewModels/ViewModel.h | ||
void RemoveFromParent() |
Remove this model from its parent | MVVM/ViewModels/ViewModel.h | |
void SetSharedData
(
TSharedPtr< FSharedViewModelData > InSharedData |
MVVM/ViewModels/ViewModel.h |
Protected
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FViewModelChildren GetChildrenForList
(
FViewModelListHead* ListHead |
Retrieve the children for the specified child list head | MVVM/ViewModels/ViewModel.h | |
void RegisterChildList
(
FViewModelListHead* InChildren |
Chain a new children list to the existing children lists | MVVM/ViewModels/ViewModel.h | |
void SetSharedDataFromConstructor
(
TSharedPtr< FSharedViewModelData > InSharedData |
MVVM/ViewModels/ViewModel.h |
Static
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
static void RegisterTypeID() |
MVVM/ViewModels/ViewModel.h |
Operators
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FViewModel & operator=
(
const FViewModel& |
MVVM/ViewModels/ViewModel.h |