Files
UnrealEngineUWP/Engine/Source/Editor/LevelEditor/Private/LevelViewportLayoutTwoPanes.h
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

51 lines
1.5 KiB
C++

// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "Widgets/SWidget.h"
#include "LevelViewportLayout.h"
#include "Widgets/Layout/SSplitter.h"
#include "LevelViewportActions.h"
template <EOrientation TOrientation>
class TLevelViewportLayoutTwoPanes : public FLevelViewportLayout
{
public:
/**
* Saves viewport layout information between editor sessions
*/
virtual void SaveLayoutString(const FString& LayoutString) const override;
protected:
/**
* Creates the viewports and splitter for the two panes vertical layout
*/
virtual TSharedRef<SWidget> MakeViewportLayout(const FString& LayoutString) override;
/** Overridden from FLevelViewportLayout */
virtual void ReplaceWidget( TSharedRef< SWidget > Source, TSharedRef< SWidget > Replacement ) override;
private:
/** The splitter widget */
TSharedPtr< class SSplitter > SplitterWidget;
};
// FLevelViewportLayoutTwoPanesVert /////////////////////////////
class FLevelViewportLayoutTwoPanesVert : public TLevelViewportLayoutTwoPanes<EOrientation::Orient_Vertical>
{
public:
virtual const FName& GetLayoutTypeName() const override { return LevelViewportConfigurationNames::TwoPanesVert; }
};
// FLevelViewportLayoutTwoPanesHoriz /////////////////////////////
class FLevelViewportLayoutTwoPanesHoriz : public TLevelViewportLayoutTwoPanes<EOrientation::Orient_Horizontal>
{
public:
virtual const FName& GetLayoutTypeName() const override { return LevelViewportConfigurationNames::TwoPanesHoriz; }
};