20#ifndef ORES_QT_PURPOSE_TYPE_MDI_WINDOW_HPP
21#define ORES_QT_PURPOSE_TYPE_MDI_WINDOW_HPP
25#include <QSortFilterProxyModel>
26#include "ores.qt/EntityListMdiWindow.hpp"
27#include "ores.qt/ClientManager.hpp"
28#include "ores.qt/ClientPurposeTypeModel.hpp"
29#include "ores.logging/make_logger.hpp"
30#include "ores.refdata.api/domain/purpose_type.hpp"
44 inline static std::string_view logger_name =
45 "ores.qt.purpose_type_mdi_window";
47 [[nodiscard]]
static auto& lg() {
49 static auto instance = make_logger(logger_name);
56 const QString& username,
57 QWidget* parent =
nullptr);
61 void doReload()
override;
64 void statusChanged(
const QString& message);
65 void errorOccurred(
const QString& error_message);
67 void addNewRequested();
68 void typeDeleted(
const QString& code);
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 purpose types");
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
Manages the lifecycle of the NATS client and login state.
Definition ClientManager.hpp:109
Model for displaying purpose types fetched from the server.
Definition ClientPurposeTypeModel.hpp:43
Base class for entity list MDI windows providing stale indicator support.
Definition EntityListMdiWindow.hpp:62
MDI window for displaying and managing purpose types.
Definition PurposeTypeMdiWindow.hpp:40
QString normalRefreshTooltip() const override
Get the normal (non-stale) tooltip text for the refresh action.
Definition PurposeTypeMdiWindow.hpp:84
Classification of portfolio purpose.
Definition purpose_type.hpp:38