本文整理汇总了C++中IDetailChildrenBuilder::AddChildContent方法的典型用法代码示例。如果您正苦于以下问题:C++ IDetailChildrenBuilder::AddChildContent方法的具体用法?C++ IDetailChildrenBuilder::AddChildContent怎么用?C++ IDetailChildrenBuilder::AddChildContent使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IDetailChildrenBuilder
的用法示例。
在下文中一共展示了IDetailChildrenBuilder::AddChildContent方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: AddColorChildProperty
void FReplaceVectorWithLinearColorBuilder::AddColorChildProperty(const TSharedPtr<IPropertyHandle>& StructHandle, const FText& Text, int32 ElementIndex, IDetailChildrenBuilder& ChildrenBuilder)
{
ChildrenBuilder.AddChildContent(LOCTEXT("Color", "Color"))
.NameContent()
[
SNew(STextBlock)
.Text(Text)
.Font(IPropertyTypeCustomizationUtils::GetRegularFont())
]
.ValueContent()
.MinDesiredWidth(100.0f)
.MaxDesiredWidth(100.0f)
[
SNew(SNumericEntryBox<float>)
.Font(IPropertyTypeCustomizationUtils::GetRegularFont())
.Value(this, &FReplaceVectorWithLinearColorBuilder::OnGetColorElementValue, StructHandle, ElementIndex)
.OnValueCommitted(this, &FReplaceVectorWithLinearColorBuilder::OnColorElementValueCommitted, StructHandle, ElementIndex)
.OnValueChanged(this, &FReplaceVectorWithLinearColorBuilder::OnColorElementValueChanged, StructHandle, ElementIndex)
.OnBeginSliderMovement(this, &FReplaceVectorWithLinearColorBuilder::OnBeginSliderMovement)
.OnEndSliderMovement(this, &FReplaceVectorWithLinearColorBuilder::OnEndSliderMovement)
.AllowSpin(true)
.MinSliderValue(0.0f)
.MaxSliderValue(1.0f)
];
}
示例2: GenerateChildContent
void FLightmapCustomNodeBuilder::GenerateChildContent(IDetailChildrenBuilder& ChildrenBuilder)
{
RefreshLightmapItems();
for(TSharedPtr<FLightmapItem>& Item : LightmapItems)
{
ChildrenBuilder.AddChildContent(LOCTEXT("LightMapsFilter", "Lightmaps"))
.ValueContent()
.HAlign(HAlign_Fill)
[
MakeLightMapList(Item)
];
}
}
示例3: GenerateChildContent
void FLightmapCustomNodeBuilder::GenerateChildContent(IDetailChildrenBuilder& ChildrenBuilder)
{
RefreshLightmapItems();
ChildrenBuilder.AddChildContent(LOCTEXT("LightMapsFilter", "Lightmaps"))
.ValueContent()
.HAlign(HAlign_Fill)
[
SAssignNew(LightmapListView, SListView<TSharedPtr<FLightmapItem>>)
.ListItemsSource(&LightmapItems)
.OnGenerateRow(this, &FLightmapCustomNodeBuilder::MakeLightMapListViewWidget)
.OnContextMenuOpening(this, &FLightmapCustomNodeBuilder::OnGetLightMapContextMenuContent)
.OnMouseButtonDoubleClick(this, &FLightmapCustomNodeBuilder::OnLightMapListMouseButtonDoubleClick)
];
}
示例4: MakeNavRow
void FWidgetNavigationCustomization::MakeNavRow(TWeakPtr<IPropertyHandle> PropertyHandle, IDetailChildrenBuilder& ChildBuilder, EUINavigation Nav, FText NavName)
{
ChildBuilder.AddChildContent(NavName)
.NameContent()
[
SNew(STextBlock)
.Font(IDetailLayoutBuilder::GetDetailFont())
.Text(NavName)
]
.ValueContent()
.MaxDesiredWidth(300)
[
SNew(SHorizontalBox)
+ SHorizontalBox::Slot()
.AutoWidth()
[
SNew(SComboButton)
.HAlign(HAlign_Center)
.ButtonContent()
[
SNew(STextBlock)
.Text(this, &FWidgetNavigationCustomization::GetNavigationText, PropertyHandle, Nav)
]
.ContentPadding(FMargin(2.0f, 1.0f))
.MenuContent()
[
MakeNavMenu(PropertyHandle, Nav)
]
]
// Explicit Navigation Widget
+ SHorizontalBox::Slot()
.FillWidth(1.0f)
[
SNew(SEditableTextBox)
.HintText(LOCTEXT("WidgetName", "Widget Name?"))
.Text(this, &FWidgetNavigationCustomization::GetExplictWidget, PropertyHandle, Nav)
.OnTextCommitted(this, &FWidgetNavigationCustomization::OnCommitExplictWidgetText, PropertyHandle, Nav)
.Font(IDetailLayoutBuilder::GetDetailFont())
.Visibility(this, &FWidgetNavigationCustomization::GetExplictWidgetFieldVisibility, PropertyHandle, Nav)
]
];
}
示例5: CreateGearUIDelegate
void FVehicleTransmissionDataCustomization::CreateGearUIDelegate(TSharedRef<IPropertyHandle> GearProperty, int32 GearIdx, IDetailChildrenBuilder& ChildrenBuilder)
{
FText Label = FText::Format(LOCTEXT("TransmissionGear", "Gear {0}"), FText::AsNumber(GearIdx + 1));
CreateGearUIHelper(ChildrenBuilder.AddChildContent(Label), Label, GearProperty, ForwardGear);
}
开发者ID:JustDo1989,项目名称:UnrealEngine4.11-HairWorks,代码行数:5,代码来源:VehicleTransmissionDataCustomization.cpp
示例6: CustomizeChildren
void FCurveColorCustomization::CustomizeChildren(TSharedRef<IPropertyHandle> InStructPropertyHandle, IDetailChildrenBuilder& StructBuilder, IPropertyTypeCustomizationUtils& StructCustomizationUtils)
{
uint32 NumChildren = 0;
StructPropertyHandle->GetNumChildren(NumChildren);
for( uint32 ChildIndex = 0; ChildIndex < NumChildren; ++ChildIndex )
{
TSharedPtr<IPropertyHandle> Child = StructPropertyHandle->GetChildHandle( ChildIndex );
if( Child->GetProperty()->GetName() == TEXT("ExternalCurve") )
{
ExternalCurveHandle = Child;
FSimpleDelegate OnCurveChangedDelegate = FSimpleDelegate::CreateSP( this, &FCurveColorCustomization::OnExternalCurveChanged, InStructPropertyHandle );
Child->SetOnPropertyValueChanged(OnCurveChangedDelegate);
StructBuilder.AddChildContent(LOCTEXT("ExternalCurveLabel", "ExternalCurve"))
.NameContent()
[
Child->CreatePropertyNameWidget()
]
.ValueContent()
[
SNew(SVerticalBox)
+SVerticalBox::Slot()
.AutoHeight()
[
SNew(SHorizontalBox)
+SHorizontalBox::Slot()
[
Child->CreatePropertyValueWidget()
]
+SHorizontalBox::Slot()
.AutoWidth()
.VAlign(VAlign_Center)
.Padding(1,0)
[
SNew(SButton)
.ButtonStyle( FEditorStyle::Get(), "NoBorder" )
.ContentPadding(1.f)
.ToolTipText(LOCTEXT("ConvertInternalCurveTooltip", "Convert to Internal Color Curve"))
.OnClicked(this, &FCurveColorCustomization::OnConvertButtonClicked)
.IsEnabled(this, &FCurveColorCustomization::IsConvertButtonEnabled)
[
SNew(SImage)
.Image( FEditorStyle::GetBrush(TEXT("PropertyWindow.Button_Clear")) )
]
]
]
+SVerticalBox::Slot()
.AutoHeight()
[
SNew(SButton)
.HAlign(HAlign_Center)
.Text( LOCTEXT( "CreateAssetButton", "Create External Curve" ) )
.ToolTipText(LOCTEXT( "CreateAssetTooltip", "Create a new Color Curve asset from this curve") )
.OnClicked(this, &FCurveColorCustomization::OnCreateButtonClicked)
.IsEnabled(this, &FCurveColorCustomization::IsCreateButtonEnabled)
]
];
}
else
{
StructBuilder.AddChildProperty(Child.ToSharedRef());
}
}
}
示例7: CustomizeChildren
void FAssetImportDataCustomization::CustomizeChildren( TSharedRef<IPropertyHandle> InPropertyHandle, IDetailChildrenBuilder& ChildBuilder, IPropertyTypeCustomizationUtils& CustomizationUtils )
{
PropertyHandle = InPropertyHandle;
FAssetImportInfo* Info = GetEditStruct();
if (!Info)
{
return;
}
auto Font = IDetailLayoutBuilder::GetDetailFont();
const FText SourceFileText = LOCTEXT("SourceFile", "Source File");
for (int32 Index = 0; Index < Info->SourceFiles.Num(); ++Index)
{
ChildBuilder.AddChildContent(SourceFileText)
.NameContent()
[
SNew(STextBlock)
.Text(SourceFileText)
.Font(Font)
]
.ValueContent()
.HAlign(HAlign_Fill)
.MaxDesiredWidth(TOptional<float>())
[
SNew(SVerticalBox)
+ SVerticalBox::Slot()
.AutoHeight()
[
SNew(SHorizontalBox)
+ SHorizontalBox::Slot()
[
SNew(SEditableText)
.IsReadOnly(true)
.Text(this, &FAssetImportDataCustomization::GetFilenameText, Index)
.ToolTipText(this, &FAssetImportDataCustomization::GetFilenameText, Index)
.Font(Font)
]
+SHorizontalBox::Slot()
.AutoWidth()
[
SNew(SButton)
.OnClicked(this, &FAssetImportDataCustomization::OnChangePathClicked, Index)
.ToolTipText(LOCTEXT("ChangePath_Tooltip", "Browse for a new source file path"))
[
SNew(STextBlock)
.Text(LOCTEXT("...", "..."))
.Font(Font)
]
]
+SHorizontalBox::Slot()
.AutoWidth()
[
SNew(SButton)
.VAlign(VAlign_Center)
.HAlign(HAlign_Center)
.ButtonStyle(FEditorStyle::Get(), "HoverHintOnly")
.OnClicked(this, &FAssetImportDataCustomization::OnClearPathClicked, Index)
.ToolTipText(LOCTEXT("ClearPath_Tooltip", "Clear this source file information from the asset"))
[
SNew(SImage)
.Image(FEditorStyle::GetBrush("Cross"))
]
]
]
+ SVerticalBox::Slot()
.AutoHeight()
[
SNew(SEditableText)
.IsReadOnly(true)
.Text(this, &FAssetImportDataCustomization::GetTimestampText, Index)
.Font(Font)
]
];
}
}
示例8: GenerateChildContent
BEGIN_SLATE_FUNCTION_BUILD_OPTIMIZATION
void FTextureLODGroupLayout::GenerateChildContent(IDetailChildrenBuilder& ChildrenBuilder)
{
// Min and Max LOD properties
{
ChildrenBuilder.AddChildContent(LOCTEXT("MinLODSize", "Min LOD Size"))
.NameContent()
[
SNew(STextBlock)
.Font(IDetailLayoutBuilder::GetDetailFont())
.Text(LOCTEXT("MinLODSize", "Min LOD Size"))
]
.ValueContent()
[
SNew(SSpinBox<uint32>)
.Font(IDetailLayoutBuilder::GetDetailFont())
.MinValue(2)
.MaxValue(4096)
.Value(this, &FTextureLODGroupLayout::GetMinLODSize)
.OnValueChanged(this, &FTextureLODGroupLayout::OnMinLODSizeChanged)
.OnValueCommitted(this, &FTextureLODGroupLayout::OnMinLODSizeCommitted)
];
}
{
ChildrenBuilder.AddChildContent(LOCTEXT("MaxLODSize", "Max LOD Size"))
.NameContent()
[
SNew(STextBlock)
.Font(IDetailLayoutBuilder::GetDetailFont())
.Text(LOCTEXT("MaxLODSize", "Max LOD Size"))
]
.ValueContent()
[
SNew(SSpinBox<uint32>)
.Font(IDetailLayoutBuilder::GetDetailFont())
.MinValue(2)
.MaxValue(4096)
.Value(this, &FTextureLODGroupLayout::GetMaxLODSize)
.OnValueChanged(this, &FTextureLODGroupLayout::OnMaxLODSizeChanged)
.OnValueCommitted(this, &FTextureLODGroupLayout::OnMaxLODSizeCommitted)
];
}
// LOD Bias
{
ChildrenBuilder.AddChildContent(LOCTEXT("LODBias", "LOD Bias"))
.NameContent()
[
SNew(STextBlock)
.Font(IDetailLayoutBuilder::GetDetailFont())
.Text(LOCTEXT("LODBias", "LOD Bias"))
]
.ValueContent()
[
SNew(SSpinBox<uint32>)
.Font(IDetailLayoutBuilder::GetDetailFont())
.MinValue(1)
.MaxValue(100)
.Value(this, &FTextureLODGroupLayout::GetLODBias)
.OnValueChanged(this, &FTextureLODGroupLayout::OnLODBiasChanged)
.OnValueCommitted(this, &FTextureLODGroupLayout::OnLODBiasCommitted)
];
}
// Filter properties
TSharedPtr<FName> NamePointPtr = MakeShareable(new FName(NAME_Point));
FilterComboList.Add(NamePointPtr);
TSharedPtr<FName> NameLinearPtr = MakeShareable(new FName(NAME_Linear));
FilterComboList.Add(NameLinearPtr);
TSharedPtr<FName> NameAnisoPtr = MakeShareable(new FName(NAME_Aniso));
FilterComboList.Add(NameAnisoPtr);
{
ChildrenBuilder.AddChildContent(LOCTEXT("MinMagFilter", "MinMag Filter"))
.NameContent()
[
SNew(STextBlock)
.Font(IDetailLayoutBuilder::GetDetailFont())
.Text(LOCTEXT("MinMagFilter", "MinMag Filter"))
]
.ValueContent()
[
SNew(SComboBox< TSharedPtr<FName> >)
.OptionsSource(&FilterComboList)
.OnGenerateWidget(this, &FTextureLODGroupLayout::MakeMinMagFilterComboWidget)
.OnSelectionChanged(this, &FTextureLODGroupLayout::OnMinMagFilterChanged)
.InitiallySelectedItem(FilterComboList[0])
.ContentPadding(0)
.Content()
[
SNew(STextBlock)
.Text(this, &FTextureLODGroupLayout::GetMinMagFilterComboBoxContent)
.Font(IDetailLayoutBuilder::GetDetailFont())
.ToolTipText(this, &FTextureLODGroupLayout::GetMinMagFilterComboBoxToolTip)
]
];
}
//.........这里部分代码省略.........
示例9: GenerateChildContent
void FRemeshingSettingsLayout::GenerateChildContent( IDetailChildrenBuilder& ChildrenBuilder )
{
//Use MassiveLOD
ChildrenBuilder.AddChildContent(LOCTEXT("UseMassiveLOD", "Use MassiveLOD") )
.Visibility(RemeshingSettingsVisisbility)
.NameContent()
[
SNew( STextBlock )
.Font( IDetailLayoutBuilder::GetDetailFont() )
.Text( LOCTEXT("AsParent", "As Parent") )
]
.ValueContent()
[
SNew(SCheckBox)
.IsChecked(this, &FRemeshingSettingsLayout::GetUseMassiveLODState)
.OnCheckStateChanged(this, &FRemeshingSettingsLayout::OnUseMassiveLODChanged)
];
//Size On Screen
ChildrenBuilder.AddChildContent( LOCTEXT("SizeOnScreen", "Size On Screen") )
.Visibility(RemeshingSettingsVisisbility)
.NameContent()
[
SNew( STextBlock )
.Font( IDetailLayoutBuilder::GetDetailFont() )
.Text( LOCTEXT("SizeOnScreen", "Size On Screen") )
]
.ValueContent()
[
SNew(SSpinBox<int32>)
.Font( IDetailLayoutBuilder::GetDetailFont() )
.MinValue(1)
.MaxValue(5000)
.Value(this, &FRemeshingSettingsLayout::GetSizeOnScreen)
.OnValueChanged(this, &FRemeshingSettingsLayout::OnSizeOnScreenChanged)
.OnValueCommitted(this, &FRemeshingSettingsLayout::OnSizeOnScreenCommitted)
];
//Merge Distance
ChildrenBuilder.AddChildContent( LOCTEXT("MergeDistance", "Merge Distance") )
.Visibility(RemeshingSettingsVisisbility)
.NameContent()
[
SNew( STextBlock )
.Font( IDetailLayoutBuilder::GetDetailFont() )
.Text( LOCTEXT("MergeDistance", "Merge Distance") )
]
.ValueContent()
[
SNew(SSpinBox<int32>)
.Font( IDetailLayoutBuilder::GetDetailFont() )
.MinValue(0)
.MaxValue(5000)
.Value(this, &FRemeshingSettingsLayout::GetMergeDistance)
.OnValueChanged(this, &FRemeshingSettingsLayout::OnMergeDistanceChanged)
.OnValueCommitted(this, &FRemeshingSettingsLayout::OnMergeDistanceCommitted)
];
//Recalculate Normals
/*ChildrenBuilder.AddChildContent( LOCTEXT("RecalculateNormals", "Recalculate Normals") )
.Visibility(RemeshingSettingsVisisbility)
.NameContent()
[
SNew( STextBlock )
.Font( IDetailLayoutBuilder::GetDetailFontBold() )
.Text( LOCTEXT("RecalculateNormals", "Recalculate Normals").ToString() )
];*/
ChildrenBuilder.AddChildContent( LOCTEXT("HardAngle", "Hard Angle") )
.Visibility(RemeshingSettingsVisisbility)
.NameContent()
[
SNew(SBox)
.Content()
[
SNew( STextBlock )
.Font( IDetailLayoutBuilder::GetDetailFont() )
.Text( LOCTEXT("HardAngle", "Hard Angle") )
]
]
.ValueContent()
[
SNew(SSpinBox<float>)
.Font( IDetailLayoutBuilder::GetDetailFont() )
.MinValue(0.0f)
.MaxValue(180.0f)
.Value(this, &FRemeshingSettingsLayout::GetHardAngle)
.OnValueChanged(this, &FRemeshingSettingsLayout::OnHardAngleChanged)
.OnValueCommitted(this, &FRemeshingSettingsLayout::OnHardAngleCommitted)
];
}