Files
UnrealEngineUWP/Engine/Plugins/Runtime/ModelViewViewModel/Source/ModelViewViewModelBlueprint/Private/MVVMFunctionGraphHelper.h
keaton stewart f31c33bf04 [Backout] - CL25766777 CIS FastCook Error
[FYI] Patrick.Boutot
Original CL Desc
-----------------------------------------------------------------
MVVM: Supports FieldNotify broadcast on BP defined variable.
#rb editor-ui-systems
#preflight 6479ed64d36d33e0e45190c7

[CL 25770631 by keaton stewart in ue5-main branch]
2023-06-02 15:16:58 -04:00

42 lines
1.8 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "Containers/StringFwd.h"
class FName;
class FProperty;
class UObject;
enum EFunctionFlags : uint32;
template <typename T> class TSubclassOf;
class FKismetCompilerContext;
class UBlueprint;
class UEdGraph;
namespace UE::MVVM::FunctionGraphHelper
{
/** Generate a function graph that can be viewed in the BP editor. */
MODELVIEWVIEWMODELBLUEPRINT_API UEdGraph* CreateFunctionGraph(FKismetCompilerContext& Context, const FStringView FunctionName, EFunctionFlags ExtraFunctionFlag, const FStringView Category, bool bIsEditable);
/** Generate a function graph that cannot be viewed in the BP editor. */
UEdGraph* CreateIntermediateFunctionGraph(FKismetCompilerContext& Context, const FStringView FunctionName, EFunctionFlags ExtraFunctionFlag, const FStringView Category, bool bIsEditable);
/** Add an input argument to an existing function graph. */
bool AddFunctionArgument(UEdGraph* FunctionGraph, TSubclassOf<UObject> Argument, FName ArgumentName);
/** Add an input argument to an existing function graph. */
bool AddFunctionArgument(UEdGraph* FunctionGraph, FProperty* Argument, FName ArgumentName);
/** Generate the nodes needed for to call the MVVMView::SetViewModel function. */
bool GenerateViewModelSetter(FKismetCompilerContext& Context, UEdGraph* FunctionGraph, FName ViewModelName);
/** Generate the nodes needed for to set the property and to call the broadcast field notify function. */
bool GenerateViewModelFieldNotifySetter(FKismetCompilerContext& Context, UEdGraph* FunctionGraph, FProperty* Property, FName InputPinName);
/** Generate the nodes needed to broadcast field notify function. */
bool GenerateViewModelFielNotifyBroadcast(FKismetCompilerContext& Context, UEdGraph* FunctionGraph, FProperty* Property);
} //namespace