// Copyright Epic Games, Inc. All Rights Reserved. #pragma once #include "IDetailCustomization.h" #include "Internationalization/Text.h" #include "Templates/SharedPointer.h" #include "Types/SlateEnums.h" class FClothPaintToolBase; class FClothPainter; class IDetailLayoutBuilder; class SWidget; class FClothPaintSettingsCustomization : public IDetailCustomization { public: FClothPaintSettingsCustomization() = delete; FClothPaintSettingsCustomization(FClothPainter* InPainter); virtual ~FClothPaintSettingsCustomization(); static TSharedRef MakeInstance(FClothPainter* InPainter); /** IDetailCustomization interface */ virtual void CustomizeDetails(IDetailLayoutBuilder& DetailBuilder) override; private: /** Handlers for SCombobox, generation of row widgets, combo text and handling selection change */ TSharedRef OnGenerateToolComboRow(TSharedPtr InItem); void OnHandleToolSelection(TSharedPtr InItem, ESelectInfo::Type InSelectInfo, IDetailLayoutBuilder* DetailBuider); FText GetToolComboText() const; /** Callback to calculate auto view range values */ void OnAutoRangeFlagChanged(); /** The painter containing the paint settings we are customizing */ FClothPainter* Painter; }; class FClothPaintBrushSettingsCustomization : public IDetailCustomization { public: static TSharedRef MakeInstance(); /** IDetailCustomization interface */ virtual void CustomizeDetails(IDetailLayoutBuilder& DetailBuilder) override; };