20#ifndef ORES_QT_TRADE_DETAIL_DIALOG_HPP
21#define ORES_QT_TRADE_DETAIL_DIALOG_HPP
25#include "ores.qt/ClientManager.hpp"
26#include "ores.qt/DetailDialogBase.hpp"
27#include "ores.qt/ProvenanceWidget.hpp"
28#include "ores.logging/make_logger.hpp"
29#include "ores.trading.api/domain/trade.hpp"
30#include "ores.refdata.api/domain/book.hpp"
31#include "ores.refdata.api/domain/counterparty.hpp"
34class TradeDetailDialog;
50 inline static std::string_view logger_name =
51 "ores.qt.trade_detail_dialog";
53 [[nodiscard]]
static auto& lg() {
55 static auto instance = make_logger(logger_name);
64 void setUsername(
const std::string& username);
66 void setCreateMode(
bool createMode);
67 void setReadOnly(
bool readOnly);
76 void tradeSaved(
const QString& code);
77 void tradeDeleted(
const QString& code);
81 void onDeleteClicked();
82 void onCodeChanged(
const QString& text);
83 void onFieldChanged();
87 void setupConnections();
89 void selectCurrentBook();
90 void loadCounterparties();
91 void selectCurrentCounterparty();
92 void updateUiFromTrade();
93 void updateTradeFromUi();
94 void updateSaveButtonState();
97 Ui::TradeDetailDialog* ui_;
99 std::string username_;
101 std::vector<refdata::domain::book> books_;
102 std::vector<refdata::domain::counterparty> counterparties_;
103 bool createMode_{
true};
104 bool readOnly_{
false};
105 bool hasChanges_{
false};
Implements logging infrastructure for ORE Studio.
Definition boost_severity.hpp:28
Qt-based graphical user interface for ORE Studio.
Definition AboutDialog.hpp:29
Manages the lifecycle of the NATS client and login state.
Definition ClientManager.hpp:109
Base class for all detail dialogs.
Definition DetailDialogBase.hpp:74
Widget displaying the 6 standard record provenance fields.
Definition ProvenanceWidget.hpp:39
Detail dialog for viewing and editing trade records.
Definition TradeDetailDialog.hpp:46
ProvenanceWidget * provenanceWidget() const override
Returns the promoted ProvenanceWidget (named "provenanceWidget" in .ui).
Definition TradeDetailDialog.cpp:59
bool hasUnsavedChanges() const override
Definition TradeDetailDialog.hpp:73
QTabWidget * tabWidget() const override
Returns the dialog's QTabWidget (named "tabWidget" in .ui).
Definition TradeDetailDialog.cpp:57
QWidget * provenanceTab() const override
Returns the Provenance tab widget (named "provenanceTab" in .ui).
Definition TradeDetailDialog.cpp:58
Trade capturing FpML Trade Header properties.
Definition trade.hpp:38