20#ifndef ORES_QT_CLIENT_CATALOG_MODEL_HPP
21#define ORES_QT_CLIENT_CATALOG_MODEL_HPP
23#include <QAbstractTableModel>
25#include "ores.dq/domain/catalog.hpp"
26#include "ores.qt/ClientManager.hpp"
27#include "ores.qt/RecencyPulseManager.hpp"
28#include "ores.qt/RecencyTracker.hpp"
29#include "ores.logging/make_logger.hpp"
44 inline static std::string_view logger_name =
"ores.qt.client_catalog_model";
46 [[nodiscard]]
static auto& lg() {
48 static auto instance = make_logger(logger_name);
64 QObject* parent =
nullptr);
66 int rowCount(
const QModelIndex& parent = QModelIndex())
const override;
67 int columnCount(
const QModelIndex& parent = QModelIndex())
const override;
68 QVariant data(
const QModelIndex& index,
69 int role = Qt::DisplayRole)
const override;
70 QVariant headerData(
int section, Qt::Orientation orientation,
71 int role = Qt::DisplayRole)
const override;
79 void errorOccurred(
const QString& message,
const QString& details = {});
82 void onPulseStateChanged(
bool isOn);
83 void onPulsingComplete();
86 QVariant foregroundColor(
const std::string& name)
const;
89 std::vector<dq::domain::catalog> catalogs_;
Implements logging infrastructure for ORE Studio.
Definition boost_severity.hpp:28
Qt-based graphical user interface for ORE Studio.
Definition AboutDialog.hpp:35
Represents a logical grouping of related datasets.
Definition catalog.hpp:39
Table model for displaying catalogs in a QTableView.
Definition ClientCatalogModel.hpp:40
Manages the lifecycle of the network client and IO context.
Definition ClientManager.hpp:90
Manages the pulsing animation for recently-changed items in models.
Definition RecencyPulseManager.hpp:42
Tracks recently-modified records for recency highlighting.
Definition RecencyTracker.hpp:75