UMjPropertyRow¶
A reusable widget base for a single property row (Label + Control + ValueDisplay).
In the Blueprint, you should bind: - PropertyLabel (TextBlock) - PropertySlider (Slider) [Optional for Toggle mode] - PropertyToggle (CheckBox) [Optional for Slider mode] - ValueDisplay (TextBlock)
| Attribute | Value |
|---|---|
| Kind | Class |
| UE Macro | UCLASS |
| Inherits | UUserWidget |
Properties¶
Public Properties¶
| Property | Type | Description |
|---|---|---|
OnValueChanged |
FMjPropertyValueChanged |
Event fired when the value changes via user interaction. |
OnValueChanged¶
Event fired when the value changes via user interaction.
- Type: FMjPropertyValueChanged
- Category: MuJoCo|UI
Protected Properties¶
| Property | Type | Description |
|---|---|---|
PropertyLabel |
UTextBlock* |
|
PropertySlider |
USlider* |
|
PropertyToggle |
UCheckBox* |
|
ValueDisplay |
UTextBlock* |
|
PropertyName |
FString |
|
PropertyType |
EMjPropertyType | |
bIsControllable |
bool |
PropertyLabel¶
- Type: UTextBlock*
PropertySlider¶
- Type: USlider*
PropertyToggle¶
- Type: UCheckBox*
ValueDisplay¶
- Type: UTextBlock*
PropertyName¶
- Type: FString
- Blueprint: 🟢 ReadOnly
- Category: MuJoCo|UI
PropertyType¶
- Type: EMjPropertyType
- Blueprint: 🟢 ReadOnly
- Category: MuJoCo|UI
bIsControllable¶
- Type: bool
- Blueprint: 🟢 ReadOnly
- Category: MuJoCo|UI
Functions¶
Public Functions¶
MuJoCo|UI¶
| Function | Returns | Description |
|---|---|---|
InitializeProperty() |
void | Sets up the row with the given property name and type. |
SetSliderRange() |
void | Manually sets the slider range. |
SetValue() |
void | Updates the displayed value without triggering events. |
GetPropertyName() |
FString |
Gets the name of the property this row represents. |
GetPropertyType() |
EMjPropertyType | Gets the type of the property this row represents. |
SetControllable() |
void | Sets whether this row is an interactive control (actuator). |
IsControllable() |
bool |
Returns true if this is an interactive actuator control. |
IsBeingDragged() |
bool |
Checks if the user is currently dragging the slider. |
SetRowEnabled() |
void | Enables or disables the interactive widgets in this row. |
SetAssociatedObject() |
void | Sets the object (Component or otherwise) associated with this row. |
GetAssociatedObject() |
UObject* |
Gets the object associated with this row. |
InitializeProperty¶
Sets up the row with the given property name and type.
- Signature:
InitializeProperty(const FString&InName, EMjPropertyType InType,floatInitialValue,FVector2DRange) - Blueprint: 🔵 Callable
SetSliderRange¶
Manually sets the slider range.
- Signature:
SetSliderRange(FVector2DRange) - Blueprint: 🔵 Callable
SetValue¶
Updates the displayed value without triggering events.
- Signature:
SetValue(floatNewValue) - Blueprint: 🔵 Callable
GetPropertyName¶
Gets the name of the property this row represents.
- Signature:
GetPropertyName() - Blueprint: 💎 Pure
- Returns: FString
GetPropertyType¶
Gets the type of the property this row represents.
- Signature:
GetPropertyType() - Blueprint: 💎 Pure
- Returns: EMjPropertyType
SetControllable¶
Sets whether this row is an interactive control (actuator).
- Signature:
SetControllable(boolbInControllable) - Blueprint: 🔵 Callable
IsControllable¶
Returns true if this is an interactive actuator control.
- Signature:
IsControllable() - Blueprint: 💎 Pure
- Returns: bool
IsBeingDragged¶
Checks if the user is currently dragging the slider.
- Signature:
IsBeingDragged() - Blueprint: 💎 Pure
- Returns: bool
SetRowEnabled¶
Enables or disables the interactive widgets in this row.
- Signature:
SetRowEnabled(boolbEnabled) - Blueprint: 🔵 Callable
SetAssociatedObject¶
Sets the object (Component or otherwise) associated with this row.
- Signature:
SetAssociatedObject(UObject*InObject) - Blueprint: 🔵 Callable
GetAssociatedObject¶
Gets the object associated with this row.
- Signature:
GetAssociatedObject() - Blueprint: 💎 Pure
- Returns: UObject*