Files
UnrealEngineUWP/Engine/Source/Editor/LevelEditor/Private/LevelViewportLayoutFourPanes.h
Jaroslaw Palczynski ebce413232 UE4 Refactoring. Changed OVERRIDE and FINAL macros to keywords override and final.
[CL 2104397 by Jaroslaw Palczynski in Main branch]
2014-06-13 06:14:46 -04:00

96 lines
3.6 KiB
C++

// Copyright 1998-2014 Epic Games, Inc. All Rights Reserved.
#ifndef __LevelViewportLayoutFourPanes_h__
#define __LevelViewportLayoutFourPanes_h__
#pragma once
#include "LevelViewportLayout.h"
class FLevelViewportLayoutFourPanes : 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 four-pane layout
*/
virtual TSharedRef<SWidget> MakeViewportLayout(const FString& LayoutString) override;
virtual TSharedRef<SWidget> MakeFourPanelWidget(
TArray<TSharedPtr< SLevelViewport >>& ViewportWidgets,
const FString& ViewportKey0, const FString& ViewportKey1, const FString& ViewportKey2, const FString& ViewportKey3,
float PrimarySplitterPercentage, float SecondarySplitterPercentage0, float SecondarySplitterPercentage1) = 0;
/** Overridden from FLevelViewportLayout */
virtual void ReplaceWidget( TSharedRef< SWidget > Source, TSharedRef< SWidget > Replacement ) override;
protected:
/** The splitter widgets */
TSharedPtr< class SSplitter > PrimarySplitterWidget;
TSharedPtr< class SSplitter > SecondarySplitterWidget;
};
// FLevelViewportLayoutFourPanesLeft /////////////////////////////
class FLevelViewportLayoutFourPanesLeft : public FLevelViewportLayoutFourPanes
{
public:
virtual const FName& GetLayoutTypeName() const override { return LevelViewportConfigurationNames::FourPanesLeft; }
virtual TSharedRef<SWidget> MakeFourPanelWidget(
TArray<TSharedPtr< SLevelViewport >>& ViewportWidgets,
const FString& ViewportKey0, const FString& ViewportKey1, const FString& ViewportKey2, const FString& ViewportKey3,
float PrimarySplitterPercentage, float SecondarySplitterPercentage0, float SecondarySplitterPercentage1);
};
// FLevelViewportLayoutFourPanesRight /////////////////////////////
class FLevelViewportLayoutFourPanesRight : public FLevelViewportLayoutFourPanes
{
public:
virtual const FName& GetLayoutTypeName() const override { return LevelViewportConfigurationNames::FourPanesRight; }
virtual TSharedRef<SWidget> MakeFourPanelWidget(
TArray<TSharedPtr< SLevelViewport >>& ViewportWidgets,
const FString& ViewportKey0, const FString& ViewportKey1, const FString& ViewportKey2, const FString& ViewportKey3,
float PrimarySplitterPercentage, float SecondarySplitterPercentage0, float SecondarySplitterPercentage1);
};
// FLevelViewportLayoutFourPanesTop /////////////////////////////
class FLevelViewportLayoutFourPanesTop : public FLevelViewportLayoutFourPanes
{
public:
virtual const FName& GetLayoutTypeName() const override { return LevelViewportConfigurationNames::FourPanesTop; }
virtual TSharedRef<SWidget> MakeFourPanelWidget(
TArray<TSharedPtr< SLevelViewport >>& ViewportWidgets,
const FString& ViewportKey0, const FString& ViewportKey1, const FString& ViewportKey2, const FString& ViewportKey3,
float PrimarySplitterPercentage, float SecondarySplitterPercentage0, float SecondarySplitterPercentage1);
};
// FLevelViewportLayoutFourPanesBottom /////////////////////////////
class FLevelViewportLayoutFourPanesBottom : public FLevelViewportLayoutFourPanes
{
public:
virtual const FName& GetLayoutTypeName() const override { return LevelViewportConfigurationNames::FourPanesBottom; }
virtual TSharedRef<SWidget> MakeFourPanelWidget(
TArray<TSharedPtr< SLevelViewport >>& ViewportWidgets,
const FString& ViewportKey0, const FString& ViewportKey1, const FString& ViewportKey2, const FString& ViewportKey3,
float PrimarySplitterPercentage, float SecondarySplitterPercentage0, float SecondarySplitterPercentage1);
};
#endif