You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
95 lines
3.3 KiB
C++
95 lines
3.3 KiB
C++
// Copyright 1998-2014 Epic Games, Inc. All Rights Reserved.
|
|
|
|
|
|
#ifndef __LevelViewportLayoutThreePanes_h__
|
|
#define __LevelViewportLayoutThreePanes_h__
|
|
|
|
#pragma once
|
|
|
|
#include "LevelViewportLayout.h"
|
|
|
|
class FLevelViewportLayoutThreePanes : 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;
|
|
|
|
virtual TSharedRef<SWidget> MakeThreePanelWidget(
|
|
TArray<TSharedPtr< SLevelViewport >>& ViewportWidgets,
|
|
const FString& ViewportKey0, const FString& ViewportKey1, const FString& ViewportKey2,
|
|
float PrimarySplitterPercentage, float SecondarySplitterPercentage) = 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;
|
|
};
|
|
|
|
// FLevelViewportLayoutThreePanesLeft /////////////////////////////
|
|
|
|
class FLevelViewportLayoutThreePanesLeft : public FLevelViewportLayoutThreePanes
|
|
{
|
|
public:
|
|
virtual const FName& GetLayoutTypeName() const override { return LevelViewportConfigurationNames::ThreePanesLeft; }
|
|
|
|
virtual TSharedRef<SWidget> MakeThreePanelWidget(
|
|
TArray<TSharedPtr< SLevelViewport >>& ViewportWidgets,
|
|
const FString& ViewportKey0, const FString& ViewportKey1, const FString& ViewportKey2,
|
|
float PrimarySplitterPercentage, float SecondarySplitterPercentage);
|
|
};
|
|
|
|
|
|
// FLevelViewportLayoutThreePanesRight /////////////////////////////
|
|
|
|
class FLevelViewportLayoutThreePanesRight : public FLevelViewportLayoutThreePanes
|
|
{
|
|
public:
|
|
virtual const FName& GetLayoutTypeName() const override { return LevelViewportConfigurationNames::ThreePanesRight; }
|
|
|
|
virtual TSharedRef<SWidget> MakeThreePanelWidget(
|
|
TArray<TSharedPtr< SLevelViewport >>& ViewportWidgets,
|
|
const FString& ViewportKey0, const FString& ViewportKey1, const FString& ViewportKey2,
|
|
float PrimarySplitterPercentage, float SecondarySplitterPercentage);
|
|
};
|
|
|
|
|
|
// FLevelViewportLayoutThreePanesTop /////////////////////////////
|
|
|
|
class FLevelViewportLayoutThreePanesTop : public FLevelViewportLayoutThreePanes
|
|
{
|
|
public:
|
|
virtual const FName& GetLayoutTypeName() const override { return LevelViewportConfigurationNames::ThreePanesTop; }
|
|
|
|
virtual TSharedRef<SWidget> MakeThreePanelWidget(
|
|
TArray<TSharedPtr< SLevelViewport >>& ViewportWidgets,
|
|
const FString& ViewportKey0, const FString& ViewportKey1, const FString& ViewportKey2,
|
|
float PrimarySplitterPercentage, float SecondarySplitterPercentage);
|
|
};
|
|
|
|
|
|
// FLevelViewportLayoutThreePanesBottom /////////////////////////////
|
|
|
|
class FLevelViewportLayoutThreePanesBottom : public FLevelViewportLayoutThreePanes
|
|
{
|
|
public:
|
|
virtual const FName& GetLayoutTypeName() const override { return LevelViewportConfigurationNames::ThreePanesBottom; }
|
|
|
|
virtual TSharedRef<SWidget> MakeThreePanelWidget(
|
|
TArray<TSharedPtr< SLevelViewport >>& ViewportWidgets,
|
|
const FString& ViewportKey0, const FString& ViewportKey1, const FString& ViewportKey2,
|
|
float PrimarySplitterPercentage, float SecondarySplitterPercentage);
|
|
};
|
|
|
|
#endif
|