summaryrefslogtreecommitdiffstats
path: root/qt-ui/profile/divecartesianaxis.h
diff options
context:
space:
mode:
Diffstat (limited to 'qt-ui/profile/divecartesianaxis.h')
-rw-r--r--qt-ui/profile/divecartesianaxis.h46
1 files changed, 46 insertions, 0 deletions
diff --git a/qt-ui/profile/divecartesianaxis.h b/qt-ui/profile/divecartesianaxis.h
new file mode 100644
index 000000000..1c8170ef4
--- /dev/null
+++ b/qt-ui/profile/divecartesianaxis.h
@@ -0,0 +1,46 @@
+#ifndef DIVECARTESIANAXIS_H
+#define DIVECARTESIANAXIS_H
+
+#include <QObject>
+#include <QGraphicsLineItem>
+class DiveTextItem;
+class DiveLineItem;
+
+class DiveCartesianAxis : public QObject, public QGraphicsLineItem{
+ Q_OBJECT
+ Q_PROPERTY(QLineF line WRITE setLine READ line)
+ Q_PROPERTY(QPointF pos WRITE setPos READ pos)
+ Q_PROPERTY(qreal x WRITE setX READ x)
+ Q_PROPERTY(qreal y WRITE setY READ y)
+public:
+ DiveCartesianAxis();
+ virtual ~DiveCartesianAxis();
+ void setMinimum(double minimum);
+ void setMaximum(double maximum);
+ void setTickInterval(double interval);
+ void setOrientation(Qt::Orientation orientation);
+ void setTickSize(qreal size);
+ void updateTicks();
+ double minimum() const;
+ double maximum() const;
+ qreal valueAt(const QPointF& p);
+ qreal percentAt(const QPointF& p);
+ qreal posAtValue(qreal value);
+ void setColor(const QColor& color);
+ void setTextColor(const QColor& color);
+ int unitSystem;
+
+protected:
+ virtual QString textForValue(double value);
+
+ Qt::Orientation orientation;
+ QList<DiveLineItem*> ticks;
+ QList<DiveTextItem*> labels;
+ double min;
+ double max;
+ double interval;
+ double tickSize;
+ QColor textColor;
+};
+
+#endif \ No newline at end of file