#pragma once #include #include #include #include "repo/RepoTypes.hpp" class QTreeWidget; namespace geopro::app { // 二维数据集栏:地图 + 2D视图(含自定义 Z) + 2D 数据集列表。 class Column2DDataset : public QWidget { Q_OBJECT public: explicit Column2DDataset(QWidget* parent = nullptr); void setDatasets(const std::vector& rows); // VTK→列表 选择联动:按 dsId 选中对应行(高亮),内部屏蔽信号避免回环。 void setSelectedDsIds(const QStringList& dsIds); signals: void basemapChanged(int index); // 0 天地图 / 1 Google / 2 隐藏 void view2DModeChanged(int index); // 0 关闭 /1 Z=0 /2 顶部 /3 底部 /4 自定义 void customZChanged(double z); // 世界绝对高程(米),向上为正 void checkedDatasetsChanged(const QStringList& dsIds); // 勾选(渲染开关)变化 void selectedDatasetsChanged(const QStringList& dsIds); // 行选中(高亮联动)变化,非勾选 private: QTreeWidget* list_ = nullptr; }; } // namespace geopro::app