Navigation
API > API/Developer > API/Developer/TreeMap
Graphical tree map widget with interactive controls
| Name | STreeMap |
| Type | class |
| Header File | /Engine/Source/Developer/TreeMap/Public/STreeMap.h |
| Include Path | #include "STreeMap.h" |
Syntax
class STreeMap : public SLeafWidget
Inheritance Hierarchy
- FSharedFromThisBase → TSharedFromThis → SWidget → SLeafWidget → STreeMap
- FSlateControlledConstruction → SWidget → SLeafWidget → STreeMap
Structs
| Name | Remarks |
|---|---|
| FArguments |
Typedefs
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| FOnTreeMapNodeInteracted | TBaseDelegate_TwoParams< void, FTreeMapNodeData &, const FPointerEvent & > | Delegate used when clicking or interacting with a specific node | STreeMap.h |
Variables
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| ActiveRootTreeMapNode | FTreeMapNodeDataPtr | Current root of the tree that we're visualizing. | STreeMap.h | |
| AllowEditing | TAttribute< bool > | Live editing True if we should allow real-time editing right now. | STreeMap.h | |
| BackgroundImage | TAttribute< const FSlateBrush * > | Widget layout Background image to use for the tree map canvas area | STreeMap.h | |
| bIsNamingNewNode | bool | True if the node we're renaming is a newly-created node that should be added to the tree after we finish naming it | STreeMap.h | |
| BorderPadding | TAttribute< FVector2D > | Border Padding | STreeMap.h | |
| CachedNodeVisuals | TArray< struct FTreeMapNodeVisualInfo > | Cached set of visuals for the tree map the last time it was generated | STreeMap.h | |
| CenterTextFont | TAttribute< FSlateFontInfo > | Font for any text that's centered inside the middle of the node. | STreeMap.h | |
| ChildContainerTextPadding | float | How many pixels to pad text that's drawn inside of a container (not the top-level container, though) | STreeMap.h | |
| ColorNodesByAttribute | FTreeMapAttributePtr | Which attribute to visualize the color of the nodes based on, or null for automatic colors | STreeMap.h | |
| ContainerInnerPadding | float | How many pixels of spacing between the container and its child containers. | STreeMap.h | |
| CurrentUndoLevel | int32 | Current undo level, or INDEX_NONE if we haven't undone anything | STreeMap.h | |
| Customization | TSharedPtr< class ITreeMapCustomization > | Customization for this tree map | STreeMap.h | |
| DraggingVisual | FTreeMapNodeVisualInfo * | Node that we're currently dragging around. | STreeMap.h | |
| DragVisualDistance | float | Distance we've LMB+dragged the cursor. | STreeMap.h | |
| HighlightPulseNode | TWeakPtr< FTreeMapNodeData > | Node that we're currently drawing a highlight pulse effect for. | STreeMap.h | |
| HighlightPulseStartTime | double | Time that we started playing a highlight pulse effect for the HighlightPulseNode | STreeMap.h | |
| HoveredNodeBackground | TAttribute< const FSlateBrush * > | Background to use for nodes that the mouse is hovering over | STreeMap.h | |
| LastCachedNodeVisuals | TArray< struct FTreeMapNodeVisualInfo > | Cached node visuals for last tree map | STreeMap.h | |
| LastTreeMap | TSharedPtr< class ITreeMap > | The previous tree map for the last view we were looking at | STreeMap.h | |
| MinimumInteractiveTreeNodeSize | int32 | TreeMap visuals Minimum size of node that can be interacted with, if small you need to drill down into parent first | STreeMap.h | |
| MinimumVisibleTreeNodeSize | int32 | Minimum size in pixels of a tree node that we should bother including in the UI. | STreeMap.h | |
| MouseOverVisual | FTreeMapNodeVisualInfo * | Navigation The visual that the mouse was over last | STreeMap.h | |
| Name2Font | TAttribute< FSlateFontInfo > | Font for second line of text, under the title. | STreeMap.h | |
| NameFont | TAttribute< FSlateFontInfo > | The font name used to draw the text | STreeMap.h | |
| NavigateAnimationCurve | FCurveSequence | Time that tree view was changed last after navigation | STreeMap.h | |
| NestedContainerOuterPadding | float | How many pixels of padding around the outside of a non-root tree node's box. | STreeMap.h | |
| NodeBackground | TAttribute< const FSlateBrush * > | Background to use for each tree node | STreeMap.h | |
| NodeVisualIndicesToLastIndices | TMap< int32, int32 > | Maps node visual indices to their last node visual indices. This is used for navigation transitions | STreeMap.h | |
| OnTreeMapNodeDoubleClicked | FOnTreeMapNodeInteracted | Optional delegate that fires when the node is double-clicked in the tree. | STreeMap.h | |
| OnTreeMapNodeRightClicked | FOnTreeMapNodeInteracted | Right click event | STreeMap.h | |
| OrphanedLastIndices | TArray< int32 > | List of node visual indices which no longer map to a node in the current layout. | STreeMap.h | |
| RelativeDragStartMouseCursorPos | FVector2D | Position of the mouse cursor relative to the widget, where the user picked up a dragged visual | STreeMap.h | |
| RelativeMouseCursorPos | FVector2D | Position of the mouse cursor relative to the widget, the last time it moved. | STreeMap.h | |
| RenamingNodeData | TWeakPtr< FTreeMapNodeData > | Weak pointer to the node that we're currently renaming, if any | STreeMap.h | |
| RenamingNodeWidget | TWeakPtr< SWidget > | Weak pointer to the widget used to rename a node inline. | STreeMap.h | |
| SizeNodesByAttribute | FTreeMapAttributePtr | Which attribute to visualize the size of the nodes based on, or null for default sizes | STreeMap.h | |
| TopLevelContainerOuterPadding | float | How many pixels of padding around the outside of the root-level tree node box. | STreeMap.h | |
| TreeMap | TSharedPtr< class ITreeMap > | TreeMap data The tree map that we're presenting using this widget | STreeMap.h | |
| TreeMapNodeData | FTreeMapNodeDataPtr | The source data for the tree map | STreeMap.h | |
| TreeMapSize | FVector2D | Size of our geometry the last time we rebuilt the tree map | STreeMap.h | |
| UndoStates | TArray< TSharedPtr< FTreeMapNodeData > > | Undo history buffer. | STreeMap.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
bool CanZoomOut() |
Returns true if it is possible to zoom out | STreeMap.h | |
void Construct
(
const FArguments& InArgs, |
Construct the widget | STreeMap.h | |
FTreeMapNodeDataPtr GetTreeRoot() |
Returns the current tree root, which is the largest node visible | STreeMap.h | |
virtual int32 OnPaint
(
const FPaintArgs& Args, |
SWidget overrides | STreeMap.h | |
void RebuildTreeMap
(
const bool bShouldPlayTransition |
Refreshes the tree map from its source data. | STreeMap.h | |
void SetTreeRoot
(
const FTreeMapNodeDataRef& NewRoot, |
Sets a new "active root" for the tree. | STreeMap.h | |
bool ZoomOut() |
Zooms out, setting root to it's parent if possible, returns false if not | STreeMap.h |
Overridden from SWidget
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual FVector2D ComputeDesiredSize
(
float LayoutScaleMultiplier |
STreeMap.h | ||
| STreeMap.h | |||
virtual FReply OnMouseButtonDoubleClick
(
const FGeometry& InMyGeometry, |
STreeMap.h | ||
virtual FReply OnMouseButtonDown
(
const FGeometry& InMyGeometry, |
STreeMap.h | ||
virtual FReply OnMouseButtonUp
(
const FGeometry& InMyGeometry, |
STreeMap.h | ||
virtual void OnMouseLeave
(
const FPointerEvent& InMouseEvent |
STreeMap.h | ||
virtual FReply OnMouseMove
(
const FGeometry& InMyGeometry, |
STreeMap.h | ||
virtual FReply OnMouseWheel
(
const FGeometry& MyGeometry, |
STreeMap.h | ||
virtual bool SupportsKeyboardFocus() |
STreeMap.h | ||
virtual void Tick
(
const FGeometry& AllottedGeometry, |
STreeMap.h |
Protected
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void ApplyVisualizationToNodes
(
const FTreeMapNodeDataRef& Node |
Called to apply the current 'size based on' and 'color based on' settings to the tree | STreeMap.h | |
void ApplyVisualizationToNodesRecursively
(
const FTreeMapNodeDataRef& Node, |
Recursively applies the active visualization to all nodes, such as size by attribute, or color by attribute | STreeMap.h | |
FReply DeleteHoveredNode() |
Deletes the node under the mouse cursor, if any (undoable!) | STreeMap.h | |
FTreeMapNodeDataPtr FindNodeInCopiedTree
(
const FTreeMapNodeDataRef& NodeToFind, |
Searches for the specified node in an identical copy of the node tree. | STreeMap.h | |
FTreeMapNodeVisualInfo * FindNodeVisualUnderCursor
(
const FGeometry& MyGeometry, |
Finds the node visual that's under the cursor | STreeMap.h | |
| Insert a new node as a child of the node under the cursor | STreeMap.h | ||
bool IsNavigationTransitionActive() |
STreeMap.h | ||
void MakeBlendedNodeVisual
(
const int32 VisualIndex, |
Blends between the current visual state and the state before the last navigation transition, by the specified amount | STreeMap.h | |
void Redo() |
Redoes the last action | STreeMap.h | |
void RenamingNode_OnTextCommitted
(
const FText& NewText, |
Called when the user commits a rename change | STreeMap.h | |
void ReparentNode
(
const FTreeMapNodeDataRef DroppedNode, |
Reparents DroppedNode to NewParentNode (undoable!) | STreeMap.h | |
void ShowOptionsMenuAt
(
const FPointerEvent& InMouseEvent |
Displays a context menu at the specified location with options for configuring the tree display | STreeMap.h | |
void StartRenamingNode
(
const FGeometry& MyGeometry, |
Pops up a box to allow the user to start renaming a node's title (undoable!) | STreeMap.h | |
void StopRenamingNode() |
Stops renaming a node, committing whatever text was entered | STreeMap.h | |
void TakeUndoSnapshot() |
Grabs a snapshot of the current tree so we can restore it if the user performs an Undo action | STreeMap.h | |
void Undo() |
Undoes the last action | STreeMap.h |