123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123 |
- // Fill out your copyright notice in the Description page of Project Settings.
- #include "EzAbilityEditorApplicationMode.h"
- #include "EzAbilityEditor.h"
- #include "SBlueprintEditorToolbar.h"
- #include "BlueprintEditorTabs.h"
- #include "SBlueprintEditorToolbar.h"
- #include "EzAbilityViewModule.h"
- #include "Modules/ModuleManager.h"
- #include "EzAbilityEditor.h"
- #include "EzAbilityViewPortSummoner.h"
- #include "AdvancedPreviewScene.h"
- #include "PreviewScene.h"
- #include "Toolkits/AssetEditorToolkit.h"
- #include "Editor/AnimationEditor/Private/AnimationEditor.h"
- #include "EzAbilityTimelineSummoner.h"
- #define LOCTEXT_NAMESPACE "EzAbilityEditorApplicationModeh"
- FEzAbilityEditorApplicationMode::FEzAbilityEditorApplicationMode(const TSharedRef<class FWorkflowCentricApplication>& InHostingApp, TSharedPtr<class FEzAbilityEditor> InEzAbilityEditor)
- : FApplicationMode(FEzAbilityEditor::EzAbilityEditorMode)
- {
- EzAbilityEditor = InEzAbilityEditor;
- HostingAppPtr = InHostingApp;
- //FEzAbilityViewModule& AbilityViewModule = FModuleManager::LoadModuleChecked<FEzAbilityViewModule>("AbilityView");
- PreviewScene = MakeShareable(new FAdvancedPreviewScene(FPreviewScene::ConstructionValues()));
- EzAbilityEditorTabFactories.RegisterFactory(MakeShareable(new FEzAbilityViewPortSummoner(InHostingApp, PreviewScene.ToSharedRef())));
- EzAbilityEditorTabFactories.RegisterFactory(MakeShareable(new FEzAbilityTimelineSummoner(InHostingApp, PreviewScene.ToSharedRef())));
-
- TabLayout = FTabManager::NewLayout("Standalone_EzAbilityEditor_Layout_v1.0")
- ->AddArea
- (
- FTabManager::NewPrimaryArea()
- ->SetOrientation(Orient_Vertical)
- ->Split
- (
- FTabManager::NewSplitter()
- ->SetSizeCoefficient(0.9f)
- ->SetOrientation(Orient_Horizontal)
- ->Split
- (
- FTabManager::NewSplitter()
- ->SetSizeCoefficient(0.2f)
- ->SetOrientation(Orient_Vertical)
- ->Split
- (
- FTabManager::NewStack()
- ->SetHideTabWell(false)
- //->AddTab(FEzAbilityViewPortSummoner::EzAbilityEditorViewPortSummonerID, ETabState::OpenedTab)
- )
- )
- ->Split
- (
- FTabManager::NewSplitter()
- ->SetSizeCoefficient(0.6f)
- ->SetOrientation(Orient_Vertical)
- ->Split
- (
- FTabManager::NewStack()
- ->SetSizeCoefficient(0.6f)
- ->SetHideTabWell(true)
- ->AddTab(FEzAbilityViewPortSummoner::EzAbilityEditorViewPortSummonerID, ETabState::OpenedTab)
- )
- ->Split
- (
- FTabManager::NewStack()
- ->SetSizeCoefficient(0.4f)
- ->SetHideTabWell(true)
- ->AddTab(FEzAbilityTimelineSummoner::EzAbilityTimelineSummonerID, ETabState::OpenedTab)
- )
- )
- ->Split
- (
- FTabManager::NewSplitter()
- ->SetSizeCoefficient(0.2f)
- ->SetOrientation(Orient_Vertical)
- ->Split
- (
- FTabManager::NewStack()
- ->SetSizeCoefficient(0.6f)
- ->SetHideTabWell(false)
- //->AddTab(FEzAbilityViewPortSummoner::EzAbilityEditorViewPortSummonerID, ETabState::OpenedTab)
- )
- )
- )
- );
- //EzAbilityEditorTabFactories.OnRegisterTabs().Broadcast(EzAbilityEditorTabFactories, InHostingApp);
- LayoutExtender = MakeShared<FLayoutExtender>();
- //EzAbilityEditorTabFactories.OnRegisterLayoutExtensions().Broadcast(*LayoutExtender.Get());
- TabLayout->ProcessExtensions(*LayoutExtender.Get());
- }
- void FEzAbilityEditorApplicationMode::RegisterTabFactories(TSharedPtr<class FTabManager> InTabManager)
- {
- TSharedPtr<FEzAbilityEditor> EzAbilityEditorPtr = EzAbilityEditor.Pin();
- EzAbilityEditorPtr->RegisterTabSpawners(InTabManager.ToSharedRef());
- EzAbilityEditorPtr->PushTabFactories(EzAbilityEditorTabFactories);
- FApplicationMode::RegisterTabFactories(InTabManager);
- }
- // void FEzAbilityEditorApplicationMode::AddTabFactory(FCreateWorkflowTabFactory FactoryCreator)
- // {
- // if (FactoryCreator.IsBound())
- // {
- // EzAbilityEditorTabFactories.RegisterFactory(FactoryCreator.Execute(EzAbilityEditor.Pin()));
- // }
- // }
- //
- // void FEzAbilityEditorApplicationMode::RemoveTabFactory(FName TabFactoryID)
- // {
- // EzAbilityEditorTabFactories.UnregisterFactory(TabFactoryID);
- // }
- //TSharedRef<FWorkflowTabFactory> FEzAbilityEditorApplicationMode::CreateAdvancedPreviewSceneTabFactory(const TSharedRef<class FWorkflowCentricApplication>& InHostingApp, const TSharedRef<FAdvancedPreviewScene>& InPreviewScene) const
- //{
- // return MakeShareable(new FEzAbilityViewPortSummoner(InHostingApp, InPreviewScene));
- //}
- #undef LOCTEXT_NAMESPACE
|