EzAbilityTabSpawners.cpp 3.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. // Copyright Epic Games, Inc. All Rights Reserved.
  2. #include "EzAbilityTabSpawners.h"
  3. #include "Widgets/Input/SCheckBox.h"
  4. #include "Widgets/Layout/SBorder.h"
  5. #include "Widgets/Text/STextBlock.h"
  6. #include "Styling/AppStyle.h"
  7. #include "Styling/CoreStyle.h"
  8. #include "SAdvancedPreviewDetailsTab.h"
  9. #define LOCTEXT_NAMESPACE "AbilityModes"
  10. /////////////////////////////////////////////////////
  11. // FAdvancedPreviewSceneTabSummoner
  12. const FName FAbilityTabs::EzAdvancedPreviewSceneSettingsID("EzAdvancedPreviewTab");
  13. FEzAdvancedPreviewSceneTabSummoner::FEzAdvancedPreviewSceneTabSummoner(TSharedPtr<class FAssetEditorToolkit> InHostingApp, const TSharedRef<FAdvancedPreviewScene>& InPreviewScene)
  14. : FWorkflowTabFactory(FAbilityTabs::EzAdvancedPreviewSceneSettingsID, InHostingApp)
  15. , PreviewScene(InPreviewScene)
  16. {
  17. TabLabel = LOCTEXT("AbilityTab", "AbilityView");
  18. TabIcon = FSlateIcon(FAppStyle::GetAppStyleSetName(), "LevelEditor.Tabs.Details");
  19. bIsSingleton = true;
  20. ViewMenuDescription = LOCTEXT("AdvancedPreviewScene", "AbilityView");
  21. ViewMenuTooltip = LOCTEXT("AdvancedPreviewScene_ToolTip", "Shows the advanced preview scene settings");
  22. }
  23. // TSharedRef<class IDetailCustomization> FEzAdvancedPreviewSceneTabSummoner::CustomizePreviewSceneDescription()
  24. // {
  25. // TSharedRef<IPersonaPreviewScene> PreviewSceneRef = PreviewScene.Pin().ToSharedRef();
  26. // FString SkeletonName;
  27. // TSharedPtr<IEditableSkeleton> EditableSkeleton = PreviewSceneRef->GetPersonaToolkit()->GetEditableSkeleton();
  28. // if(EditableSkeleton.IsValid())
  29. // {
  30. // SkeletonName = FAssetData(&EditableSkeleton->GetSkeleton()).GetExportTextName();
  31. // }
  32. // return MakeShareable(new FPreviewSceneDescriptionCustomization(SkeletonName, PreviewSceneRef->GetPersonaToolkit()));
  33. // }
  34. // TSharedRef<class IPropertyTypeCustomization> FEzAdvancedPreviewSceneTabSummoner::CustomizePreviewMeshCollectionEntry()
  35. // {
  36. // return MakeShareable(new FPreviewMeshCollectionEntryCustomization(PreviewScene.Pin().ToSharedRef()));
  37. // }
  38. TSharedRef<SWidget> FEzAdvancedPreviewSceneTabSummoner::CreateTabBody(const FWorkflowTabSpawnInfo& Info) const
  39. {
  40. // const TSharedPtr<FAdvancedPreviewScene> &InPreviewScene = PreviewScene.Pin();
  41. // return SNew(SAdvancedPreviewDetailsTab, InPreviewScene);
  42. return SNew(SButton)
  43. .VAlign(VAlign_Center)
  44. .HAlign(HAlign_Center)
  45. .Text(LOCTEXT("SplitSprites", "Split Sprites"))
  46. .ToolTipText(LOCTEXT("SplitSprites_Tooltip", "Splits all sprite instances into separate sprite actors or components"));
  47. // TSharedRef<FAnimationEditorPreviewScene> PreviewSceneRef = StaticCastSharedRef<FAnimationEditorPreviewScene>(PreviewScene.Pin().ToSharedRef());
  48. //
  49. // TArray<FAdvancedPreviewSceneModule::FDetailCustomizationInfo> DetailsCustomizations;
  50. // TArray<FAdvancedPreviewSceneModule::FPropertyTypeCustomizationInfo> PropertyTypeCustomizations;
  51. //
  52. // DetailsCustomizations.Add({ UPersonaPreviewSceneDescription::StaticClass(), FOnGetDetailCustomizationInstance::CreateSP(const_cast<FAdvancedPreviewSceneTabSummoner*>(this), &FAdvancedPreviewSceneTabSummoner::CustomizePreviewSceneDescription) });
  53. // PropertyTypeCustomizations.Add({ FPreviewMeshCollectionEntry::StaticStruct()->GetFName(), FOnGetPropertyTypeCustomizationInstance::CreateSP(const_cast<FAdvancedPreviewSceneTabSummoner*>(this), &FAdvancedPreviewSceneTabSummoner::CustomizePreviewMeshCollectionEntry) });
  54. //
  55. // FAdvancedPreviewSceneModule& AdvancedPreviewSceneModule = FModuleManager::LoadModuleChecked<FAdvancedPreviewSceneModule>("AdvancedPreviewScene");
  56. // return AdvancedPreviewSceneModule.CreateAdvancedPreviewSceneSettingsWidget(PreviewSceneRef, PreviewSceneRef->GetPreviewSceneDescription(), DetailsCustomizations, PropertyTypeCustomizations);
  57. }
  58. FText FEzAdvancedPreviewSceneTabSummoner::GetTabToolTipText(const FWorkflowTabSpawnInfo& Info) const
  59. {
  60. return LOCTEXT("AdvancedPreviewSettingsToolTip", "The Advanced Preview Settings tab will let you alter the preview scene's settings.");
  61. }
  62. #undef LOCTEXT_NAMESPACE