diff options
Diffstat (limited to 'qt-ui/profile/divecartesianaxis.h')
-rw-r--r-- | qt-ui/profile/divecartesianaxis.h | 46 |
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 |