Files
UnrealEngineUWP/Engine/Source/Editor/UMGEditor/Private/WidgetReference.cpp
Ben Marsh 20bf0eb6a1 Updating copyright notices to 2017 (copying from //Tasks/UE4/Dev-Copyright-2017).
#rb none
#lockdown Nick.Penwarden

[CL 3226823 by Ben Marsh in Main branch]
2016-12-08 08:52:44 -05:00

70 lines
1.3 KiB
C++

// Copyright 1998-2017 Epic Games, Inc. All Rights Reserved.
#include "WidgetReference.h"
#include "WidgetBlueprintEditor.h"
#define LOCTEXT_NAMESPACE "UMG"
FWidgetHandle::FWidgetHandle(UWidget* InWidget)
: Widget(InWidget)
{
}
// FWidgetReference
FWidgetReference::FWidgetReference()
: WidgetEditor()
, TemplateHandle()
{
}
FWidgetReference::FWidgetReference(TSharedPtr<FWidgetBlueprintEditor> InWidgetEditor, TSharedPtr< FWidgetHandle > InTemplateHandle)
: WidgetEditor(InWidgetEditor)
, TemplateHandle(InTemplateHandle)
{
}
bool FWidgetReference::IsValid() const
{
if ( TemplateHandle.IsValid() )
{
return TemplateHandle->Widget.Get() != nullptr && GetPreview();
}
return false;
}
UWidget* FWidgetReference::GetTemplate() const
{
if ( TemplateHandle.IsValid() )
{
return TemplateHandle->Widget.Get();
}
return nullptr;
}
UWidget* FWidgetReference::GetPreview() const
{
if ( WidgetEditor.IsValid() && TemplateHandle.IsValid() )
{
UUserWidget* PreviewRoot = WidgetEditor.Pin()->GetPreview();
if ( PreviewRoot )
{
if ( UWidget* TemplateWidget = TemplateHandle->Widget.Get() )
{
UWidget* PreviewWidget = PreviewRoot->GetWidgetFromName(TemplateWidget->GetFName());
return PreviewWidget;
}
}
}
return nullptr;
}
#undef LOCTEXT_NAMESPACE