Files
UnrealEngineUWP/Engine/Plugins/Runtime/ModelViewViewModel/Source/ModelViewViewModelBlueprint/Public/MVVMBlueprintViewBinding.cpp
sebastian nordgren 15e617f2aa MVVM: Removed FMVVMViewModelPropertyPath and FMVVMWidgetPropertyPath in favour of FMVVMBlueprintPropertyPath.
[REVIEW] [at]patrick.boutot
#jira UE-145128
#rnx
#preflight 6287737b1e478b95c703f783

#ROBOMERGE-AUTHOR: sebastian.nordgren
#ROBOMERGE-SOURCE: CL 20293477 via CL 20293498 via CL 20293511
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v948-20297126)

[CL 20305090 by sebastian nordgren in ue5-main branch]
2022-05-20 18:54:05 -04:00

61 lines
1.4 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#include "MVVMBlueprintViewBinding.h"
#include "MVVMBlueprintView.h"
#include "MVVMWidgetBlueprintExtension_View.h"
#include "WidgetBlueprintExtension.h"
FString FMVVMBlueprintViewBinding::GetNameString(const UMVVMBlueprintView* View) const
{
const FMVVMBlueprintViewModelContext* ViewModel = View->FindViewModel(ViewModelPath.GetViewModelId());
TStringBuilder<512> BindingName;
if (ViewModel != nullptr)
{
BindingName << ViewModel->GetViewModelName();
}
else
{
BindingName << TEXT("<none>");
}
BindingName << TEXT(".");
BindingName << ViewModelPath.GetBasePropertyPath();
if (BindingType == EMVVMBindingMode::TwoWay)
{
BindingName << TEXT(" <-> ");
}
else if (UE::MVVM::IsForwardBinding(BindingType))
{
BindingName << TEXT(" -> ");
}
else if (UE::MVVM::IsBackwardBinding(BindingType))
{
BindingName << TEXT(" <- ");
}
else
{
BindingName << TEXT(" ??? "); // shouldn't happen
}
if (View->GetOuterUMVVMWidgetBlueprintExtension_View()->GetWidgetBlueprint()->GetFName() == WidgetPath.GetWidgetName())
{
BindingName << WidgetPath.GetBasePropertyPath();
}
else
{
if (WidgetPath.GetWidgetName().IsNone())
{
BindingName << TEXT("<none>");
}
else
{
BindingName << WidgetPath.GetWidgetName();
}
BindingName << TEXT(".");
BindingName << WidgetPath.GetBasePropertyPath();
}
return BindingName.ToString();
}