-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuttonstatewidget.h
40 lines (32 loc) · 1 KB
/
buttonstatewidget.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#ifndef BUTTONSTATEWIDGET_H
#define BUTTONSTATEWIDGET_H
#include <QWidget>
#include "buttonstate.h"
class ButtonStateWidget : public QWidget
{
Q_OBJECT
public:
ButtonStateWidget(QWidget *parent = 0);
~ButtonStateWidget() { myButtonState.setIconMode(org); }
QSize sizeHint() const;
void setButtonState(const ButtonState &buttonState) {
myButtonState = buttonState;
org = myButtonState.IconMode();
}
ButtonState buttonState() const { return myButtonState; }
void restore() { myButtonState.setIconMode(org); }
void setPos(const int newRow, const int newColumn) { _row = newRow; _col = newColumn; }
int Row() const { return _row; }
int Column() const { return _col; }
signals:
void editingFinished();
protected:
void paintEvent(QPaintEvent *event);
void mouseMoveEvent(QMouseEvent *event);
void mouseReleaseEvent(QMouseEvent *event);
private:
ButtonState myButtonState;
QIcon::Mode org;
int _row, _col;
};
#endif // BUTTONSTATEWIDGET_H