52 lines
1.6 KiB
C++
52 lines
1.6 KiB
C++
#pragma once
|
||
#include <QDialog>
|
||
#include <QString>
|
||
|
||
class QComboBox;
|
||
class QLineEdit;
|
||
class QButtonGroup;
|
||
class QStackedWidget;
|
||
class QPushButton;
|
||
|
||
namespace geopro::data {
|
||
class IDatasetCommandRepository;
|
||
}
|
||
|
||
namespace geopro::app {
|
||
|
||
// 白化对话框(I3,1: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
|