EzAbilityEditorApplicationMode.cpp 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. // Fill out your copyright notice in the Description page of Project Settings.
  2. #include "EzAbilityEditorApplicationMode.h"
  3. #include "EzAbilityEditor.h"
  4. #include "SBlueprintEditorToolbar.h"
  5. #include "BlueprintEditorTabs.h"
  6. #include "SBlueprintEditorToolbar.h"
  7. #include "EzAbilityViewModule.h"
  8. #include "Modules/ModuleManager.h"
  9. #include "EzAbilityEditor.h"
  10. #include "EzAbilityViewPortSummoner.h"
  11. #include "AdvancedPreviewScene.h"
  12. #include "PreviewScene.h"
  13. #include "Toolkits/AssetEditorToolkit.h"
  14. #include "Editor/AnimationEditor/Private/AnimationEditor.h"
  15. #include "EzAbilityTimelineSummoner.h"
  16. #define LOCTEXT_NAMESPACE "EzAbilityEditorApplicationModeh"
  17. FEzAbilityEditorApplicationMode::FEzAbilityEditorApplicationMode(const TSharedRef<class FWorkflowCentricApplication>& InHostingApp, TSharedPtr<class FEzAbilityEditor> InEzAbilityEditor)
  18. : FApplicationMode(FEzAbilityEditor::EzAbilityEditorMode)
  19. {
  20. EzAbilityEditor = InEzAbilityEditor;
  21. HostingAppPtr = InHostingApp;
  22. //FEzAbilityViewModule& AbilityViewModule = FModuleManager::LoadModuleChecked<FEzAbilityViewModule>("AbilityView");
  23. PreviewScene = MakeShareable(new FAdvancedPreviewScene(FPreviewScene::ConstructionValues()));
  24. EzAbilityEditorTabFactories.RegisterFactory(MakeShareable(new FEzAbilityViewPortSummoner(InHostingApp, PreviewScene.ToSharedRef())));
  25. EzAbilityEditorTabFactories.RegisterFactory(MakeShareable(new FEzAbilityTimelineSummoner(InHostingApp, PreviewScene.ToSharedRef())));
  26. TabLayout = FTabManager::NewLayout("Standalone_EzAbilityEditor_Layout_v1.0")
  27. ->AddArea
  28. (
  29. FTabManager::NewPrimaryArea()
  30. ->SetOrientation(Orient_Vertical)
  31. ->Split
  32. (
  33. FTabManager::NewSplitter()
  34. ->SetSizeCoefficient(0.9f)
  35. ->SetOrientation(Orient_Horizontal)
  36. ->Split
  37. (
  38. FTabManager::NewSplitter()
  39. ->SetSizeCoefficient(0.2f)
  40. ->SetOrientation(Orient_Vertical)
  41. ->Split
  42. (
  43. FTabManager::NewStack()
  44. ->SetHideTabWell(false)
  45. //->AddTab(FEzAbilityViewPortSummoner::EzAbilityEditorViewPortSummonerID, ETabState::OpenedTab)
  46. )
  47. )
  48. ->Split
  49. (
  50. FTabManager::NewSplitter()
  51. ->SetSizeCoefficient(0.6f)
  52. ->SetOrientation(Orient_Vertical)
  53. ->Split
  54. (
  55. FTabManager::NewStack()
  56. ->SetSizeCoefficient(0.6f)
  57. ->SetHideTabWell(true)
  58. ->AddTab(FEzAbilityViewPortSummoner::EzAbilityEditorViewPortSummonerID, ETabState::OpenedTab)
  59. )
  60. ->Split
  61. (
  62. FTabManager::NewStack()
  63. ->SetSizeCoefficient(0.4f)
  64. ->SetHideTabWell(true)
  65. ->AddTab(FEzAbilityTimelineSummoner::EzAbilityTimelineSummonerID, ETabState::OpenedTab)
  66. )
  67. )
  68. ->Split
  69. (
  70. FTabManager::NewSplitter()
  71. ->SetSizeCoefficient(0.2f)
  72. ->SetOrientation(Orient_Vertical)
  73. ->Split
  74. (
  75. FTabManager::NewStack()
  76. ->SetSizeCoefficient(0.6f)
  77. ->SetHideTabWell(false)
  78. //->AddTab(FEzAbilityViewPortSummoner::EzAbilityEditorViewPortSummonerID, ETabState::OpenedTab)
  79. )
  80. )
  81. )
  82. );
  83. //EzAbilityEditorTabFactories.OnRegisterTabs().Broadcast(EzAbilityEditorTabFactories, InHostingApp);
  84. LayoutExtender = MakeShared<FLayoutExtender>();
  85. //EzAbilityEditorTabFactories.OnRegisterLayoutExtensions().Broadcast(*LayoutExtender.Get());
  86. TabLayout->ProcessExtensions(*LayoutExtender.Get());
  87. }
  88. void FEzAbilityEditorApplicationMode::RegisterTabFactories(TSharedPtr<class FTabManager> InTabManager)
  89. {
  90. TSharedPtr<FEzAbilityEditor> EzAbilityEditorPtr = EzAbilityEditor.Pin();
  91. EzAbilityEditorPtr->RegisterTabSpawners(InTabManager.ToSharedRef());
  92. EzAbilityEditorPtr->PushTabFactories(EzAbilityEditorTabFactories);
  93. FApplicationMode::RegisterTabFactories(InTabManager);
  94. }
  95. // void FEzAbilityEditorApplicationMode::AddTabFactory(FCreateWorkflowTabFactory FactoryCreator)
  96. // {
  97. // if (FactoryCreator.IsBound())
  98. // {
  99. // EzAbilityEditorTabFactories.RegisterFactory(FactoryCreator.Execute(EzAbilityEditor.Pin()));
  100. // }
  101. // }
  102. //
  103. // void FEzAbilityEditorApplicationMode::RemoveTabFactory(FName TabFactoryID)
  104. // {
  105. // EzAbilityEditorTabFactories.UnregisterFactory(TabFactoryID);
  106. // }
  107. //TSharedRef<FWorkflowTabFactory> FEzAbilityEditorApplicationMode::CreateAdvancedPreviewSceneTabFactory(const TSharedRef<class FWorkflowCentricApplication>& InHostingApp, const TSharedRef<FAdvancedPreviewScene>& InPreviewScene) const
  108. //{
  109. // return MakeShareable(new FEzAbilityViewPortSummoner(InHostingApp, InPreviewScene));
  110. //}
  111. #undef LOCTEXT_NAMESPACE