// Copyright 2019-Present LexLiu. All Rights Reserved. #include "CoreMinimal.h" #include "IDetailCustomization.h" #include "Core/LGUITextData.h" #pragma once /** * */ class FUITextCustomization : public IDetailCustomization { public: FUITextCustomization(); ~FUITextCustomization(); static TSharedRef MakeInstance(); /** IDetailCustomization interface */ virtual void CustomizeDetails(IDetailLayoutBuilder& DetailBuilder) override; private: TWeakObjectPtr TargetScriptPtr; void ForceRefresh(IDetailLayoutBuilder* DetailBuilder); void HandleHorizontalAlignmentCheckStateChanged(ECheckBoxState InCheckboxState, TSharedRef PropertyHandle, EUITextParagraphHorizontalAlign ToAlignment); ECheckBoxState GetHorizontalAlignmentCheckState(TSharedRef PropertyHandle, EUITextParagraphHorizontalAlign ForAlignment) const; void HandleVerticalAlignmentCheckStateChanged(ECheckBoxState InCheckboxState, TSharedRef PropertyHandle, EUITextParagraphVerticalAlign ToAlignment); ECheckBoxState GetVerticalAlignmentCheckState(TSharedRef PropertyHandle, EUITextParagraphVerticalAlign ForAlignment) const; void OnCopyAlignment(); void OnPasteAlignment(TSharedRef HAlignPropertyHandle, TSharedRef VAlignPropertyHandle); bool OnCanPasteAlignment()const; };