|
ORE Studio 0.0.4
|
Pure-virtual interface implemented by every per-family instrument form widget hosted in TradeDetailDialog.
More...
#include <IInstrumentForm.hpp>


Signals | |
| void | changed () |
| Emitted when any field changes (after the initial load). | |
| void | instrumentLoaded () |
| Emitted once the asynchronous load has populated the form. | |
| void | loadFailed (const QString &error) |
| Emitted on a load failure with the server's error message. | |
| void | provenanceChanged (const InstrumentProvenance &provenance) |
| Emitted with the latest audit metadata after load and save. | |
Public Member Functions | |
| virtual void | setClientManager (ClientManager *cm)=0 |
| Inject the NATS client used for load and save round-trips. | |
| virtual void | setUsername (const std::string &username)=0 |
| Inject the username stamped on every saved instrument. | |
| virtual void | setImageCache (ImageCache *) |
| Inject the image cache for flag icons on currency combo boxes. | |
| virtual void | setInstrument (const trading::domain::trade_instrument &instrument)=0 |
| Populate the form with the already-resolved instrument. | |
| virtual void | clear ()=0 |
| Reset the form to a blank state ready for create mode. | |
| virtual void | setTradeType (const QString &code, bool has_options, bool has_extension)=0 |
| Inform the form which trade type is currently selected. | |
| virtual void | setReadOnly (bool readOnly)=0 |
| Toggle read-only on every editable widget. | |
| virtual bool | isDirty () const =0 |
| Has the user edited any field since the last load or save? | |
| virtual bool | isLoaded () const =0 |
| True after the asynchronous load has populated the form. | |
| virtual void | setChangeReason (const std::string &code, const std::string &commentary)=0 |
| Stamp the change reason on the in-flight instrument before the dialog calls saveInstrument. | |
| virtual void | writeUiToInstrument ()=0 |
| Pull the current UI values into the in-flight domain object. | |
| virtual void | saveInstrument (std::function< void(const std::string &id)> on_success, std::function< void(const QString &error)> on_failure)=0 |
| Save the in-flight instrument via the family's NATS request. | |
Pure-virtual interface implemented by every per-family instrument form widget hosted in TradeDetailDialog.
Each subclass owns the UI, the in-flight domain object, and the NATS load/save plumbing for exactly one product family. The outer dialog only sees this interface and never references family-specific types.
Lifecycle:
trade_instrument from the trade bundle and pushes it via setInstrument; the form pattern-matches its family and populates fields synchronously.has_options / has_extension flags on the trade_type reference data).saveTrade; on failure the trade save is aborted.
|
pure virtual |
Inject the NATS client used for load and save round-trips.
Implemented in BondInstrumentForm, CommodityInstrumentForm, CompositeInstrumentForm, CreditInstrumentForm, EquityInstrumentForm, FxAccumulatorInstrumentForm, FxAsianForwardInstrumentForm, FxBarrierOptionInstrumentForm, FxDigitalOptionInstrumentForm, FxInstrumentForm, FxVanillaOptionInstrumentForm, FxVarianceSwapInstrumentForm, ScriptedInstrumentForm, and SwapInstrumentForm.
|
pure virtual |
Inject the username stamped on every saved instrument.
Implemented in BondInstrumentForm, CommodityInstrumentForm, CompositeInstrumentForm, CreditInstrumentForm, EquityInstrumentForm, FxAccumulatorInstrumentForm, FxAsianForwardInstrumentForm, FxBarrierOptionInstrumentForm, FxDigitalOptionInstrumentForm, FxInstrumentForm, FxVanillaOptionInstrumentForm, FxVarianceSwapInstrumentForm, ScriptedInstrumentForm, and SwapInstrumentForm.
|
virtual |
Inject the image cache for flag icons on currency combo boxes.
Reimplemented in BondInstrumentForm, CommodityInstrumentForm, CreditInstrumentForm, EquityInstrumentForm, FxAccumulatorInstrumentForm, FxAsianForwardInstrumentForm, FxBarrierOptionInstrumentForm, FxDigitalOptionInstrumentForm, FxInstrumentForm, FxVanillaOptionInstrumentForm, FxVarianceSwapInstrumentForm, and SwapInstrumentForm.
|
pure virtual |
Populate the form with the already-resolved instrument.
The dialog holds the full trade bundle and pushes the instrument here. The form pattern-matches its family from the variant, stores the per-type domain object, and updates the UI synchronously. On success it emits instrumentLoaded and provenanceChanged. If the variant does not hold this family's alternative the form emits loadFailed with a descriptive message.
Implemented in BondInstrumentForm, CommodityInstrumentForm, CompositeInstrumentForm, CreditInstrumentForm, EquityInstrumentForm, FxAccumulatorInstrumentForm, FxAsianForwardInstrumentForm, FxBarrierOptionInstrumentForm, FxDigitalOptionInstrumentForm, FxInstrumentForm, FxVanillaOptionInstrumentForm, FxVarianceSwapInstrumentForm, ScriptedInstrumentForm, and SwapInstrumentForm.
|
pure virtual |
Reset the form to a blank state ready for create mode.
Implemented in BondInstrumentForm, CommodityInstrumentForm, CompositeInstrumentForm, CreditInstrumentForm, EquityInstrumentForm, FxAccumulatorInstrumentForm, FxAsianForwardInstrumentForm, FxBarrierOptionInstrumentForm, FxDigitalOptionInstrumentForm, FxInstrumentForm, FxVanillaOptionInstrumentForm, FxVarianceSwapInstrumentForm, ScriptedInstrumentForm, and SwapInstrumentForm.
|
pure virtual |
Inform the form which trade type is currently selected.
| code | The trade type code (e.g. "FxOption"). |
| has_options | Reveal the family's options sub-section. |
| has_extension | Reveal the family's extension sub-section. |
The form decides how to lay out its sub-sections based on these flags — typically by toggling the visibility of internal tabs.
Implemented in BondInstrumentForm, CommodityInstrumentForm, CompositeInstrumentForm, CreditInstrumentForm, EquityInstrumentForm, FxAccumulatorInstrumentForm, FxAsianForwardInstrumentForm, FxBarrierOptionInstrumentForm, FxDigitalOptionInstrumentForm, FxInstrumentForm, FxVanillaOptionInstrumentForm, FxVarianceSwapInstrumentForm, ScriptedInstrumentForm, and SwapInstrumentForm.
|
pure virtual |
Toggle read-only on every editable widget.
Implemented in BondInstrumentForm, CommodityInstrumentForm, CompositeInstrumentForm, CreditInstrumentForm, EquityInstrumentForm, FxAccumulatorInstrumentForm, FxAsianForwardInstrumentForm, FxBarrierOptionInstrumentForm, FxDigitalOptionInstrumentForm, FxInstrumentForm, FxVanillaOptionInstrumentForm, FxVarianceSwapInstrumentForm, ScriptedInstrumentForm, and SwapInstrumentForm.
|
pure virtual |
Has the user edited any field since the last load or save?
Implemented in BondInstrumentForm, CommodityInstrumentForm, CompositeInstrumentForm, CreditInstrumentForm, EquityInstrumentForm, FxAccumulatorInstrumentForm, FxAsianForwardInstrumentForm, FxBarrierOptionInstrumentForm, FxDigitalOptionInstrumentForm, FxInstrumentForm, FxVanillaOptionInstrumentForm, FxVarianceSwapInstrumentForm, ScriptedInstrumentForm, and SwapInstrumentForm.
|
pure virtual |
True after the asynchronous load has populated the form.
Implemented in BondInstrumentForm, CommodityInstrumentForm, CompositeInstrumentForm, CreditInstrumentForm, EquityInstrumentForm, FxAccumulatorInstrumentForm, FxAsianForwardInstrumentForm, FxBarrierOptionInstrumentForm, FxDigitalOptionInstrumentForm, FxInstrumentForm, FxVanillaOptionInstrumentForm, FxVarianceSwapInstrumentForm, ScriptedInstrumentForm, and SwapInstrumentForm.
|
pure virtual |
Stamp the change reason on the in-flight instrument before the dialog calls saveInstrument.
The dialog gathers a single change reason once per save and applies it identically to both the trade and the instrument so that the two audit trails stay aligned.
Implemented in BondInstrumentForm, CommodityInstrumentForm, CompositeInstrumentForm, CreditInstrumentForm, EquityInstrumentForm, FxAccumulatorInstrumentForm, FxAsianForwardInstrumentForm, FxBarrierOptionInstrumentForm, FxDigitalOptionInstrumentForm, FxInstrumentForm, FxVanillaOptionInstrumentForm, FxVarianceSwapInstrumentForm, ScriptedInstrumentForm, and SwapInstrumentForm.
|
pure virtual |
Pull the current UI values into the in-flight domain object.
Implemented in BondInstrumentForm, CommodityInstrumentForm, CompositeInstrumentForm, CreditInstrumentForm, EquityInstrumentForm, FxAccumulatorInstrumentForm, FxAsianForwardInstrumentForm, FxBarrierOptionInstrumentForm, FxDigitalOptionInstrumentForm, FxInstrumentForm, FxVanillaOptionInstrumentForm, FxVarianceSwapInstrumentForm, ScriptedInstrumentForm, and SwapInstrumentForm.
|
pure virtual |
Save the in-flight instrument via the family's NATS request.
| on_success | Invoked on the Qt thread with the saved instrument id (so the dialog can populate trade.instrument_id in create mode and continue to the trade save). |
| on_failure | Invoked on the Qt thread with a human-readable error message; the dialog should abort the trade save and surface the error to the user. |
Implemented in BondInstrumentForm, CommodityInstrumentForm, CompositeInstrumentForm, CreditInstrumentForm, EquityInstrumentForm, FxAccumulatorInstrumentForm, FxAsianForwardInstrumentForm, FxBarrierOptionInstrumentForm, FxDigitalOptionInstrumentForm, FxInstrumentForm, FxVanillaOptionInstrumentForm, FxVarianceSwapInstrumentForm, ScriptedInstrumentForm, and SwapInstrumentForm.
|
signal |
Emitted with the latest audit metadata after load and save.
The outer dialog uses this to refresh its shared instrumentProvenanceWidget — the widget itself stays in the dialog so it remains family-agnostic.