Files
UnrealEngineUWP/Engine/Source/Editor/LevelEditor/Private/LevelViewportLayoutEntity.cpp
Chris Gagnon 8fc25ea18e Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor)
#rb none

[CL 4676797 by Chris Gagnon in Dev-Editor branch]
2019-01-02 14:54:39 -05:00

74 lines
1.9 KiB
C++

// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved.
#include "LevelViewportLayoutEntity.h"
#include "Widgets/DeclarativeSyntaxSupport.h"
#include "Editor/UnrealEdEngine.h"
#include "LevelEditorViewport.h"
#include "UnrealEdGlobals.h"
#include "SLevelViewport.h"
FLevelViewportLayoutEntity::FLevelViewportLayoutEntity(const FViewportConstructionArgs& ConstructionArgs)
: LevelViewport(
SNew(SLevelViewport)
.Realtime(ConstructionArgs.bRealtime)
.ViewportType( ConstructionArgs.ViewportType )
.ParentLayout( ConstructionArgs.ParentLayout )
.ParentLevelEditor( ConstructionArgs.ParentLevelEditor )
.ConfigKey( ConstructionArgs.ConfigKey )
.IsEnabled( ConstructionArgs.IsEnabled )
)
{}
TSharedRef<SWidget> FLevelViewportLayoutEntity::AsWidget() const
{
return LevelViewport;
}
TSharedPtr<SLevelViewport> FLevelViewportLayoutEntity::AsLevelViewport() const
{
return LevelViewport;
}
FName FLevelViewportLayoutEntity::GetType() const
{
static FName DefaultName("Default");
return DefaultName;
}
FLevelEditorViewportClient& FLevelViewportLayoutEntity::GetLevelViewportClient() const
{
return LevelViewport->GetLevelViewportClient();
}
bool FLevelViewportLayoutEntity::IsPlayInEditorViewportActive() const
{
return LevelViewport->IsPlayInEditorViewportActive();
}
void FLevelViewportLayoutEntity::RegisterGameViewportIfPIE()
{
return LevelViewport->RegisterGameViewportIfPIE();
}
void FLevelViewportLayoutEntity::SetKeyboardFocus()
{
return LevelViewport->SetKeyboardFocusToThisViewport();
}
void FLevelViewportLayoutEntity::OnLayoutDestroyed()
{
if (LevelViewport->IsPlayInEditorViewportActive() || LevelViewport->GetLevelViewportClient().IsSimulateInEditorViewport() )
{
GUnrealEd->EndPlayMap();
}
}
void FLevelViewportLayoutEntity::SaveConfig(const FString& ConfigSection)
{
LevelViewport->SaveConfig(ConfigSection);
}
void FLevelViewportLayoutEntity::TakeHighResScreenShot() const
{
GetLevelViewportClient().TakeHighResScreenShot();
}