#pragma once

#include <QDialog>
#include <QLineEdit>
#include <QPushButton>
#include <QJsonObject>

class ConfigDialog : public QDialog
{
    Q_OBJECT

public:
    explicit ConfigDialog(QWidget* parent = nullptr);

signals:
    void configFinished(const QString& configuration);

private slots:
    void onOKClicked();
    void onCancelClicked();

private:
    QLineEdit* ipEdit_;        // PLC IP地址
    QLineEdit* rackEdit_;      // 机架号
    QLineEdit* slotEdit_;      // 槽号
    QLineEdit* dbConfigEdit_;  // 配置数据块号
    QLineEdit* dbCommandEdit_; // 命令数据块号
    QLineEdit* dbStatusEdit_;  // 状态数据块号
    QLineEdit* dbPointsEdit_;  // 点位数据块号
    
    QPushButton* okButton_;
    QPushButton* cancelButton_;

    QString generateConfig();
}; 