#ifndef DRAGBUTTON_H #define DRAGBUTTON_H #include #include #include #include #include #include #include "QPushButton" #include "QLineEdit" #include "QVariant" #include "QDebug" #include "QAction" #include "QContextMenuEvent" #include "QMenu" class DragButton : public QPushButton { Q_OBJECT public: explicit DragButton(QWidget *parent = 0); ~DragButton(); bool isChanged() { return ischanged; } //============set================== void setRow(QVariant value) { m_row = value; setChanged(true); } void setColumn(QVariant value) { m_column = value; setChanged(true); } void setNotice(QVariant value) { m_notice = value; setChanged(true); } void setCommand(QVariant value) { m_command = value; setChanged(true); } void setConfirm(QVariant value) { m_confirm = value; setChanged(true); } void setPage(QVariant value) { m_page = value; setChanged(true); } void setReconfirm(QVariant value) { m_reconfirm = value; setChanged(true); } void setParam1(QVariant value) { m_param1 = value; setChanged(true); } void setParam2(QVariant value) { m_param2 = value; setChanged(true); } void setParam3(QVariant value) { m_param3 = value; setChanged(true); } void setParam4(QVariant value) { m_param4 = value; setChanged(true); } void setParam5(QVariant value) { m_param5 = value; setChanged(true); } void setParam6(QVariant value) { m_param6 = value; setChanged(true); } void setParam7(QVariant value) { m_param7 = value; setChanged(true); } //===========get=================== QVariant Row(void) { return m_row; } QVariant Column(void) { return m_column; } QVariant Notice(void) { return m_notice; } QVariant Command(void) { return m_command; } QVariant Confirm(void) { return m_confirm; } QVariant Page(void) { return m_page; } QVariant Reconfirm(void) { return m_reconfirm; } QVariant Param1(void) { return m_param1; } QVariant Param2(void) { return m_param2; } QVariant Param3(void) { return m_param3; } QVariant Param4(void) { return m_param4; } QVariant Param5(void) { return m_param5; } QVariant Param6(void) { return m_param6; } QVariant Param7(void) { return m_param7; } protected: void keyPressEvent(QKeyEvent* event); void keyReleaseEvent(QKeyEvent* event); void mousePressEvent(QMouseEvent *event); void mouseReleaseEvent(QMouseEvent *event); void mouseMoveEvent(QMouseEvent *event); void mouseDoubleClickEvent(QMouseEvent *event); signals: void TextChanged(QVariant value); void NoticeChanged(QVariant value); void CommandChanged(QVariant value); void ConfirmChanged(QVariant value); void Param1Changed(QVariant value); void Param2Changed(QVariant value); void Param3Changed(QVariant value); void Param4Changed(QVariant value); void Param5Changed(QVariant value); void Param6Changed(QVariant value); void Param7Changed(QVariant value); void Property(QVariant row, QVariant column, QVariant notice, QVariant command, QVariant confirm, QVariant param1, QVariant param2, QVariant param3, QVariant param4, QVariant param5, QVariant param6, QVariant param7); private slots: public slots: void setParameters(QVariant row, QVariant column, QVariant notice, QVariant command, QVariant confirm, QVariant param1, QVariant param2, QVariant param3, QVariant param4, QVariant param5, QVariant param6, QVariant param7); //bool setProperty(const char *name, const QVariant &value); void setChanged(bool flag); private: bool ischanged = true; bool isCanDrag = true; bool isCanEdit = true; QPoint m_point; QVariant m_row; QVariant m_column; QVariant m_notice; QVariant m_command; QVariant m_confirm; QVariant m_page; QVariant m_reconfirm; QVariant m_param1; QVariant m_param2; QVariant m_param3; QVariant m_param4; QVariant m_param5; QVariant m_param6; QVariant m_param7; }; #endif // DRAGBUTTON_H