Files
UnrealEngineUWP/Engine/Source/Editor/DetailCustomizations/Private/LightingChannelsCustomization.h
Jared Therriault e9d2340ede Slate/ PropertyEditor:
-Adjust spacing of light channel buttons
-Static Lights Gray Out Light Channels (Details and Light Mixer)

Object Mixer:
-Implement list of property names that when changed require a list refresh

#jira UE-162907
#jira UE-169746
#jira UE-170232

#rb Jason.Walter

#preflight https://horde.devtools.epicgames.com/job/6374217bee4d25f90a5eb3e8

[CL 23149499 by Jared Therriault in ue5-main branch]
2022-11-15 20:38:21 -05:00

34 lines
1.1 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "IPropertyTypeCustomization.h"
#include "PropertyHandle.h"
/**
* Customizes Lighting Channels as a horizontal row of buttons.
*/
class DETAILCUSTOMIZATIONS_API FLightingChannelsCustomization : public IPropertyTypeCustomization
{
public:
static TSharedRef<IPropertyTypeCustomization> MakeInstance();
FLightingChannelsCustomization(){}
virtual void CustomizeHeader(TSharedRef<IPropertyHandle> StructPropertyHandle, class FDetailWidgetRow& HeaderRow, IPropertyTypeCustomizationUtils& StructCustomizationUtils) override;
virtual void CustomizeChildren(TSharedRef<IPropertyHandle> PropertyHandle, class IDetailChildrenBuilder& ChildBuilder, IPropertyTypeCustomizationUtils& CustomizationUtils) override;
private:
FText GetStructPropertyNameText() const;
FText GetStructPropertyTooltipText() const;
bool IsLightingChannelButtonEditable(uint32 ChildIndex) const;
void OnButtonCheckedStateChanged(ECheckBoxState NewState, uint32 ChildIndex) const;
ECheckBoxState GetButtonCheckedState(uint32 ChildIndex) const;
TSharedPtr<IPropertyHandle> LightingChannelsHandle;
FCheckBoxStyle Style;
};