72 lines
1.8 KiB
C
Raw Normal View History

2026-03-11 23:40:06 +08:00
#ifndef DIALOGALGOARG_H
#define DIALOGALGOARG_H
#include <QDialog>
#include "ConfigManager.h"
namespace Ui {
class DialogAlgoarg;
}
class HoleDetectionPresenter;
class HandEyeCalibWidget;
class NetworkConfigWidget;
2026-03-11 23:40:06 +08:00
class DialogAlgoarg : public QDialog
{
Q_OBJECT
public:
explicit DialogAlgoarg(ConfigManager* configManager, HoleDetectionPresenter* presenter, QWidget *parent = nullptr);
2026-03-11 23:40:06 +08:00
~DialogAlgoarg();
private slots:
void on_btn_camer_ok_clicked();
void on_btn_camer_cancel_clicked();
// 手眼标定共享控件信号槽
void onCalibMatrixLoaded(int cameraIndex, const double* matrix);
void onSaveCalibRequested(int cameraIndex, const double* matrix);
2026-03-11 23:40:06 +08:00
private:
void LoadConfigToUI();
bool SaveConfigFromUI();
// 加载各个参数组到 UI
void LoadDetectionParamToUI(const VrHoleDetectionParam& param);
void LoadFilterParamToUI(const VrHoleFilterParam& param);
void LoadSortModeToUI(int sortMode);
// 从 UI 保存各个参数组
bool SaveDetectionParamFromUI(VrHoleDetectionParam& param);
bool SaveFilterParamFromUI(VrHoleFilterParam& param);
bool SaveSortModeFromUI(int& sortMode);
// 排序模式
2026-03-11 23:40:06 +08:00
void InitSortModeComboBox();
// 姿态输出顺序HoleDetection 特有)
void InitPoseOutputOrderComboBox();
// 手眼标定(使用共享控件)
void InitHandEyeCalibTab();
// 网络配置(使用共享控件)
void InitNetworkConfigTab();
void LoadNetworkConfigToUI();
2026-03-11 23:40:06 +08:00
private:
Ui::DialogAlgoarg *ui;
ConfigManager* m_pConfigManager;
HoleDetectionPresenter* m_presenter;
2026-03-11 23:40:06 +08:00
QString m_configFilePath;
// 手眼标定共享控件
HandEyeCalibWidget* m_handEyeCalibWidget;
// 网络配置共享控件
NetworkConfigWidget* m_networkConfigWidget;
2026-03-11 23:40:06 +08:00
};
#endif // DIALOGALGOARG_H