20#ifndef ORES_QT_TRADE_MDI_WINDOW_HPP
21#define ORES_QT_TRADE_MDI_WINDOW_HPP
25#include <QSortFilterProxyModel>
26#include "ores.qt/EntityListMdiWindow.hpp"
27#include "ores.qt/ClientManager.hpp"
28#include "ores.qt/ClientTradeModel.hpp"
29#include "ores.qt/PaginationWidget.hpp"
30#include "ores.logging/make_logger.hpp"
31#include "ores.trading.api/domain/trade.hpp"
32#include "ores.trading.api/messaging/trade_protocol.hpp"
46 inline static std::string_view logger_name =
47 "ores.qt.trade_mdi_window";
49 [[nodiscard]]
static auto& lg() {
51 static auto instance = make_logger(logger_name);
58 const QString& username,
59 QWidget* parent =
nullptr);
63 void doReload()
override;
66 void statusChanged(
const QString& message);
67 void errorOccurred(
const QString& error_message);
69 void addNewRequested();
70 void tradeDeleted(
const QString& code);
72 void importTradesRequested();
77 void deleteSelected();
78 void viewHistorySelected();
82 void onLoadError(
const QString& error_message,
const QString& details = {});
83 void onSelectionChanged();
84 void onDoubleClicked(
const QModelIndex& index);
88 return tr(
"Refresh trades");
95 void setupConnections();
96 void updateActionStates();
102 QTableView* tableView_;
104 QSortFilterProxyModel* proxyModel_;
108 QAction* reloadAction_;
110 QAction* editAction_;
111 QAction* deleteAction_;
112 QAction* historyAction_;
113 QAction* importAction_;
Implements logging infrastructure for ORE Studio.
Definition boost_severity.hpp:28
Qt-based graphical user interface for ORE Studio.
Definition AccountController.hpp:32
Manages the lifecycle of the NATS client and login state.
Definition ClientManager.hpp:123
Base class for entity list MDI windows providing stale indicator support.
Definition EntityListMdiWindow.hpp:63
Widget providing pagination controls for data tables.
Definition PaginationWidget.hpp:40
Model for displaying trades fetched from the server.
Definition ClientTradeModel.hpp:42
MDI window for displaying and managing trades.
Definition TradeMdiWindow.hpp:42
QString normalRefreshTooltip() const override
Get the normal (non-stale) tooltip text for the refresh action.
Definition TradeMdiWindow.hpp:87
Trade capturing FpML Trade Header properties.
Definition trade.hpp:39