Engauge Digitizer  2
GraphicsPointPolygon.h
1 /******************************************************************************************************
2  * (C) 2014 markummitchell@github.com. This file is part of Engauge Digitizer, which is released *
3  * under GNU General Public License version 2 (GPLv2) or (at your option) any later version. See file *
4  * LICENSE or go to gnu.org/licenses for details. Distribution requires prior written permission. *
5  ******************************************************************************************************/
6 
7 #ifndef GRAPHICS_POINT_POLYGON_H
8 #define GRAPHICS_POINT_POLYGON_H
9 
10 #include <QGraphicsPolygonItem>
11 #include <QObject>
12 #include <QPointF>
13 
14 class GraphicsPoint;
15 
17 class GraphicsPointPolygon : public QObject, public QGraphicsPolygonItem
18 {
19  Q_OBJECT;
20 
21 public:
23  GraphicsPointPolygon(GraphicsPoint &graphicsPoint,
24  const QPolygonF &polygon);
25 
27  QVariant itemChange(GraphicsItemChange change, const QVariant &value);
28 
30  virtual void hoverEnterEvent(QGraphicsSceneHoverEvent *event);
31 
33  virtual void hoverLeaveEvent(QGraphicsSceneHoverEvent *event);
34 
36  void setRadius(int radius);
37 
39  void setShadow (GraphicsPointPolygon *shadow);
40 
41 signals:
42 
44  void signalPointHoverEnter (QString);
45 
47  void signalPointHoverLeave (QString);
48 
49 private:
51 
52  void setOpacityForSubtree (double opacity);
53 
54  // Reference to the GraphicsPoint that this class belongs to
55  GraphicsPoint &m_graphicsPoint;
56 
57  GraphicsPointPolygon *m_shadow;
58 };
59 
60 #endif // GRAPHICS_POINT_POLYGON_H
QVariant itemChange(GraphicsItemChange change, const QVariant &value)
Intercept moves by dragging so moved items can be identified. This replaces unreliable hit tests...
void setRadius(int radius)
Update the radius.
virtual void hoverLeaveEvent(QGraphicsSceneHoverEvent *event)
Unhighlight this point.
virtual void hoverEnterEvent(QGraphicsSceneHoverEvent *event)
Accept hover so point can be highlighted when cursor is over it as a guide to user.
Graphics item for drawing a circular or polygonal Point.
Definition: GraphicsPoint.h:43
This class add event handling to QGraphicsPolygonItem.
void signalPointHoverLeave(QString)
Signal for geometry window to unhighlight the current point upon hover leave.
void signalPointHoverEnter(QString)
Signal for geometry window to highlight the current point upon hover enter.
void setShadow(GraphicsPointPolygon *shadow)
Bind this graphics item to its shadow.