// Copyright Epic Games, Inc. All Rights Reserved. #include "EditorUtilityWidgetSettingsCustomization.h" #include "DetailLayoutBuilder.h" #include "DetailWidgetRow.h" #include "WidgetEditingProjectSettings.h" TSharedRef FEditorUtilityWidgetSettingsCustomization::MakeInstance() { return MakeShareable( new FEditorUtilityWidgetSettingsCustomization() ); } void FEditorUtilityWidgetSettingsCustomization::CustomizeDetails(IDetailLayoutBuilder& DetailLayout) { // Hide the parent class selector properties because the EditorUtilityWidgetBP factory doesn't use them yet TSharedPtr ParentSelectorProperty = DetailLayout.GetProperty(GET_MEMBER_NAME_CHECKED(UWidgetEditingProjectSettings, bUseUserWidgetParentClassViewerSelector), UWidgetEditingProjectSettings::StaticClass()); ParentSelectorProperty->MarkHiddenByCustomization(); TSharedPtr FavoriteParentClassesProperty = DetailLayout.GetProperty(GET_MEMBER_NAME_CHECKED(UWidgetEditingProjectSettings, FavoriteWidgetParentClasses), UWidgetEditingProjectSettings::StaticClass()); FavoriteParentClassesProperty->MarkHiddenByCustomization(); // Hide properties where we don't want the Editor Utility Widget settings to differ from the standard UMG ones TSharedPtr TemplateSelectorProperty = DetailLayout.GetProperty(GET_MEMBER_NAME_CHECKED(UWidgetEditingProjectSettings, bUseWidgetTemplateSelector), UWidgetEditingProjectSettings::StaticClass()); TemplateSelectorProperty->MarkHiddenByCustomization(); TSharedPtr MakeVariableProperty = DetailLayout.GetProperty(GET_MEMBER_NAME_CHECKED(UWidgetEditingProjectSettings, bEnableMakeVariable), UWidgetEditingProjectSettings::StaticClass()); MakeVariableProperty->MarkHiddenByCustomization(); TSharedPtr WidgetAnimationWindowProperty = DetailLayout.GetProperty(GET_MEMBER_NAME_CHECKED(UWidgetEditingProjectSettings, bEnableWidgetAnimationEditor), UWidgetEditingProjectSettings::StaticClass()); WidgetAnimationWindowProperty->MarkHiddenByCustomization(); TSharedPtr PaletteWindowProperty = DetailLayout.GetProperty(GET_MEMBER_NAME_CHECKED(UWidgetEditingProjectSettings, bEnablePaletteWindow), UWidgetEditingProjectSettings::StaticClass()); PaletteWindowProperty->MarkHiddenByCustomization(); TSharedPtr LibraryWindowProperty = DetailLayout.GetProperty(GET_MEMBER_NAME_CHECKED(UWidgetEditingProjectSettings, bEnableLibraryWindow), UWidgetEditingProjectSettings::StaticClass()); LibraryWindowProperty->MarkHiddenByCustomization(); TSharedPtr HierarchyWindowProperty = DetailLayout.GetProperty(GET_MEMBER_NAME_CHECKED(UWidgetEditingProjectSettings, bEnableHierarchyWindow), UWidgetEditingProjectSettings::StaticClass()); HierarchyWindowProperty->MarkHiddenByCustomization(); TSharedPtr BindWidgetWindowProperty = DetailLayout.GetProperty(GET_MEMBER_NAME_CHECKED(UWidgetEditingProjectSettings, bEnableBindWidgetWindow), UWidgetEditingProjectSettings::StaticClass()); BindWidgetWindowProperty->MarkHiddenByCustomization(); TSharedPtr NavigationSimWindowProperty = DetailLayout.GetProperty(GET_MEMBER_NAME_CHECKED(UWidgetEditingProjectSettings, bEnableNavigationSimulationWindow), UWidgetEditingProjectSettings::StaticClass()); NavigationSimWindowProperty->MarkHiddenByCustomization(); TSharedPtr ConfigPaletteProperty = DetailLayout.GetProperty(GET_MEMBER_NAME_CHECKED(UWidgetEditingProjectSettings, bUseEditorConfigPaletteFiltering), UWidgetEditingProjectSettings::StaticClass()); ConfigPaletteProperty->MarkHiddenByCustomization(); TSharedPtr ClassViewerProperty = DetailLayout.GetProperty(GET_MEMBER_NAME_CHECKED(UWidgetEditingProjectSettings, bUseUserWidgetParentDefaultClassViewerSelector), UWidgetEditingProjectSettings::StaticClass()); ClassViewerProperty->MarkHiddenByCustomization(); }