src/tools/basetool.h

changeset 104
cd4df75924b7
parent 103
94719518e310
child 106
128efb9d148b
equal deleted inserted replaced
103:94719518e310 104:cd4df75924b7
1 #pragma once 1 #pragma once
2 #include <QMouseEvent> 2 #include <QMouseEvent>
3 #include "../main.h" 3 #include "../main.h"
4 #include "../ui/canvas.h"
4 5
5 class BaseTool : public QObject 6 class BaseTool : public QObject
6 { 7 {
7 Q_OBJECT 8 Q_OBJECT
8 9
9 public: 10 public:
10 struct MouseEventData
11 {
12 QMouseEvent* ev;
13 Qt::KeyboardModifiers keymods;
14 bool mouseMoved;
15 Qt::MouseButtons releasedButtons;
16 };
17
18 BaseTool(QObject* parent = nullptr); 11 BaseTool(QObject* parent = nullptr);
19 12
20 virtual QString name() const = 0; 13 virtual QString name() const = 0;
21 virtual QString toolTip() const = 0; 14 virtual QString toolTip() const = 0;
22 virtual bool mousePressed(QMouseEvent*) { return false; } 15 virtual bool mousePressed(QMouseEvent*) { return false; }
23 virtual bool mouseReleased(MouseEventData const&) { return false; } 16 virtual bool mouseClick(const Canvas::MouseClickInfo&) { return false; }
24 virtual bool mouseDoubleClicked(QMouseEvent*) { return false; } 17 virtual bool mouseDoubleClicked(QMouseEvent*) { return false; }
25 virtual bool mouseMoved(QMouseEvent*) { return false; } 18 virtual bool mouseMoved(QMouseEvent*) { return false; }
26 virtual bool keyReleased(QKeyEvent*) { return false; } 19 virtual bool keyReleased(QKeyEvent*) { return false; }
27 }; 20 };
28 21

mercurial