Navigation
API > API/Editor > API/Editor/CurveEditor
Complete implementation of a curve editor tree. Only really defines the hierarchy and selection states for tree items.
| Name | FCurveEditorTree |
| Type | class |
| Header File | /Engine/Source/Editor/CurveEditor/Public/Tree/CurveEditorTree.h |
| Include Path | #include "Tree/CurveEditorTree.h" |
Syntax
class FCurveEditorTree
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FCurveEditorTree() |
Tree/CurveEditorTree.h |
Typedefs
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| FTreeItemSortPredicate | TBaseDelegate_TwoParams< bool, const ICurveEditorTreeItem *, const ICurveEditorTreeItem * > | Defines a predicate for sorting curve editor tree item implementations. | Tree/CurveEditorTree.h |
Variables
Public
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| Events | FCurveEditorTreeEvents | Structure containing all the events for this tree | Tree/CurveEditorTree.h |
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| bIsDoingDirectSelection | bool | Whether or not we are are doign a direct selection, could be used to see why a curve model is being created or destroyed, by direct selection or by sequencer filtering? | Tree/CurveEditorTree.h | |
| CachedExpandedItems | TSet< int32 > | Set of cached expanded items, based on GetTypedHash(FString) | Tree/CurveEditorTree.h | |
| ChildItemIDs | TMap< FCurveEditorTreeItemID, FSortedCurveEditorTreeItems > | Tree/CurveEditorTree.h | ||
| FilterStates | FCurveEditorFilterStates | Filter state map. Items with no implicit or explicit filter state are not present | Tree/CurveEditorTree.h | |
| Items | TMap< FCurveEditorTreeItemID, FCurveEditorTreeItem > | Map of all tree items by their ID | Tree/CurveEditorTree.h | |
| NextTreeItemID | FCurveEditorTreeItemID | Incrementing ID for the next tree item to be created | Tree/CurveEditorTree.h | |
| RootItems | FSortedCurveEditorTreeItems | Hierarchical information for the tree | Tree/CurveEditorTree.h | |
| Selection | TMap< FCurveEditorTreeItemID, ECurveEditorTreeSelectionState > | Selection state map. Items with no implicit or explicit selection are not present | Tree/CurveEditorTree.h | |
| SortPredicate | FTreeItemSortPredicate | A predicate which will be used to sort tree items after they're been marked as needing sort. | Tree/CurveEditorTree.h | |
| ToggleExpansionStateDelegate | FOnCurveEditorToggleExpansionState | Delegate for when toggle expansion state is invoked | Tree/CurveEditorTree.h | |
| WeakFilters | TArray< TWeakPtr< FCurveEditorTreeFilter > > | Array of all filters that are currently active on this tree | Tree/CurveEditorTree.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void AddFilter
(
TWeakPtr< FCurveEditorTreeFilter > NewFilter |
Add a new filter to this tree. | Tree/CurveEditorTree.h | |
FCurveEditorTreeItem * AddItem
(
FCurveEditorTreeItemID ParentID |
Add a new empty item to the tree | Tree/CurveEditorTree.h | |
void ClearFilters() |
Clear all filters from the tree | Tree/CurveEditorTree.h | |
void Compact() |
Compact the memory used by this tree (does not modify any meaningful state) | Tree/CurveEditorTree.h | |
const FCurveEditorTreeFilter * FindFilterByType
(
ECurveEditorTreeFilterType Type |
Attempt to locate a filter by its type | Tree/CurveEditorTree.h | |
const FCurveEditorTreeItem * FindItem
(
FCurveEditorTreeItemID ItemID |
Retrieve an item from its ID or nullptr if the ID is not valid | Tree/CurveEditorTree.h | |
FCurveEditorTreeItem * FindItem
(
FCurveEditorTreeItemID ItemID |
Retrieve an item from its ID or nullptr if the ID is not valid | Tree/CurveEditorTree.h | |
const TMap< FCurveEditorTreeItemID, FCurveEditorTreeItem > & GetAllItems() |
Retrieve all the items stored in this tree irrespective of filter state | Tree/CurveEditorTree.h | |
TArray< FCurveEditorTreeItemID > GetCachedExpandedItems() |
Get cached expanded items | Tree/CurveEditorTree.h | |
TArrayView< const TWeakPtr< FCurveEditorTreeFilter > > GetFilters() |
Direct access to all current filters (potentially including expired ones) | Tree/CurveEditorTree.h | |
ECurveEditorTreeFilterState GetFilterState
(
FCurveEditorTreeItemID InTreeItemID |
Check a specific tree item's filter state | Tree/CurveEditorTree.h | |
const FCurveEditorFilterStates & GetFilterStates () |
Access the filter state for this tree. | Tree/CurveEditorTree.h | |
const FCurveEditorTreeItem & GetItem
(
FCurveEditorTreeItemID ItemID |
Retrieve an item from its ID, assuming it is definitely valid | Tree/CurveEditorTree.h | |
FCurveEditorTreeItem & GetItem
(
FCurveEditorTreeItemID ItemID |
Retrieve an item from its ID, assuming it is definitely valid | Tree/CurveEditorTree.h | |
const TArray< FCurveEditorTreeItemID > & GetRootItems() |
Retrieve this curve editor's root items irrespective of filter state | Tree/CurveEditorTree.h | |
const TMap< FCurveEditorTreeItemID, ECurveEditorTreeSelectionState > & GetSelection () |
Access the selection state for this tree. | Tree/CurveEditorTree.h | |
ECurveEditorTreeSelectionState GetSelectionState
(
FCurveEditorTreeItemID InTreeItemID |
Check a specific tree item's selection state | Tree/CurveEditorTree.h | |
FOnCurveEditorToggleExpansionState & GetToggleExpansionState() |
Tree/CurveEditorTree.h | ||
bool IsDoingDirectSelection() |
Whether or not we are are doign a direct selection, could be used to see why a curve model is being created or destroyed, by direct selection or by sequencer filtering? | Tree/CurveEditorTree.h | |
void RecreateModelsFromExistingSelection
(
FCurveEditor* CurveEditor |
Recreate the curve models from the existing selection, this may be needed in case of a setting change. | Tree/CurveEditorTree.h | |
void RemoveFilter
(
TWeakPtr< FCurveEditorTreeFilter > FilterToRemove |
Remove an existing filter from this tree. | Tree/CurveEditorTree.h | |
void RemoveFromSelection
(
TArrayView< const FCurveEditorTreeItemID > TreeItems, |
Removes tree items from the current selection. | Tree/CurveEditorTree.h | |
void RemoveItem
(
FCurveEditorTreeItemID ItemID, |
Remove an item and all its children from this tree, destroying any curves it may have created. | Tree/CurveEditorTree.h | |
void RunFilters() |
Run all the filters on this tree, updating filter state for all tree items | Tree/CurveEditorTree.h | |
FScopedCurveEditorTreeEventGuard ScopedEventGuard() |
Retrieve a scoped event guard that will block broadcast of events until the last guard on the stack goes out of scope Can be used to defer broadcasts in situations where many changes are made to the tree at a time. | Tree/CurveEditorTree.h | |
void SetDirectSelection
(
TArray< FCurveEditorTreeItemID >&& TreeItems, |
Inform this tree that the specified tree item IDs have been directly selected on the UI. | Tree/CurveEditorTree.h | |
void SetItemExpansion
(
FCurveEditorTreeItemID InTreeItemID, |
Set Item expansion state | Tree/CurveEditorTree.h | |
void SetSortPredicate
(
FTreeItemSortPredicate InSortPredicate |
Sets a predicate which will be used to sort tree items after they're been marked as needing sort. | Tree/CurveEditorTree.h | |
void SortTreeItems () |
Sorts all tree items which have been marked for sorting if the sort predicate has been set. | Tree/CurveEditorTree.h | |
void ToggleExpansionState
(
bool bRecursive |
Toggle the expansion state of the selected nodes or all nodes if none selected | Tree/CurveEditorTree.h |