From cc37d2e94ae34b8f260a1426e49c0ca082226502 Mon Sep 17 00:00:00 2001 From: Tomaz Canabrava Date: Wed, 12 Feb 2014 14:41:59 -0200 Subject: Make the mean depth line follow the size of the axis. When we move, shrink or expand the depth axis, the meandepth should also change it's position. this patch adds that. Signed-off-by: Tomaz Canabrava Signed-off-by: Dirk Hohndel --- qt-ui/profile/diveprofileitem.cpp | 12 ++++++++++++ qt-ui/profile/diveprofileitem.h | 4 ++++ qt-ui/profile/profilewidget2.cpp | 1 + 3 files changed, 17 insertions(+) (limited to 'qt-ui/profile') diff --git a/qt-ui/profile/diveprofileitem.cpp b/qt-ui/profile/diveprofileitem.cpp index f8a37aeba..0b1d32a4e 100644 --- a/qt-ui/profile/diveprofileitem.cpp +++ b/qt-ui/profile/diveprofileitem.cpp @@ -534,6 +534,18 @@ void MeanDepthLine::setMeanDepth(int value) { leftText->setText(get_depth_string(value, false, false)); rightText->setText(get_depth_string(value, false, false)); + meanDepth = value; +} + +void MeanDepthLine::setAxis(DiveCartesianAxis* a) +{ + connect(a, SIGNAL(sizeChanged()), this, SLOT(axisLineChanged())); +} + +void MeanDepthLine::axisLineChanged() +{ + DiveCartesianAxis *axis = qobject_cast(sender()); + animateMoveTo(x(),axis->posAtValue(meanDepth)); } void PartialPressureGasItem::modelDataChanged(const QModelIndex& topLeft, const QModelIndex& bottomRight) diff --git a/qt-ui/profile/diveprofileitem.h b/qt-ui/profile/diveprofileitem.h index 640b0d4a6..b51958104 100644 --- a/qt-ui/profile/diveprofileitem.h +++ b/qt-ui/profile/diveprofileitem.h @@ -135,10 +135,14 @@ public: MeanDepthLine(); void setMeanDepth(int value); void setLine(qreal x1, qreal y1, qreal x2, qreal y2); + void setAxis(DiveCartesianAxis *a); +public slots: + void axisLineChanged(); private: int meanDepth; DiveTextItem *leftText; DiveTextItem *rightText; + DiveCartesianAxis *axis; }; class PartialPressureGasItem : public AbstractProfilePolygonItem{ diff --git a/qt-ui/profile/profilewidget2.cpp b/qt-ui/profile/profilewidget2.cpp index ccbc4f6a1..cfe8e7f82 100644 --- a/qt-ui/profile/profilewidget2.cpp +++ b/qt-ui/profile/profilewidget2.cpp @@ -145,6 +145,7 @@ void ProfileWidget2::setupItemOnScene() meanDepth->setX(3); meanDepth->setPen(QPen(QBrush(Qt::red), 0, Qt::SolidLine)); meanDepth->setZValue(1); + meanDepth->setAxis(profileYAxis); cartesianPlane->setBottomAxis(timeAxis); cartesianPlane->setLeftAxis(profileYAxis); -- cgit v1.2.3-70-g09d2