20#ifndef ORES_QT_CURRENCY_CONTROLLER_HPP
21#define ORES_QT_CURRENCY_CONTROLLER_HPP
26#include "ores.qt/EntityController.hpp"
27#include "ores.risk/domain/currency.hpp"
28#include "ores.utility/log/make_logger.hpp"
32class DetachableMdiSubWindow;
56 inline static std::string_view logger_name =
57 "ores.qt.currency_controller";
59 [[nodiscard]]
static auto& lg() {
61 static auto instance = make_logger(logger_name);
78 QMainWindow* mainWindow,
81 const QString& username,
82 QList<DetachableMdiSubWindow*>& allDetachableWindows,
83 QObject* parent =
nullptr);
120 void onAddNewRequested();
142 void onShowCurrencyHistory(
const QString& isoCode);
153 void onNotificationReceived(
const QString& eventType,
const QDateTime& timestamp);
163 QList<DetachableMdiSubWindow*>& allDetachableWindows_;
172 QPointer<DetachableMdiSubWindow> currencyListWindow_;
Qt-based graphical user interface for ORE Studio.
Definition AboutDialog.hpp:35
Implements logging for ORE Studio.
Definition lifecycle_manager.hpp:30
Manages the lifecycle of the network client and IO context.
Definition ClientManager.hpp:56
Controller managing all currency-related windows and operations.
Definition CurrencyController.hpp:52
void closeAllWindows() override
Closes all windows managed by this controller.
Definition CurrencyController.cpp:169
~CurrencyController() override
Destroys the currency controller.
Definition CurrencyController.cpp:81
void showListWindow() override
Shows the currency list window.
Definition CurrencyController.cpp:91
Abstract base class for entity controllers.
Definition EntityController.hpp:43
Represents a currency with its metadata and formatting rules.
Definition currency.hpp:30