更新 Source/FLESHEditor/Public/MatrixInputWidget.h

This commit is contained in:
2025-04-21 18:36:07 +08:00
parent d042f24775
commit d5d633ac68

View File

@@ -20,11 +20,17 @@ public:
SLATE_BEGIN_ARGS(SMatrixInputWidget) SLATE_BEGIN_ARGS(SMatrixInputWidget)
: _Matrix(FMatrix::Identity) : _Matrix(FMatrix::Identity)
, _OnMatrixChanged() , _OnMatrixChanged()
, _Rows(4)
, _Columns(4)
{} {}
/** The initial matrix value */ /** The initial matrix value */
SLATE_ARGUMENT(FMatrix, Matrix) SLATE_ARGUMENT(FMatrix, Matrix)
/** Called when the matrix value changes */ /** Called when the matrix value changes */
SLATE_EVENT(FOnMatrixChanged, OnMatrixChanged) SLATE_EVENT(FOnMatrixChanged, OnMatrixChanged)
/** Number of rows in the matrix */
SLATE_ARGUMENT(int32, Rows)
/** Number of columns in the matrix */
SLATE_ARGUMENT(int32, Columns)
SLATE_END_ARGS() SLATE_END_ARGS()
/** Constructs this widget */ /** Constructs this widget */
@@ -49,16 +55,22 @@ public:
void SetFromTransform(const FTransform& Transform); void SetFromTransform(const FTransform& Transform);
private: private:
/** The current matrix value */ /** Current matrix value */
FMatrix Matrix; FMatrix Matrix;
/** Called when the matrix value changes */ /** Called when the matrix value changes */
FOnMatrixChanged OnMatrixChanged; FOnMatrixChanged OnMatrixChanged;
/** The grid panel containing the matrix elements */ /** Number of rows in the matrix */
int32 Rows;
/** Number of columns in the matrix */
int32 Columns;
/** Grid panel for the matrix elements */
TSharedPtr<SGridPanel> GridPanel; TSharedPtr<SGridPanel> GridPanel;
/** Array of numeric entry boxes for matrix elements */ /** Numeric entry boxes for the matrix elements */
TArray<TSharedPtr<SNumericEntryBox<float>>> NumericEntryBoxes; TArray<TSharedPtr<SNumericEntryBox<float>>> NumericEntryBoxes;
/** Creates a numeric entry box for a matrix element */ /** Creates a numeric entry box for a matrix element */