ddt 1.4.0
 
Loading...
Searching...
No Matches
ddtPointGrabber.hpp
Go to the documentation of this file.
1
8
9#ifndef DDT_DATAVISUALISATION_UTILS_POINTGRABBER_HPP
10#define DDT_DATAVISUALISATION_UTILS_POINTGRABBER_HPP
11
12#include <math.h>
13#include <QGraphicsItem>
14#include <QGraphicsSceneDragDropEvent>
15#include <QPainter>
16#include <QPen>
17
19
20
24class PointGrabber : public QGraphicsItem {
25 public:
31 explicit PointGrabber(QGraphicsItem *parent = nullptr, const int point_num = 0);
32
37 int GetPointNumber() const;
38
43 void SetMouseState(const int state);
44
49 int GetMouseState() const;
50
54 qreal mouse_down_x = 0.0;
55
59 qreal mouse_down_y = 0.0;
60
61 enum {
65 };
66
67 private:
68 virtual QRectF boundingRect() const override;
69
70 virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option,
71 QWidget *widget) override;
72
73 virtual void hoverEnterEvent(QGraphicsSceneHoverEvent *event) override;
74 virtual void hoverLeaveEvent(QGraphicsSceneHoverEvent *event) override;
75
76 virtual void mouseMoveEvent(QGraphicsSceneMouseEvent *event) override;
77 virtual void mouseMoveEvent(QGraphicsSceneDragDropEvent *event);
78 virtual void mousePressEvent(QGraphicsSceneMouseEvent *event) override;
79 virtual void mousePressEvent(QGraphicsSceneDragDropEvent *event);
80 virtual void mouseReleaseEvent(QGraphicsSceneMouseEvent *event) override;
81
82 void Initialize(QGraphicsItem *parent);
83
84 QPen outer_border_pen;
85
86 qreal width = DDT_POINT_GRABBER_SIZE;
87 qreal height = DDT_POINT_GRABBER_SIZE;
88
89 int point_number = 0;
90
91 int mouse_button_state = PointGrabber::PG_MOUSE_RELEASED;
92};
93
94#endif // DDT_DATAVISUALISATION_UTILS_POINTGRABBER_HPP
@ PG_MOUSE_RELEASED
Definition ddtPointGrabber.hpp:62
@ PG_MOUSE_DOWN
Definition ddtPointGrabber.hpp:63
@ PG_MOUSE_MOVING
Definition ddtPointGrabber.hpp:64
qreal mouse_down_x
Definition ddtPointGrabber.hpp:54
qreal mouse_down_y
Definition ddtPointGrabber.hpp:59
void SetMouseState(const int state)
Definition ddtPointGrabber.cpp:26
int GetMouseState() const
Definition ddtPointGrabber.cpp:28
PointGrabber(QGraphicsItem *parent=nullptr, const int point_num=0)
Definition ddtPointGrabber.cpp:11
int GetPointNumber() const
Definition ddtPointGrabber.cpp:30
const int DDT_POINT_GRABBER_SIZE
Definition ddtPointGrabber.hpp:18