ddt 1.1.0
Loading...
Searching...
No Matches
ddtCornergrabber.hpp
Go to the documentation of this file.
1
19#ifndef DDT_DATAVISUALISATION_UTILS_CORNERGRABBER_HPP
20#define DDT_DATAVISUALISATION_UTILS_CORNERGRABBER_HPP
21
22#include <math.h>
23#include <QGraphicsItem>
24#include <QGraphicsSceneDragDropEvent>
25#include <QPainter>
26#include <QPen>
27
29
30
34class CornerGrabber : public QGraphicsItem {
35 public:
41 explicit CornerGrabber(QGraphicsItem *parent = nullptr, const int corner = 0);
42
47 int GetCorner() const;
48
53 void SetMouseState(const int state);
54
59 int GetMouseState() const;
60
65
70
72
73 private:
74 virtual QRectF boundingRect() const override;
75
76 virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option,
77 QWidget *widget) override;
78
79 virtual void hoverEnterEvent(QGraphicsSceneHoverEvent *event) override;
80 virtual void hoverLeaveEvent(QGraphicsSceneHoverEvent *event) override;
81
82 virtual void mouseMoveEvent(QGraphicsSceneMouseEvent *event) override;
83 virtual void mouseMoveEvent(QGraphicsSceneDragDropEvent *event);
84 virtual void mousePressEvent(QGraphicsSceneMouseEvent *event) override;
85 virtual void mousePressEvent(QGraphicsSceneDragDropEvent *event);
86 virtual void mouseReleaseEvent(QGraphicsSceneMouseEvent *event) override;
87
88 void Initialize(QGraphicsItem *parent);
89
90 QColor outer_border_color;
91 QPen outer_border_pen;
92
93 qreal width;
94 qreal height;
95
96 // 0,1,2,3: starting at x=0,y=0 and moving clockwise around the box
97 int corner;
98
99 int mouse_button_state;
100};
101
102#endif // DDT_DATAVISUALISATION_UTILS_CORNERGRABBER_HPP
103
Definition: ddtCornergrabber.hpp:34
qreal mouse_down_x
Definition: ddtCornergrabber.hpp:64
int GetCorner() const
Definition: ddtCornergrabber.cpp:50
qreal mouse_down_y
Definition: ddtCornergrabber.hpp:69
int GetMouseState() const
Definition: ddtCornergrabber.cpp:48
@ CG_MOUSE_DOWN
Definition: ddtCornergrabber.hpp:71
@ CG_MOUSE_RELEASED
Definition: ddtCornergrabber.hpp:71
@ CG_MOUSE_MOVING
Definition: ddtCornergrabber.hpp:71
void SetMouseState(const int state)
Definition: ddtCornergrabber.cpp:46
const int DDT_CORNER_GRABBER_SIZE
Definition: ddtCornergrabber.hpp:28