36 lines
1.4 KiB
C++
36 lines
1.4 KiB
C++
#pragma once
|
|
#include <QWidget>
|
|
#include "DatasetDetailController.hpp"
|
|
|
|
namespace geopro::app {
|
|
|
|
class RawDataChartView;
|
|
class GridDataChartView;
|
|
class LoadingOverlay;
|
|
|
|
// 单个数据集详情页:下划线页签「原数据 / 网格数据」+ 右侧「导出」操作。
|
|
// 内部分别由 RawDataChartView / GridDataChartView 实现各自三层布局。
|
|
class DatasetDetailPage : public QWidget {
|
|
Q_OBJECT
|
|
public:
|
|
explicit DatasetDetailPage(QWidget* parent = nullptr);
|
|
void setData(const geopro::controller::DatasetDetailController::ChartData& d);
|
|
// 网格数据到达(懒加载结果)→ 下发给 GridDataChartView 并标记已加载。
|
|
void setGridData(const geopro::controller::DatasetDetailController::GridData& d);
|
|
// 网格懒加载进行中(true)/结束(false)时切换遮罩显隐。
|
|
void setGridLoading(bool on);
|
|
QString dsId() const { return dsId_; }
|
|
signals:
|
|
// 「网格数据」页签首次激活且本页网格数据未加载 → 请求懒加载。
|
|
void gridDataNeeded(const QString& dsId, const QString& ddCode);
|
|
private:
|
|
QString dsId_;
|
|
QString ddCode_;
|
|
bool gridRequested_ = false; // 已请求过(避免重复发信号)
|
|
RawDataChartView* rawView_;
|
|
GridDataChartView* gridView_;
|
|
LoadingOverlay* gridOverlay_; // 网格懒加载期间覆盖 gridView_ 的遮罩
|
|
};
|
|
|
|
} // namespace geopro::app
|