26#include "../ConditionPreset/ConditionPresetRegistry.h"
27#include "../ConditionPreset/DynamicDataPinManager.h"
28#include "../ConditionPreset/DynamicDataPin.h"
29#include "../../BlueprintEditor/MathOpOperand.h"
ComponentTypeID GetComponentTypeID_Static()
Manages the global pool of ConditionPreset objects.
Generates, tracks, and invalidates DynamicDataPin objects for a node.
ImGui sub-panel for editing MathOp operands and operator.
MathOpPropertyPanel(const MathOpPropertyPanel &)=delete
bool m_dirty
Changed since last ClearDirty()
void SetNodeName(const std::string &name)
Sets the node name displayed in the title section.
bool IsDirty() const
Returns true if the operand or operator has been modified since the last call to ClearDirty().
void SetDynamicPins(const std::vector< DynamicDataPin > &pins)
Provides the read-only list of dynamic pins for display.
MathOpRef m_mathOpRef
Current operand configuration.
void RenderPinModeSelector(MathOpOperand &operand)
Helper to render Pin mode selector (list of available pins).
std::string m_nodeName
Node name for display.
void RenderVariableModeInput(MathOpOperand &operand)
Helper to render Variable mode input field.
void RenderOperatorSelector()
Renders the operator dropdown ("+", "-", "*", "/", "%", "^").
void SetMathOpRef(const MathOpRef &ref)
Sets the MathOpRef to edit.
void RenderTitleSection()
Renders the title section (node name in blue background).
void RenderDynamicPinsSection()
Renders the dynamic pins section (read-only display).
void RenderConstModeInput(MathOpOperand &operand)
Helper to render Const mode input field.
const MathOpRef & GetMathOpRef() const
Returns the current (possibly modified) MathOpRef.
void SetOnOperandChange(std::function< void()> cb)
Registers a callback to be invoked when Pin-mode operands change.
bool m_operandEditorOpen
Collapsible section state.
void RenderInlineOperandEditor()
Renders the operand editor (collapsible section with 3 rows).
void ClearDirty()
Resets the dirty flag.
~MathOpPropertyPanel()=default
DynamicDataPinManager & m_dynamicPinMgr
Pin generation manager.
void RenderOperandRow(int rowIndex, MathOpOperand &operand)
Renders one operand row with mode selector and value input.
std::vector< DynamicDataPin > m_dynamicPins
Read-only dynamic pins display.
MathOpPropertyPanel & operator=(const MathOpPropertyPanel &)=delete
ConditionPresetRegistry & m_registry
Global preset registry.
std::function< void()> m_onOperandChange
Callback when operands change.
void Render()
Renders the panel into the current ImGui context.
< Provides AssetID and INVALID_ASSET_ID
Represents one arithmetic operand (left A, right B) in a MathOp node.
Complete reference for a MathOp node: left operand, operator, right operand.