ISMEditorGraphPropertyNodeInterface¶
Module: SMSystem
#include <ISMEditorGraphPropertyNodeInterface.h>
Inherited by USMGraphK2Node_PropertyNode_Base
Description¶
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 ![]() |
| virtual void | SetNotification(bool bEnable, ESMLogType Severity =ESMLogType::Note, const FString & Message =TEXT(""), bool bClearOnCompile =false) =0 ![]() |
| virtual void | SetNotificationAndHighlight(bool bEnable, ESMLogType Severity =ESMLogType::Note, const FString & Message =TEXT(""), bool bClearOnCompile =false) =0 ![]() |
| virtual void | ResetProperty() =0 ![]() |
| virtual bool | IsPinWired(ESMGraphPropertyDirection Direction =ESMGraphPropertyDirection::Input) const =0 ![]() |
| virtual void | SetSubPropertyHighlight(FName SubPinName, bool bEnable, FLinearColor Color =FLinearColor(1.f, 0.84f, 0.f, 1.2f), bool bClearOnCompile =false) ![]() |
| virtual void | ResetSubProperty(FName SubPinName) ![]() |
| virtual bool | IsSubPinWired(FName SubPinName, ESMGraphPropertyDirection Direction =ESMGraphPropertyDirection::Input) const ![]() |
| virtual void | RefreshPropertyPinFromValue() =0 |
| virtual void | RefreshPropertyValueFromPin() =0 |
Public Functions Documentation¶
function GetHighlightColorFromSeverity¶
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

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

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

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¶

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

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
)

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¶

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

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¶
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¶
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