#ifndef DIALOGALGOARG_H #define DIALOGALGOARG_H #include #include #include #include "ConfigManager.h" class HandEyeCalibWidget; class ToolExtrinsicWidget; class NetworkConfigWidget; namespace Ui { class DialogAlgoarg; } class DialogAlgoarg : public QDialog { Q_OBJECT public: explicit DialogAlgoarg(ConfigManager* configManager, QWidget *parent = nullptr); ~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); private: void LoadConfigToUI(); bool SaveConfigFromUI(); void InitToolExtrinsicTab(); void InitHandEyeCalibTab(); void InitNetworkConfigTab(); void LoadModelDetectionParamsToUI(const VrWorkpieceModelParam& modelParam); bool SaveModelDetectionParamsFromUI(VrWorkpieceModelParam& modelParam); void LoadBinDetectionParamsToUI(const VrBinParam& binParam); bool SaveBinDetectionParamsFromUI(VrBinParam& binParam); void LoadRotorCoreParamsToUI(const VrRotorCoreParam& rotorParam); bool SaveRotorCoreParamsFromUI(VrRotorCoreParam& rotorParam); void LoadFullImageCaptureParamsToUI(const VrFullImageCaptureParam& captureParam); bool SaveFullImageCaptureParamsFromUI(VrFullImageCaptureParam& captureParam); // 网络配置(JSON TCP 端口 + Modbus 寄存器地址) void LoadPlcRobotServerConfigToUI(const VrPlcRobotServerConfig& config); bool SavePlcRobotServerConfigFromUI(VrPlcRobotServerConfig& config); void LoadHandEyeCalibConfig(); bool SaveCalibMatrixToConfig(VrHandEyeCalibMatrix& calibMatrix); private: Ui::DialogAlgoarg *ui; ConfigManager* m_pConfigManager; QString m_configFilePath; HandEyeCalibWidget* m_handEyeCalibWidget; ToolExtrinsicWidget* m_toolExtrinsicWidget; NetworkConfigWidget* m_networkConfigWidget = nullptr; }; #endif // DIALOGALGOARG_H