summaryrefslogtreecommitdiffstats
path: root/qt-ui/profile/ruleritem.h
diff options
context:
space:
mode:
Diffstat (limited to 'qt-ui/profile/ruleritem.h')
-rw-r--r--qt-ui/profile/ruleritem.h50
1 files changed, 50 insertions, 0 deletions
diff --git a/qt-ui/profile/ruleritem.h b/qt-ui/profile/ruleritem.h
new file mode 100644
index 000000000..68d6c3180
--- /dev/null
+++ b/qt-ui/profile/ruleritem.h
@@ -0,0 +1,50 @@
+#ifndef RULERITEM_H
+#define RULERITEM_H
+
+#include <QObject>
+#include <QGraphicsEllipseItem>
+#include <QGraphicsObject>
+
+struct plot_data;
+class RulerItem2;
+
+class RulerNodeItem2 : public QObject, public QGraphicsEllipseItem
+{
+ Q_OBJECT
+ friend class RulerItem2;
+public:
+ explicit RulerNodeItem2(QGraphicsItem* parent);
+ void setRuler(RulerItem2 *r);
+ void recalculate();
+
+protected:
+ QVariant itemChange(GraphicsItemChange change, const QVariant & value );
+
+private:
+ struct plot_data *entry;
+ RulerItem2* ruler;
+};
+
+class RulerItem2 : public QGraphicsObject
+{
+ Q_OBJECT
+public:
+ explicit RulerItem2(QGraphicsItem* parent,
+ RulerNodeItem2 *sourceMarker,
+ RulerNodeItem2 *destMarker);
+ void recalculate();
+
+ RulerNodeItem2* sourceNode() const;
+ RulerNodeItem2* destNode() const;
+ void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget * widget = 0);
+ QRectF boundingRect() const;
+ QPainterPath shape() const;
+
+private:
+ QPointF startPoint, endPoint;
+ RulerNodeItem2 *source, *dest;
+ QString text;
+ int height;
+ int paint_direction;
+};
+#endif \ No newline at end of file