geopro/src/app/panels/columns/Column2DDataset.hpp

32 lines
1.1 KiB
C++

#pragma once
#include <QWidget>
#include <QStringList>
#include <vector>
#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<geopro::data::DsRow>& 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