void SVectorInputBox::ConstructZ( const FArguments& InArgs, TSharedRef<SHorizontalBox> HorizontalBox ) { const FLinearColor LabelColor = InArgs._bColorAxisLabels ? SNumericEntryBox<float>::BlueLabelBackgroundColor : FLinearColor(0.0f,0.0f,0.0f,.5f); TSharedRef<SWidget> LabelWidget = BuildDecoratorLabel(LabelColor, FLinearColor::White, LOCTEXT("Z_Label", "Z")); TAttribute<FMargin> MarginAttribute; if (bCanBeCrushed) { MarginAttribute = TAttribute<FMargin>::Create(TAttribute<FMargin>::FGetter::CreateSP(this, &SVectorInputBox::GetTextMargin)); } HorizontalBox->AddSlot() .VAlign( VAlign_Center ) .FillWidth( 1.0f ) .Padding( 0.0f, 1.0f, 0.0f, 1.0f ) [ SNew( SNumericEntryBox<float> ) .Font( InArgs._Font ) .Value( InArgs._Z ) .OnValueChanged( InArgs._OnZChanged ) .OnValueCommitted( InArgs._OnZCommitted ) .ToolTipText( LOCTEXT("Z_ToolTip", "Z Value") ) .UndeterminedString( LOCTEXT("MultipleValues", "Multiple Values") ) .LabelPadding(0) .OverrideTextMargin(MarginAttribute) .ContextMenuExtender(InArgs._ContextMenuExtenderZ) .TypeInterface(InArgs._TypeInterface) .Label() [ LabelWidget ] ]; }
void SRotatorInputBox::Construct( const SRotatorInputBox::FArguments& InArgs ) { bCanBeCrushed = InArgs._AllowResponsiveLayout; const FLinearColor LabelColorX = InArgs._bColorAxisLabels ? SNumericEntryBox<float>::RedLabelBackgroundColor : FLinearColor(0.0f, 0.0f, 0.0f, .5f); const FLinearColor LabelColorY = InArgs._bColorAxisLabels ? SNumericEntryBox<float>::GreenLabelBackgroundColor : FLinearColor(0.0f, 0.0f, 0.0f, .5f); const FLinearColor LabelColorZ = InArgs._bColorAxisLabels ? SNumericEntryBox<float>::BlueLabelBackgroundColor : FLinearColor(0.0f, 0.0f, 0.0f, .5f); this->ChildSlot [ SNew(SHorizontalBox) +SHorizontalBox::Slot() .VAlign( VAlign_Center ) .FillWidth( 1.0f ) .Padding( 0.0f, 1.0f, 2.0f, 1.0f ) [ SNew(SNumericEntryBox<float>) .AllowSpin(InArgs._AllowSpin) .MinSliderValue(0.0f) .MaxSliderValue(359.999f) .LabelPadding(0) .Label() [ BuildDecoratorLabel(LabelColorX, FLinearColor::White, LOCTEXT("Roll_Label", "X")) ] .Font( InArgs._Font ) .Value( InArgs._Roll ) .OnValueChanged( InArgs._OnRollChanged ) .OnValueCommitted( InArgs._OnRollCommitted ) .OnBeginSliderMovement( InArgs._OnBeginSliderMovement ) .OnEndSliderMovement( InArgs._OnEndSliderMovement ) .UndeterminedString( LOCTEXT("MultipleValues", "Multiple Values") ) .ToolTipText( LOCTEXT("Roll_ToolTip", "Roll Value") ) .TypeInterface(InArgs._TypeInterface) ] +SHorizontalBox::Slot() .VAlign( VAlign_Center ) .FillWidth( 1.0f ) .Padding( 0.0f, 1.0f, 2.0f, 1.0f ) [ SNew(SNumericEntryBox<float>) .AllowSpin(InArgs._AllowSpin) .MinSliderValue(0.0f) .MaxSliderValue(359.999f) .LabelPadding(0) .Label() [ BuildDecoratorLabel(LabelColorY, FLinearColor::White, LOCTEXT("Pitch_Label", "Y")) ] .Font( InArgs._Font ) .Value( InArgs._Pitch ) .OnValueChanged( InArgs._OnPitchChanged ) .OnValueCommitted( InArgs._OnPitchCommitted ) .OnBeginSliderMovement( InArgs._OnBeginSliderMovement ) .OnEndSliderMovement( InArgs._OnEndSliderMovement ) .UndeterminedString( LOCTEXT("MultipleValues", "Multiple Values") ) .ToolTipText( LOCTEXT("Pitch_ToolTip", "Pitch Value") ) .TypeInterface(InArgs._TypeInterface) ] +SHorizontalBox::Slot() .VAlign( VAlign_Center ) .FillWidth( 1.0f ) .Padding( 0.0f, 1.0f, 0.0f, 1.0f ) [ SNew(SNumericEntryBox<float>) .AllowSpin(InArgs._AllowSpin) .MinSliderValue(0.0f) .MaxSliderValue(359.999f) .LabelPadding(0) .Label() [ BuildDecoratorLabel(LabelColorZ, FLinearColor::White, LOCTEXT("Yaw_Label", "Z")) ] .Font( InArgs._Font ) .Value( InArgs._Yaw ) .OnValueChanged( InArgs._OnYawChanged ) .OnValueCommitted( InArgs._OnYawCommitted ) .OnBeginSliderMovement( InArgs._OnBeginSliderMovement ) .OnEndSliderMovement( InArgs._OnEndSliderMovement ) .UndeterminedString( LOCTEXT("MultipleValues", "Multiple Values") ) .ToolTipText( LOCTEXT("Yaw_ToolTip", "Yaw Value") ) .TypeInterface(InArgs._TypeInterface) ] ]; }