ddt 1.2.1
Loading...
Searching...
No Matches
ddtPointGrabber.hpp
Go to the documentation of this file.
1
18#ifndef DDT_DATAVISUALISATION_UTILS_POINTGRABBER_HPP
19#define DDT_DATAVISUALISATION_UTILS_POINTGRABBER_HPP
20
21#include <math.h>
22#include <QGraphicsItem>
23#include <QGraphicsSceneDragDropEvent>
24#include <QPainter>
25#include <QPen>
26
28
29
33class PointGrabber : public QGraphicsItem {
34 public:
40 explicit PointGrabber(QGraphicsItem *parent = nullptr, const int point_num = 0);
41
46 int GetPointNumber() const;
47
52 void SetMouseState(const int state);
53
58 int GetMouseState() const;
59
63 qreal mouse_down_x = 0.0;
64
68 qreal mouse_down_y = 0.0;
69
70 enum {
74 };
75
76 private:
77 virtual QRectF boundingRect() const override;
78
79 virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option,
80 QWidget *widget) override;
81
82 virtual void hoverEnterEvent(QGraphicsSceneHoverEvent *event) override;
83 virtual void hoverLeaveEvent(QGraphicsSceneHoverEvent *event) override;
84
85 virtual void mouseMoveEvent(QGraphicsSceneMouseEvent *event) override;
86 virtual void mouseMoveEvent(QGraphicsSceneDragDropEvent *event);
87 virtual void mousePressEvent(QGraphicsSceneMouseEvent *event) override;
88 virtual void mousePressEvent(QGraphicsSceneDragDropEvent *event);
89 virtual void mouseReleaseEvent(QGraphicsSceneMouseEvent *event) override;
90
91 void Initialize(QGraphicsItem *parent);
92
93 QPen outer_border_pen;
94
95 qreal width = DDT_POINT_GRABBER_SIZE;
96 qreal height = DDT_POINT_GRABBER_SIZE;
97
98 int point_number = 0;
99
100 int mouse_button_state = PointGrabber::PG_MOUSE_RELEASED;
101};
102
103#endif // DDT_DATAVISUALISATION_UTILS_POINTGRABBER_HPP
104
Definition ddtPointGrabber.hpp:33
qreal mouse_down_x
Definition ddtPointGrabber.hpp:63
qreal mouse_down_y
Definition ddtPointGrabber.hpp:68
void SetMouseState(const int state)
Definition ddtPointGrabber.cpp:35
int GetMouseState() const
Definition ddtPointGrabber.cpp:37
PointGrabber(QGraphicsItem *parent=nullptr, const int point_num=0)
Definition ddtPointGrabber.cpp:20
@ PG_MOUSE_RELEASED
Definition ddtPointGrabber.hpp:71
@ PG_MOUSE_DOWN
Definition ddtPointGrabber.hpp:72
@ PG_MOUSE_MOVING
Definition ddtPointGrabber.hpp:73
int GetPointNumber() const
Definition ddtPointGrabber.cpp:39
const int DDT_POINT_GRABBER_SIZE
Definition ddtPointGrabber.hpp:27