ORE Studio 0.0.4
Loading...
Searching...
No Matches
Public Types | Public Member Functions | List of all members
InstrumentFormRegistry Class Referencefinal

Maps instrument families and specific trade type codes to form widget factories. More...

#include <InstrumentFormRegistry.hpp>

Collaboration diagram for InstrumentFormRegistry:
Collaboration graph

Public Types

using product_type = ores::trading::domain::product_type
 
using Factory = std::function< IInstrumentForm *(QWidget *parent)>
 

Public Member Functions

void registerForm (product_type pt, QString displayName, Factory factory)
 
bool contains (product_type pt) const noexcept
 
IInstrumentFormcreateForm (product_type pt, QWidget *parent) const
 
QString displayName (product_type pt) const
 
std::vector< product_type > registeredTypes () const
 
void registerTypeForm (const QString &trade_type_code, Factory factory)
 Register a dedicated form for a single trade type code.
 
bool containsTypeForm (const QString &trade_type_code) const noexcept
 
IInstrumentFormcreateTypeForm (const QString &trade_type_code, QWidget *parent) const
 
std::vector< QString > registeredTypeCodes () const
 All registered type codes, in registration order.
 

Detailed Description

Maps instrument families and specific trade type codes to form widget factories.

Two registration tiers:

TradeDetailDialog looks up by trade-type-code first, falling back to the family form when no type-specific registration exists.