#ifndef OUTCTRLITEM_H
#define OUTCTRLITEM_H

#include <QObject>
#include "items/cmdconfig.h"

typedef short int           s16;

class OutCtrlItem : public QObject
{
    Q_OBJECT
public:
    explicit OutCtrlItem(QObject *parent = 0);

    ~OutCtrlItem();

public:
    OutCtrlItem(const OutCtrlItem & item);
    OutCtrlItem & operator= (const OutCtrlItem & item);

public:
    void clean();

private:
    void copyData(const OutCtrlItem & item);

public:
    int m_macType;      // 机器类型
    int m_showPriority; // 显示优先级
    QString m_name;     // 名称
    int m_def;          // 对应的事件宏定义

    QString m_btn1Str;  // 按钮1上的文本
    bool m_btn1Visible; // 按钮1是否可见
    s16 m_btn1ClickFun; // 按钮1对应的点击事件 -1：代表没有
    s16 m_btn1PreFun;   // 按钮1对应的按下事件 -1：代表没有
    s16 m_btn1RelFun;   // 按钮1对应的抬起事件 -1：代表没有

    QString m_btn2Str;  // 按钮2上的文本
    bool m_btn2Visible; // 按钮2是否可见
    s16 m_btn2ClickFun; // 按钮2对应的点击事件 -1：代表没有
    s16 m_btn2PreFun;   // 按钮2对应的按下事件 -1：代表没有
    s16 m_btn2RelFun;   // 按钮2对应的抬起事件 -1：代表没有

    QString m_btn3Str;  // 按钮3上的文本
    bool m_btn3Visible; // 按钮3是否可见
    s16 m_btn3ClickFun; // 按钮3对应的点击事件 -1：代表没有
    s16 m_btn3PreFun;   // 按钮3对应的按下事件 -1：代表没有
    s16 m_btn3RelFun;   // 按钮3对应的抬起事件 -1：代表没有

    QString m_btn4Str;  // 按钮4上的文本
    bool m_btn4Visible; // 按钮4是否可见
    s16 m_btn4ClickFun; // 按钮4对应的点击事件 -1：代表没有
    s16 m_btn4PreFun;   // 按钮4对应的按下事件 -1：代表没有
    s16 m_btn4RelFun;   // 按钮4对应的抬起事件 -1：代表没有

    QString m_btn5Str;  // 按钮5上的文本
    bool m_btn5Visible; // 按钮5是否可见
    s16 m_btn5ClickFun; // 按钮5对应的点击事件 -1：代表没有
    s16 m_btn5PreFun;   // 按钮5对应的按下事件 -1：代表没有
    s16 m_btn5RelFun;   // 按钮5对应的抬起事件 -1：代表没有

signals:

public slots:
};

#endif // OUTCTRLITEM_H
