Skip to content

ISMEditorGraphPropertyNodeInterface

Module: SMSystem

#include <ISMEditorGraphPropertyNodeInterface.h>

Inherited by USMGraphK2Node_PropertyNode_Base

Description

class ISMEditorGraphPropertyNodeInterface;

Interface for accessing editor graph properties from non-editor modules.

Public Functions

Name
FLinearColor GetHighlightColorFromSeverity(const ESMLogType InSeverity)
virtual void SetHighlight(bool bEnable, FLinearColor Color =FLinearColor(1.f, 0.84f, 0.f, 1.2f), bool bClearOnCompile =false) =0
images/classes/SMEditorGraphPropertyNodeInterface/img/nd_img_SetHighlight.png
virtual void SetNotification(bool bEnable, ESMLogType Severity =ESMLogType::Note, const FString & Message =TEXT(""), bool bClearOnCompile =false) =0
images/classes/SMEditorGraphPropertyNodeInterface/img/nd_img_SetNotification.png
virtual void SetNotificationAndHighlight(bool bEnable, ESMLogType Severity =ESMLogType::Note, const FString & Message =TEXT(""), bool bClearOnCompile =false) =0
images/classes/SMEditorGraphPropertyNodeInterface/img/nd_img_SetNotificationAndHighlight.png
virtual void ResetProperty() =0
images/classes/SMEditorGraphPropertyNodeInterface/img/nd_img_ResetProperty.png
virtual bool IsPinWired(ESMGraphPropertyDirection Direction =ESMGraphPropertyDirection::Input) const =0
images/classes/SMEditorGraphPropertyNodeInterface/img/nd_img_IsPinWired.png
virtual void SetSubPropertyHighlight(FName SubPinName, bool bEnable, FLinearColor Color =FLinearColor(1.f, 0.84f, 0.f, 1.2f), bool bClearOnCompile =false)
images/classes/SMEditorGraphPropertyNodeInterface/img/nd_img_SetSubPropertyHighlight.png
virtual void ResetSubProperty(FName SubPinName)
images/classes/SMEditorGraphPropertyNodeInterface/img/nd_img_ResetSubProperty.png
virtual bool IsSubPinWired(FName SubPinName, ESMGraphPropertyDirection Direction =ESMGraphPropertyDirection::Input) const
images/classes/SMEditorGraphPropertyNodeInterface/img/nd_img_IsSubPinWired.png
virtual void RefreshPropertyPinFromValue() =0
virtual void RefreshPropertyValueFromPin() =0

Public Functions Documentation

function GetHighlightColorFromSeverity

static inline FLinearColor GetHighlightColorFromSeverity(
    const ESMLogType InSeverity
)

Return the highlight color to use based on the severity.

Parameters:

InSeverity
The severity log type.

Return: The hard coded linear color matching the severity.


function SetHighlight

virtual void SetHighlight(
    bool bEnable,
    FLinearColor Color =FLinearColor(1.f, 0.84f, 0.f, 1.2f),
    bool bClearOnCompile =false
) =0

images/classes/SMEditorGraphPropertyNodeInterface/img/nd_img_SetHighlight.png

Highlight a property on the owning graph node.

Parameters:

bEnable
Enable or disable the highlight.
Color
The color of the highlight.
bClearOnCompile
If the highlight should clear when the owning state machine blueprint is compiled.

Reimplemented by: USMGraphK2Node_PropertyNode_Base::SetHighlight


function SetNotification

virtual void SetNotification(
    bool bEnable,
    ESMLogType Severity =ESMLogType::Note,
    const FString & Message =TEXT(""),
    bool bClearOnCompile =false
) =0

images/classes/SMEditorGraphPropertyNodeInterface/img/nd_img_SetNotification.png

Show a notification icon on the property.

Parameters:

bEnable
Show or hide the notification.
Severity
The severity of the log type.
Message
The tooltip to display when hovering the icon.
bClearOnCompile
If the notification should clear when the owning state machine blueprint is compiled.

Reimplemented by: USMGraphK2Node_PropertyNode_Base::SetNotification


function SetNotificationAndHighlight

virtual void SetNotificationAndHighlight(
    bool bEnable,
    ESMLogType Severity =ESMLogType::Note,
    const FString & Message =TEXT(""),
    bool bClearOnCompile =false
) =0

images/classes/SMEditorGraphPropertyNodeInterface/img/nd_img_SetNotificationAndHighlight.png

Show a notification icon and highlight the property based on the severity.

Parameters:

bEnable
Show or hide the notification and highlight.
Severity
The severity of the log type.
Message
The tooltip to display when hovering the icon.
bClearOnCompile
If the notification and highlight should clear when the owning state machine blueprint is compiled.

Reimplemented by: USMGraphK2Node_PropertyNode_Base::SetNotificationAndHighlight


function ResetProperty

virtual void ResetProperty() =0

images/classes/SMEditorGraphPropertyNodeInterface/img/nd_img_ResetProperty.png

Reset the property back to the class defaults, completely resetting the graph.

Reimplemented by: USMGraphK2Node_PropertyNode_Base::ResetProperty


function IsPinWired

virtual bool IsPinWired(
    ESMGraphPropertyDirection Direction =ESMGraphPropertyDirection::Input
) const =0

images/classes/SMEditorGraphPropertyNodeInterface/img/nd_img_IsPinWired.png

Check if the result pin is wired to any other node, and there isn't a default value present.

Parameters:

Direction
The result pin direction we should check is wired.

Return: True if there is any connection to this pin. False if there is no connection or the pin doesn't exist.

Reimplemented by: USMGraphK2Node_PropertyNode_Base::IsPinWired


function SetSubPropertyHighlight

inline virtual void SetSubPropertyHighlight(
    FName SubPinName,
    bool bEnable,
    FLinearColor Color =FLinearColor(1.f, 0.84f, 0.f, 1.2f),
    bool bClearOnCompile =false
)

images/classes/SMEditorGraphPropertyNodeInterface/img/nd_img_SetSubPropertyHighlight.png

Highlight a single split-struct sub-pin row of this property, leaving sibling rows neutral. Use the OutSubPinName returned by ISMEditorGraphNodeInterface::GetEditorGraphPropertyForSubPath to target a specific struct member.

Parameters:

SubPinName
The engine-assigned sub-pin name of the member to highlight. NAME_None highlights every row (same as SetHighlight).
bEnable
Enable or disable the highlight.
Color
The color of the highlight.
bClearOnCompile
If the highlight should clear when the owning state machine blueprint is compiled.

Reimplemented by: USMGraphK2Node_PropertyNode_Base::SetSubPropertyHighlight


function ResetSubProperty

inline virtual void ResetSubProperty(
    FName SubPinName
)

images/classes/SMEditorGraphPropertyNodeInterface/img/nd_img_ResetSubProperty.png

Reset a single split-struct sub-pin back to the owning template's default value, leaving sibling sub-pins untouched.

Parameters:

SubPinName
The engine-assigned sub-pin name of the member to reset. NAME_None resets the entire property (same as ResetProperty).

Reimplemented by: USMGraphK2Node_PropertyNode_Base::ResetSubProperty


function IsSubPinWired

inline virtual bool IsSubPinWired(
    FName SubPinName,
    ESMGraphPropertyDirection Direction =ESMGraphPropertyDirection::Input
) const

images/classes/SMEditorGraphPropertyNodeInterface/img/nd_img_IsSubPinWired.png

Check if a single split-struct sub-pin is wired to another node. Split sub-pins wire into the node, so only the input direction is meaningful for a member.

Parameters:

SubPinName
The engine-assigned sub-pin name of the member to check. NAME_None checks the whole property (same as IsPinWired).
Direction
The result pin direction to check. Only applies when SubPinName is NAME_None; a named member sub-pin is always checked on its input pin.

Return: True if there is any connection to the sub-pin (or property). False if there is no connection or it doesn't exist.

Reimplemented by: USMGraphK2Node_PropertyNode_Base::IsSubPinWired


function RefreshPropertyPinFromValue

virtual void RefreshPropertyPinFromValue() =0

Refresh an exposed property's blueprint pin on the UEdGraphNode from the property's current value. This can be used if you programmatically update an exposed property outside of editor construction scripts such as through PostEditChangeProperty and want that value reflected on the node.

Warning:

This should NOT be called during editor construction scripts as they will automatically refresh property pins.

Reimplemented by: USMGraphK2Node_PropertyNode_Base::RefreshPropertyPinFromValue


function RefreshPropertyValueFromPin

virtual void RefreshPropertyValueFromPin() =0

Refresh an exposed property value from the matching pin on the UEdGraphNode. This can be used if you need to make sure the current value in C++ matches what is entered into the blueprint pin.

Warning:

This should NOT be called during editor construction scripts as they will automatically refresh property values.

Reimplemented by: USMGraphK2Node_PropertyNode_Base::RefreshPropertyValueFromPin