#pragma once #include #include #include #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 makeDetailView( controller::ViewKind kind, QWidget* parent, geopro::data::IColorTemplateRepository* colorTplRepo = nullptr, std::function projectIdGetter = {}, geopro::data::IDatasetCommandRepository* cmdRepo = nullptr, std::function dsIdGetter = {}, std::function tmObjectIdGetter = {}); } // namespace geopro::app