288 lines
5.3 KiB
C++
288 lines
5.3 KiB
C++
#ifndef DRAGBUTTON_H
|
|
#define DRAGBUTTON_H
|
|
|
|
#include <QWidget>
|
|
#include <QPainter>
|
|
#include <QTimer>
|
|
#include <QImage>
|
|
#include <QMouseEvent>
|
|
#include <QVector>
|
|
#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
|