20#ifndef ORES_QT_PORTFOLIO_HISTORY_DIALOG_HPP
21#define ORES_QT_PORTFOLIO_HISTORY_DIALOG_HPP
25#include <QTableWidget>
26#include <boost/uuid/uuid.hpp>
27#include "ores.qt/ClientManager.hpp"
28#include "ores.logging/make_logger.hpp"
29#include "ores.refdata.api/domain/portfolio.hpp"
32class PortfolioHistoryDialog;
47 inline static std::string_view logger_name =
48 "ores.qt.portfolio_history_dialog";
50 [[nodiscard]]
static auto& lg() {
52 static auto instance = make_logger(logger_name);
58 const boost::uuids::uuid&
id,
61 QWidget* parent =
nullptr);
67 void statusChanged(
const QString& message);
68 void errorOccurred(
const QString& error_message);
74 void onVersionSelected();
75 void onOpenVersionClicked();
76 void onRevertClicked();
81 void setupConnections();
82 void updateVersionList();
83 void updateChangesTable(
int currentVersionIndex);
84 void updateFullDetails(
int versionIndex);
85 void updateActionStates();
87 Ui::PortfolioHistoryDialog* ui_;
88 boost::uuids::uuid id_;
91 std::vector<refdata::domain::portfolio> versions_;
94 QAction* openVersionAction_;
95 QAction* revertAction_;
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
Dialog for viewing the version history of a portfolio.
Definition PortfolioHistoryDialog.hpp:43
Logical aggregation node for risk and reporting.
Definition portfolio.hpp:37