2026-07-01 18:16:18 +08:00

44 lines
1.2 KiB
C++

#ifndef DRONESCREWCTRL_DIALOG_ALGOARG_H
#define DRONESCREWCTRL_DIALOG_ALGOARG_H
#include <QDialog>
#include "IVrConfig.h"
namespace Ui { class DialogAlgoArg; }
class QCheckBox;
class DialogAlgoArg : public QDialog
{
Q_OBJECT
public:
explicit DialogAlgoArg(QWidget* parent = nullptr);
~DialogAlgoArg() override;
void SetParams(const DroneScrewAlgoUiParams& params);
DroneScrewAlgoUiParams GetParams() const;
void SetDisplayOptions(const DroneScrewDisplayOption& options);
DroneScrewDisplayOption GetDisplayOptions() const;
private slots:
void on_btn_ok_clicked();
void on_btn_cancel_clicked();
void on_btn_apply_clicked();
void on_btn_reset_clicked();
private:
void loadToUi(const DroneScrewAlgoUiParams& p);
DroneScrewAlgoUiParams collectFromUi() const;
void createDisplayRows();
void loadDisplayToUi(const DroneScrewDisplayOption& options);
DroneScrewDisplayOption collectDisplayFromUi() const;
private:
Ui::DialogAlgoArg* ui{nullptr};
DroneScrewAlgoUiParams m_params;
DroneScrewDisplayOption m_displayOptions;
QCheckBox* m_checkDrawBoxes{nullptr};
};
#endif // DRONESCREWCTRL_DIALOG_ALGOARG_H