geopro/src/app/panels/chart/WhiteningDialog.hpp

52 lines
1.6 KiB
C++
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#pragma once
#include <QDialog>
#include <QString>
class QComboBox;
class QLineEdit;
class QButtonGroup;
class QStackedWidget;
class QPushButton;
namespace geopro::data {
class IDatasetCommandRepository;
}
namespace geopro::app {
// 白化对话框I31:1 复刻原版 WhiteningDialog。三种白化方式
// 1 数据边界自动:边界扩展 + 内/外白化单选。
// 2 白化模板listWhitenedData(projectId, tmObjectId) 选白化文件。
// 3 模型白化:梯形/矩形单选。
// 确认 → whitenData成功 accept(),调用方随后重载网格重绘。
class WhiteningDialog : public QDialog {
Q_OBJECT
public:
WhiteningDialog(geopro::data::IDatasetCommandRepository* repo, QString dsId, QString projectId,
QString tmObjectId, QWidget* parent = nullptr);
private:
void onMethodChanged(int method); // 切换方式 → 切到对应配置页
void loadWhitenedFiles(); // 方式 2拉白化文件列表
void onConfirm(); // 确认 → whitenData
geopro::data::IDatasetCommandRepository* repo_ = nullptr;
QString dsId_;
QString projectId_;
QString tmObjectId_;
QComboBox* methodCombo_ = nullptr;
QStackedWidget* stack_ = nullptr;
// 方式 1
QLineEdit* extension_ = nullptr; // 原版 AInput 文本框(默认 "0"
QButtonGroup* whiteningType_ = nullptr; // 0 外部 / 1 内部
// 方式 2
QComboBox* fileCombo_ = nullptr;
// 方式 3
QButtonGroup* modelSubType_ = nullptr; // 2 梯形 / 1 矩形
QPushButton* okBtn_ = nullptr;
};
} // namespace geopro::app