/******************************addpar.h文件说明**********************************
* Descript	:头文件，包含C运动参数配置窗口的头文件引用，以及宏定义
* Author    :caitiancheng
* Date      :2021_12_19
*******************************************************************************/
#ifndef ADDPAR_H
#define ADDPAR_H


/***********************************头文件****************************************/
#include <QWidget>
#include <QStandardItemModel>
#include <Base.h>



/***********************************类的声明和继承****************************************/
namespace Ui {
class AddPar;
}

class AddPar : public QWidget,public Base
{
    Q_OBJECT

public:
    explicit AddPar(QWidget *parent = 0);
    ~AddPar();
signals:
    void CloseWin();

protected:
    void closeEvent(QCloseEvent *event=NULL);
    void showEvent(QShowEvent *event=NULL);

private slots:
     void TreeItemChanged(QStandardItem *Item);

     void on_DownloadBtn_clicked();
     void on_UploadBtn_clicked();

private:
     typedef enum {ReFild,ReSuess,ReUncheck}ReturnFlag;
    Ui::AddPar *ui;
    void InitTree();
    QStringList TreeHead;
    QStandardItemModel *Model;
    //基础参数
    QStandardItem *BaseClass;
    //一圈脉冲
    QList<QStandardItem *> BaseOtp;
    //移动量
    QList<QStandardItem *> BaseMnum;

    //运动限制
    QStandardItem *RunCtrlClass;
    //最高速度
   QList<QStandardItem *> RunSpeed;
    //最快加速度
    QList<QStandardItem *> RunAddSpeed;
    //最快减速度
    QList<QStandardItem *> RunSubSpeed;

    int DownLoadData(QStandardItem *Item,QString Name,int Addr,int Row);
    void Updata();
    void NewChildLine(QStandardItem *Item,QList<QStandardItem *> *ItemList,QStringList Data);
    void ReadArgRunCrl(QStandardItem *Item,int Addr,int Row);
    void FreeQList(QList<QStandardItem *> *Item);
};

#endif // ADDPAR_H
