You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
UETOOL-213 - Minimize Slate FString -> FText conversion (remove SLATE_TEXT_ATTRIBUTE) This fixes any editor/engine specific code that was passing text to Slate as FString rather than FText. [CL 2399803 by Jamie Dale in Main branch]
111 lines
3.4 KiB
C++
111 lines
3.4 KiB
C++
// Copyright 1998-2015 Epic Games, Inc. All Rights Reserved.
|
|
|
|
#pragma once
|
|
|
|
#include "PropertyEditing.h"
|
|
#include "PropertyCustomizationHelpers.h"
|
|
#include "../STestFunctionWidget.h"
|
|
|
|
class FEnvQueryTestDetails : public IDetailCustomization
|
|
{
|
|
public:
|
|
/** Makes a new instance of this detail layout class for a specific detail view requesting it */
|
|
static TSharedRef<IDetailCustomization> MakeInstance();
|
|
|
|
/** IDetailCustomization interface */
|
|
virtual void CustomizeDetails( IDetailLayoutBuilder& DetailLayout ) override;
|
|
|
|
protected:
|
|
|
|
/** cached name, value pairs of enums that may change available options based on other options. */
|
|
struct FTextIntPair
|
|
{
|
|
FText Text;
|
|
int32 Int;
|
|
|
|
FTextIntPair() {}
|
|
FTextIntPair(FText InText, int32 InInt) : Text(InText), Int(InInt) {}
|
|
};
|
|
|
|
TSharedPtr<IPropertyHandle> FilterTypeHandle;
|
|
TSharedPtr<IPropertyHandle> ScoreEquationHandle;
|
|
TSharedPtr<IPropertyHandle> TestPurposeHandle;
|
|
TSharedPtr<IPropertyHandle> ClampMinTypeHandle;
|
|
TSharedPtr<IPropertyHandle> ClampMaxTypeHandle;
|
|
TSharedPtr<IPropertyHandle> ScoreClampMinHandle;
|
|
TSharedPtr<IPropertyHandle> FloatValueMinHandle;
|
|
TSharedPtr<IPropertyHandle> ScoreClampMaxHandle;
|
|
TSharedPtr<IPropertyHandle> FloatValueMaxHandle;
|
|
TSharedPtr<IPropertyHandle> ScoreHandle;
|
|
|
|
bool IsFiltering() const;
|
|
bool IsScoring() const;
|
|
|
|
bool UsesFilterMin() const;
|
|
bool UsesFilterMax() const;
|
|
|
|
FText GetCurrentFilterTestDesc() const;
|
|
FText GetScoreEquationInfo() const;
|
|
|
|
EVisibility GetScoreVisibility() const;
|
|
EVisibility GetClampingVisibility() const;
|
|
|
|
TSharedRef<SWidget> OnGetFilterTestContent();
|
|
void BuildFilterTestValues();
|
|
|
|
void BuildScoreEquationValues();
|
|
TSharedRef<SWidget> OnGetEquationValuesContent();
|
|
FText GetEquationValuesDesc() const;
|
|
void OnScoreEquationChange(int32 Index);
|
|
|
|
void OnFilterTestChange(int32 Index);
|
|
void OnClampMinTestChange(int32 Index);
|
|
void OnClampMaxTestChange(int32 Index);
|
|
|
|
TSharedRef<SWidget> OnGetClampMaxTypeContent();
|
|
FText GetClampMaxTypeDesc() const;
|
|
|
|
TSharedRef<SWidget> OnGetClampMinTypeContent();
|
|
FText GetClampMinTypeDesc() const;
|
|
|
|
bool IsMatchingBoolValue() const;
|
|
|
|
// Is this a float test at all?
|
|
EVisibility GetFloatTestVisibility() const;
|
|
|
|
// Is this a float test that is filtering?
|
|
EVisibility GetFloatFilterVisibility() const;
|
|
|
|
// Is this a float test that is scoring?
|
|
EVisibility GetFloatScoreVisibility() const;
|
|
|
|
EVisibility GetTestPreviewVisibility() const;
|
|
EVisibility GetVisibilityOfFloatValueMin() const;
|
|
EVisibility GetVisibilityOfFloatValueMax() const;
|
|
EVisibility GetVisibilityOfValueMinForScoreClamping() const;
|
|
EVisibility GetVisibilityOfValueMaxForScoreClamping() const;
|
|
EVisibility GetBoolValueVisibilityForScoring() const;
|
|
EVisibility GetBoolValueVisibility() const;
|
|
EVisibility GetVisibilityOfScoreClampMinimum() const;
|
|
EVisibility GetVisibilityOfScoreClampMaximum() const;
|
|
|
|
void BuildScoreClampingTypeValues(bool bBuildMinValues, TArray<FTextIntPair>& ClampTypeValues) const;
|
|
|
|
void UpdateTestFunctionPreview() const;
|
|
void FillEquationSamples(uint8 EquationType, bool bInversed, TArray<float>& Samples) const;
|
|
TSharedPtr<STestFunctionWidget> PreviewWidget;
|
|
|
|
|
|
TArray<FTextIntPair> FilterTestValues;
|
|
|
|
TArray<FTextIntPair> ClampMinTypeValues;
|
|
TArray<FTextIntPair> ClampMaxTypeValues;
|
|
|
|
TArray<FTextIntPair> ScoreEquationValues;
|
|
|
|
TWeakObjectPtr<UObject> MyTest;
|
|
|
|
FORCEINLINE bool AllowWritingToFiltersFromScore() const { return false; }
|
|
TAttribute<bool> AllowWriting;
|
|
};
|