geopro/src/controller/DatasetDetailController.cpp

28 lines
989 B
C++

#include "DatasetDetailController.hpp"
#include <stdexcept>
#include "repo/IDatasetRepository.hpp"
namespace geopro::controller {
DatasetDetailController::DatasetDetailController(data::IDatasetRepository& repo, QObject* parent)
: QObject(parent), repo_(repo) {}
void DatasetDetailController::openDataset(const QString& dsId, const QString& ddCode) {
const std::string id = dsId.toStdString();
try {
ChartData d;
d.dsId = dsId;
d.ddCode = ddCode;
d.scatter = repo_.loadScatter(id);
d.scatterScale = repo_.loadScatterColorScale(id);
d.grid = repo_.loadGrid(id);
d.gridScale = repo_.loadColorScale(id);
d.anomalies = repo_.loadAnomalies(id);
emit chartReady(d);
} catch (const std::exception& e) {
emit loadFailed(dsId, QString::fromStdString(e.what()));
}
}
void DatasetDetailController::focusDataset(const QString& dsId) { emit focusRequested(dsId); }
} // namespace geopro::controller