USMGraphK2Node_PropertyNode_Base¶
Module: SMSystemEditor
#include <SMGraphK2Node_PropertyNode_Base.h>
Inherits from USMGraphK2Node_RuntimeNodeReference, ISMEditorGraphPropertyNodeInterface
Description¶
Pure root reference nodes that are placed within a property graph returning a value. USMGraphNode_Base -> K2 BoundGraph -> Property Graph -> Property Node (this) Slate Node for USMGraphNode_Base -> this->GetGraphNodeWidget Details Panel for USMGraphNode_Base -> this->GetGraphDetailWidget
Public Classes¶
Name | |
---|---|
struct | FHighlightArgs |
struct | FNotifyArgs |
Public Functions¶
Name | |
---|---|
virtual | ~USMGraphK2Node_PropertyNode_Base() override |
virtual bool | IsNodePure() const override |
virtual FText | GetNodeTitle(ENodeTitleType::Type TitleType) const override |
virtual FText | GetTooltipText() const override |
virtual void | PostPlacedNewNode() override |
virtual void | ReconstructNode() override |
virtual void | PinDefaultValueChanged(UEdGraphPin * Pin) override |
virtual void | NotifyPinConnectionListChanged(UEdGraphPin * Pin) override |
virtual bool | IsConnectionDisallowed(const UEdGraphPin * MyPin, const UEdGraphPin * OtherPin, FString & OutReason) const override |
virtual bool | HasExternalDependencies(TArray< UStruct * > * OptionalOutput) const override |
virtual bool | CanCollapseNode() const override |
virtual void | AddPinSearchMetaDataInfo(const UEdGraphPin * Pin, TArray< FSearchTagDataPair > & OutTaggedMetaData) const override |
virtual FString | GetPinMetaData(FName InPinName, FName InKey) override |
virtual void | PreConsolidatedEventGraphValidate(FCompilerResultsLog & MessageLog) override |
virtual void | SetHighlight(bool bEnable, FLinearColor Color, bool bClearOnCompile) override |
virtual void | SetNotification(bool bEnable, ESMLogType Severity, const FString & Message, bool bClearOnCompile) override |
virtual void | SetNotificationAndHighlight(bool bEnable, ESMLogType Severity, const FString & Message, bool bClearOnCompile) override |
virtual void | ResetProperty() override |
virtual void | RefreshPropertyPinFromValue() override |
virtual void | RefreshPropertyValueFromPin() override |
virtual void | PreCompileBeforeConstructionScripts(FSMKismetCompilerContext & CompilerContext) |
virtual void | PreCompile(FSMKismetCompilerContext & CompilerContext) |
FProperty * | GetProperty() const |
USMPropertyGraph * | GetPropertyGraph() const |
virtual void | ConfigureRuntimePropertyNode() |
virtual FSMGraphProperty_Base_Runtime * | GetRuntimePropertyNode() |
FSMGraphProperty_Base_Runtime * | GetRuntimePropertyNodeChecked() |
virtual FSMGraphProperty_Base * | GetPropertyNode() |
FSMGraphProperty_Base * | GetPropertyNodeChecked() |
FSMGraphProperty_Base * | GetPropertyNodeConst() const |
FSMGraphProperty_Base * | GetPropertyNodeConstChecked() const |
virtual void | SetPropertyNode(FSMGraphProperty_Base * NewNode) |
virtual void | SetPropertyDefaultsFromPin() |
virtual void | SetPinValueFromPropertyDefaults(bool bUpdateTemplateDefaults, bool bUseArchetype, bool bForce =false) |
UScriptStruct * | GetRuntimePropertyNodeType() const |
FStructProperty * | GetRuntimePropertyNodeProperty() const |
FStructProperty * | GetPropertyNodeProperty(bool bRuntimeOnly) const |
USMNodeInstance * | GetOwningTemplate() const |
USMNodeBlueprint * | GetTemplateBlueprint() const |
UEdGraph * | GetOwningGraph() const |
USMGraphNode_Base * | GetOwningGraphNode() const |
USMGraphNode_Base * | GetOwningGraphNodeChecked() const |
void | JumpToPropertyGraph() |
void | JumpToTemplateBlueprint() |
virtual TSharedPtr< class SSMGraphProperty_Base > | GetGraphNodeWidget() const |
virtual TSharedPtr< SWidget > | GetGraphDetailWidget() const |
virtual TSharedPtr< SWidget > | GetViewGraphDetailWidget() const |
virtual TSharedPtr< SWidget > | GetToggleEditGraphDetailWidget() const |
void | GetContextMenuActionsForOwningNode(const UEdGraph * CurrentGraph, const UEdGraphNode * InGraphNode, const UEdGraphPin * InGraphPin, class UToolMenu * ToolMenu, bool bIsDebugging) const |
virtual bool | IsConsideredForDefaultProperty() const |
virtual void | DefaultPropertyActionWhenPlaced(TSharedPtr< SWidget > Widget) |
virtual UEdGraphPin * | GetResultPin() const |
UEdGraphPin * | GetResultPinChecked() const |
virtual bool | DoesResultPinHaveConnections() const |
virtual bool | IsValueSetToDefault() const |
bool | HasDefaultValueExplicitlyBeenChanged() const |
bool | IsValueModifiedOrWired() const |
const FString & | GetLastAutoGeneratedDefaultValue() const |
void | SetHighlightedArgs(const FHighlightArgs & InHighlightArgs) |
const FHighlightArgs & | GetHighlightArgs() const |
void | SetNotificationArgs(const FNotifyArgs & InNotifyArgs) |
const FNotifyArgs & | GetNotifyArgs() const |
DECLARE_MULTICAST_DELEGATE(FForceVisualRefresh ) | |
void | ForceVisualRefresh() const |
void | ConformLocalizationPackage(const FEdGraphPinType & PinType, FString & InOutTextString, const FText & DefaultTextValue, const UObject * Package) |
Protected Functions¶
Name | |
---|---|
void | AddSharedPinSearchMetaDataInfo(TArray< FSearchTagDataPair > & OutTaggedMetaData) const |
virtual void | Internal_GetContextMenuActionsForOwningNode(const UEdGraph * CurrentGraph, const UEdGraphNode * InGraphNode, const UEdGraphPin * InGraphPin, FToolMenuSection & MenuSection, bool bIsDebugging) const |
Public Attributes¶
Name | |
---|---|
TObjectPtr< USMGraphNode_Base > | OwningGraphNode |
bool | bMouseOverNodeProperty |
FForceVisualRefresh | ForceVisualRefreshEvent |
Protected Attributes¶
Name | |
---|---|
FHighlightArgs | HighlightArgs |
FNotifyArgs | NotifyArgs |
FString | LastAutoGeneratedDefaultValue |
uint8 | bDefaultValueChanged |
uint8 | bGeneratedDefaultValueBeingSet |
uint8 | bSettingPropertyDefaultsFromPin |
uint8 | bResettingProperty |
Additional inherited members¶
Public Functions inherited from ISMEditorGraphPropertyNodeInterface
Name | |
---|---|
FLinearColor | GetHighlightColorFromSeverity(const ESMLogType InSeverity) |
Public Functions Documentation¶
function
~USMGraphK2Node_PropertyNode_Base¶
function
IsNodePure¶
function
GetNodeTitle¶
function
GetTooltipText¶
function
PostPlacedNewNode¶
function
ReconstructNode¶
function
PinDefaultValueChanged¶
function
NotifyPinConnectionListChanged¶
function
IsConnectionDisallowed¶
virtual bool IsConnectionDisallowed(
const UEdGraphPin * MyPin,
const UEdGraphPin * OtherPin,
FString & OutReason
) const override
function
HasExternalDependencies¶
function
CanCollapseNode¶
function
AddPinSearchMetaDataInfo¶
virtual void AddPinSearchMetaDataInfo(
const UEdGraphPin * Pin,
TArray< FSearchTagDataPair > & OutTaggedMetaData
) const override
function
GetPinMetaData¶
function
PreConsolidatedEventGraphValidate¶
function
SetHighlight¶
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.
Reimplements: ISMEditorGraphPropertyNodeInterface::SetHighlight
function
SetNotification¶
virtual void SetNotification(
bool bEnable,
ESMLogType Severity,
const FString & Message,
bool bClearOnCompile
) override
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.
Reimplements: ISMEditorGraphPropertyNodeInterface::SetNotification
function
SetNotificationAndHighlight¶
virtual void SetNotificationAndHighlight(
bool bEnable,
ESMLogType Severity,
const FString & Message,
bool bClearOnCompile
) override
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.
Reimplements: ISMEditorGraphPropertyNodeInterface::SetNotificationAndHighlight
function
ResetProperty¶
Reset the property back to the class defaults, completely resetting the graph.
Reimplements: ISMEditorGraphPropertyNodeInterface::ResetProperty
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.
Reimplements: ISMEditorGraphPropertyNodeInterface::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.
Reimplements: ISMEditorGraphPropertyNodeInterface::RefreshPropertyValueFromPin
function
PreCompileBeforeConstructionScripts¶
Called during pre-compile before construction scripts have run.
function
PreCompile¶
Called during pre compile by the owning state machine graph node.
function
GetProperty¶
Return the FProperty this node represents.
function
GetPropertyGraph¶
Retrieve the property graph where this property node is located.
function
ConfigureRuntimePropertyNode¶
Allow runtime properties to set their values from their editor counterparts.
function
GetRuntimePropertyNode¶
Get the runtime graph property.
function
GetRuntimePropertyNodeChecked¶
function
GetPropertyNode¶
Get the editor property node.
function
GetPropertyNodeChecked¶
Get the editor graph property.
function
GetPropertyNodeConst¶
function
GetPropertyNodeConstChecked¶
function
SetPropertyNode¶
Sets the new node. Useful for refreshing the node with updated values from a template.
function
SetPropertyDefaultsFromPin¶
Sets the property on the node template to match this pin.
function
SetPinValueFromPropertyDefaults¶
virtual void SetPinValueFromPropertyDefaults(
bool bUpdateTemplateDefaults,
bool bUseArchetype,
bool bForce =false
)
Sets the pin default value from the property value.
This method was originally written to reset the pin to the node instance CDO value but has since grown to handle the current node instance value that could be changed programatically.
Parameters:
bUpdateTemplateDefaults
- Potentially calls SetPropertyDefaultsFromPin instead, should not be used.
bUseArchetype
- Use the node instance CDO to read values instead of the current instance.
bForce
- Forces a change through even if the current value matches defaults.
function
GetRuntimePropertyNodeType¶
Get the runtime graph property type.
function
GetRuntimePropertyNodeProperty¶
Get the runtime graph property as a FStructProperty.
function
GetPropertyNodeProperty¶
Return either a runtime property node only or an editor property node.
function
GetOwningTemplate¶
The template which owns this property.
function
GetTemplateBlueprint¶
The blueprint of the template owning this property.
function
GetOwningGraph¶
The property graph containing this property node.
function
GetOwningGraphNode¶
The state machine graph node which owns this property.
function
GetOwningGraphNodeChecked¶
function
JumpToPropertyGraph¶
Open the property graph for this node. Should be the containing graph.
function
JumpToTemplateBlueprint¶
function
GetGraphNodeWidget¶
Get the widget to represent this property node within a state machine graph node.
function
GetGraphDetailWidget¶
Get the widget to represent the graph node in the details panel.
function
GetViewGraphDetailWidget¶
Widget used to go to the graph.
function
GetToggleEditGraphDetailWidget¶
Widget used to toggled edit mode of the graph.
function
GetContextMenuActionsForOwningNode¶
void GetContextMenuActionsForOwningNode(
const UEdGraph * CurrentGraph,
const UEdGraphNode * InGraphNode,
const UEdGraphPin * InGraphPin,
class UToolMenu * ToolMenu,
bool bIsDebugging
) const
This forwards up context menu actions when the owning state machine graph node is right clicked on over this property.
function
IsConsideredForDefaultProperty¶
If the sgraphnode doesn't have a default name field then this property may be used as the default property to edit.
function
DefaultPropertyActionWhenPlaced¶
If the sgraphnode chooses this property as the default it will pass the already constructed widget in (should be the same type as GetGraphDetailWidget()) so it can be used for a default action – such as automatically editing text.
function
GetResultPin¶
Locates the result pin if one exists.
function
GetResultPinChecked¶
function
DoesResultPinHaveConnections¶
Checks if the result pin has a connection going to it, making this a variable connection rather than a defaults setter.
function
IsValueSetToDefault¶
Checks if this instance matches the CDO default value.
function
HasDefaultValueExplicitlyBeenChanged¶
Return bDefaultValueChanged which is true once any change has occurred.
function
IsValueModifiedOrWired¶
Checks if the value has changed from the default or if a variable is wired to it.
function
GetLastAutoGeneratedDefaultValue¶
The last exported property text value.
function
SetHighlightedArgs¶
Set if the node should be highlighted.
function
GetHighlightArgs¶
Return the current args used for highlighting.
function
SetNotificationArgs¶
Set if the node should display a notification.
function
GetNotifyArgs¶
Return the current args used for notification info.
function
DECLARE_MULTICAST_DELEGATE¶
function
ForceVisualRefresh¶
function
ConformLocalizationPackage¶
static void ConformLocalizationPackage(
const FEdGraphPinType & PinType,
FString & InOutTextString,
const FText & DefaultTextValue,
const UObject * Package
)
For correcting the package and namespace on newly placed text properties. Based on EdGraphSchema_K2.cpp.
Protected Functions Documentation¶
function
AddSharedPinSearchMetaDataInfo¶
Add shared pin search meta between properties. Children should call this if they overload AddPinSearchMetaDataInfo.
function
Internal_GetContextMenuActionsForOwningNode¶
virtual void Internal_GetContextMenuActionsForOwningNode(
const UEdGraph * CurrentGraph,
const UEdGraphNode * InGraphNode,
const UEdGraphPin * InGraphPin,
FToolMenuSection & MenuSection,
bool bIsDebugging
) const
Public Attributes Documentation¶
variable
OwningGraphNode¶
variable
bMouseOverNodeProperty¶
Set from slate widget representing this property. Used to help determine if the context menu creation should forward creation to this node as well.
Todo:
There has to be a better way of tracing the cursor to a widget.
variable
ForceVisualRefreshEvent¶
Protected Attributes Documentation¶
variable
HighlightArgs¶
Used to determine if the property should be highlighted in slate.
variable
NotifyArgs¶
Used to determine if a property should have a notification icon and message.
variable
LastAutoGeneratedDefaultValue¶
The last default autogenerated value. The pin value resets to this if the default value hasn't changed.
variable
bDefaultValueChanged¶
True once the user has changed the default value. It cannot become false again unless through Undo or Property Reset.
variable
bGeneratedDefaultValueBeingSet¶
True only while setting default pin value from the property.
variable
bSettingPropertyDefaultsFromPin¶
True only while setting default property values from the pin.
variable
bResettingProperty¶
True only during a property reset.