Files
UnrealEngineUWP/Engine/Source/Runtime/UMG/Private/Components/NativeWidgetHost.cpp
Matthew Griffin bb70b349ce Merging CL 2804086 from //UE4/Release-4.11 to Dev-Main (//UE4/Dev-Main) to isolate copyright update
#lockdown Nick.Penwarden

[CL 2819020 by Matthew Griffin in Main branch]
2016-01-07 08:17:16 -05:00

83 lines
1.7 KiB
C++

// Copyright 1998-2016 Epic Games, Inc. All Rights Reserved.
#include "UMGPrivatePCH.h"
#define LOCTEXT_NAMESPACE "UMG"
/////////////////////////////////////////////////////
// UNativeWidgetHost
UNativeWidgetHost::UNativeWidgetHost(const FObjectInitializer& ObjectInitializer)
: Super(ObjectInitializer)
{
bIsVariable = false;
}
void UNativeWidgetHost::SetContent(TSharedRef<SWidget> InContent)
{
if (NativeWidget != InContent)
{
NativeWidget = InContent;
TSharedPtr<SWidget> StableMyWidget = MyWidget.Pin();
if (StableMyWidget.IsValid())
{
TSharedPtr<SBox> MyBox = StaticCastSharedPtr<SBox>(StableMyWidget);
MyBox->SetContent(InContent);
}
}
}
void UNativeWidgetHost::ReleaseSlateResources(bool bReleaseChildren)
{
Super::ReleaseSlateResources(bReleaseChildren);
NativeWidget.Reset();
}
TSharedRef<SWidget> UNativeWidgetHost::RebuildWidget()
{
return SNew(SBox)
[
( NativeWidget.IsValid() ) ? NativeWidget.ToSharedRef() : GetDefaultContent()
];
}
TSharedRef<SWidget> UNativeWidgetHost::GetDefaultContent()
{
if ( IsDesignTime() )
{
return SNew(SBorder)
.Visibility(EVisibility::HitTestInvisible)
.BorderImage(FUMGStyle::Get().GetBrush("MarchingAnts"))
.HAlign(HAlign_Center)
.VAlign(VAlign_Center)
[
SNew(STextBlock)
.Text(LOCTEXT("NativeWidgetHostText", "Slate Widget Host"))
];
}
else
{
return SNullWidget::NullWidget;
}
}
#if WITH_EDITOR
const FSlateBrush* UNativeWidgetHost::GetEditorIcon()
{
return FUMGStyle::Get().GetBrush("Widget.NativeWidgetHost");
}
const FText UNativeWidgetHost::GetPaletteCategory()
{
return LOCTEXT("Primitive", "Primitive");
}
#endif
/////////////////////////////////////////////////////
#undef LOCTEXT_NAMESPACE