35 lines
1.4 KiB
C++
35 lines
1.4 KiB
C++
#pragma once
|
||
#include <functional>
|
||
#include <memory>
|
||
|
||
#include <QString>
|
||
|
||
#include "DatasetDetailTab.hpp" // geopro::controller::ViewKind
|
||
|
||
class QWidget;
|
||
|
||
namespace geopro::data {
|
||
class IColorTemplateRepository;
|
||
class IDatasetCommandRepository;
|
||
}
|
||
|
||
namespace geopro::app {
|
||
|
||
class IDetailView;
|
||
|
||
// 按 render kind 造详情视图。E1b 仅支持 Scatter / FilledContour(反演两页签);
|
||
// Bar/LineProfile/PolylineMap/Table 留待后续阶段(measurement/trajectory/grid)补,
|
||
// 现阶段命中会抛 std::runtime_error(明确失败,而非静默空指针)。
|
||
// colorTplRepo/projectIdGetter:FilledContour 视图的色阶模板仓储注入(可空 → 编辑器后端按钮禁用)。
|
||
// cmdRepo/dsIdGetter:Scatter 视图(measurement)反演运算/生成视电阻率命令仓储注入(可空 → 按钮占位提示)。
|
||
// tmObjectIdGetter:FilledContour 视图白化对话框所需 tmObjectId(=数据集 structParentId)取值回调(可空 → 模板列表空)。
|
||
std::unique_ptr<IDetailView> makeDetailView(
|
||
controller::ViewKind kind, QWidget* parent,
|
||
geopro::data::IColorTemplateRepository* colorTplRepo = nullptr,
|
||
std::function<QString()> projectIdGetter = {},
|
||
geopro::data::IDatasetCommandRepository* cmdRepo = nullptr,
|
||
std::function<QString()> dsIdGetter = {},
|
||
std::function<QString()> tmObjectIdGetter = {});
|
||
|
||
} // namespace geopro::app
|