20#ifndef ORES_QT_COMPOSITE_INSTRUMENT_MDI_WINDOW_HPP
21#define ORES_QT_COMPOSITE_INSTRUMENT_MDI_WINDOW_HPP
25#include <QSortFilterProxyModel>
26#include "ores.qt/EntityListMdiWindow.hpp"
27#include "ores.qt/ClientManager.hpp"
28#include "ores.qt/ClientCompositeInstrumentModel.hpp"
29#include "ores.qt/PaginationWidget.hpp"
30#include "ores.logging/make_logger.hpp"
31#include "ores.trading.api/domain/composite_instrument.hpp"
42 inline static std::string_view logger_name =
43 "ores.qt.composite_instrument_mdi_window";
45 [[nodiscard]]
static auto& lg() {
47 static auto instance = make_logger(logger_name);
55 QWidget* parent =
nullptr);
59 void doReload()
override;
62 void statusChanged(
const QString& message);
63 void errorOccurred(
const QString& error_message);
64 void showCompositeInstrumentDetails(
66 void addNewRequested();
67 void compositeInstrumentDeleted(
const QString&
id);
68 void showCompositeInstrumentHistory(
74 void deleteSelected();
75 void viewHistorySelected();
79 void onLoadError(
const QString& error_message,
const QString& details = {});
80 void onSelectionChanged();
81 void onDoubleClicked(
const QModelIndex& index);
85 return tr(
"Refresh composite instruments");
92 void setupConnections();
93 void updateActionStates();
99 QTableView* tableView_;
101 QSortFilterProxyModel* proxyModel_;
104 QAction* reloadAction_;
106 QAction* editAction_;
107 QAction* deleteAction_;
108 QAction* historyAction_;
Implements logging infrastructure for ORE Studio.
Definition boost_severity.hpp:28
Qt-based graphical user interface for ORE Studio.
Definition AboutDialog.hpp:29
Model for displaying composite instruments fetched from the server.
Definition ClientCompositeInstrumentModel.hpp:37
Manages the lifecycle of the NATS client and login state.
Definition ClientManager.hpp:112
MDI window for displaying and managing composite instruments.
Definition CompositeInstrumentMdiWindow.hpp:38
QString normalRefreshTooltip() const override
Get the normal (non-stale) tooltip text for the refresh action.
Definition CompositeInstrumentMdiWindow.hpp:84
Base class for entity list MDI windows providing stale indicator support.
Definition EntityListMdiWindow.hpp:62
Widget providing pagination controls for data tables.
Definition PaginationWidget.hpp:39
Composite instrument economics for CompositeTrade and MultiLegOption ORE product types.
Definition composite_instrument.hpp:38