void FBlackboardSelectorDetails::CustomizeHeader( TSharedRef<class IPropertyHandle> StructPropertyHandle, class FDetailWidgetRow& HeaderRow, IPropertyTypeCustomizationUtils& StructCustomizationUtils ) { MyStructProperty = StructPropertyHandle; PropUtils = StructCustomizationUtils.GetPropertyUtilities().Get(); CacheBlackboardData(); HeaderRow.IsEnabled(TAttribute<bool>::Create(TAttribute<bool>::FGetter::CreateSP(this, &FBlackboardSelectorDetails::IsEditingEnabled))) .NameContent() [ StructPropertyHandle->CreatePropertyNameWidget() ] .ValueContent() [ SNew(SComboButton) .OnGetMenuContent(this, &FBlackboardSelectorDetails::OnGetKeyContent) .ContentPadding(FMargin( 2.0f, 2.0f )) .IsEnabled(this, &FBlackboardSelectorDetails::IsEditingEnabled) .ButtonContent() [ SNew(STextBlock) .Text(this, &FBlackboardSelectorDetails::GetCurrentKeyDesc) .Font(IDetailLayoutBuilder::GetDetailFont()) ] ]; InitKeyFromProperty(); }
void FTextCustomization::CustomizeHeader( TSharedRef<class IPropertyHandle> InPropertyHandle, class FDetailWidgetRow& HeaderRow, IPropertyTypeCustomizationUtils& PropertyTypeCustomizationUtils ) { TSharedRef<IEditableTextProperty> EditableTextProperty = MakeShareable(new FEditableTextPropertyHandle(InPropertyHandle, PropertyTypeCustomizationUtils.GetPropertyUtilities())); const bool bIsMultiLine = EditableTextProperty->IsMultiLineText(); HeaderRow.FilterString(InPropertyHandle->GetPropertyDisplayName()) .NameContent() [ InPropertyHandle->CreatePropertyNameWidget() ] .ValueContent() .MinDesiredWidth(bIsMultiLine ? 250.f : 125.f) .MaxDesiredWidth(600.f) [ SNew(STextPropertyEditableTextBox, EditableTextProperty) .Font(FEditorStyle::GetFontStyle("PropertyWindow.NormalFont")) .AutoWrapText(true) ]; }