diff options
author | Lubomir I. Ivanov <neolit123@gmail.com> | 2015-11-06 13:54:35 +0200 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2015-11-06 09:58:08 -0800 |
commit | 6d7eefd52da50fb76a1f817a871ef21b77af20dc (patch) | |
tree | f5f110188db0d51910fa5cd04bc73f199fe26933 /profile-widget | |
parent | 81f1238ab9e82ad158e00b98f59d8ddb497ee7c8 (diff) | |
download | subsurface-6d7eefd52da50fb76a1f817a871ef21b77af20dc.tar.gz |
Untagle DiveCartesianAxis from MainWindow
DiveCartesianAxis and derivatives can recieve
ProfileWidget2 as an instance in their constructor.
Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'profile-widget')
-rw-r--r-- | profile-widget/divecartesianaxis.cpp | 19 | ||||
-rw-r--r-- | profile-widget/divecartesianaxis.h | 12 | ||||
-rw-r--r-- | profile-widget/profilewidget2.cpp | 14 |
3 files changed, 29 insertions, 16 deletions
diff --git a/profile-widget/divecartesianaxis.cpp b/profile-widget/divecartesianaxis.cpp index 0336ed129..4a7b029ad 100644 --- a/profile-widget/divecartesianaxis.cpp +++ b/profile-widget/divecartesianaxis.cpp @@ -74,10 +74,11 @@ void DiveCartesianAxis::setTextColor(const QColor &color) textColor = color; } -DiveCartesianAxis::DiveCartesianAxis() : QObject(), +DiveCartesianAxis::DiveCartesianAxis(ProfileWidget2 *widget) : QObject(), QGraphicsLineItem(), printMode(false), unitSystem(0), + profileWidget(widget), orientation(LeftToRight), min(0), max(0), @@ -149,7 +150,7 @@ void emptyList(QList<T *> &list, double steps) void DiveCartesianAxis::updateTicks(color_indice_t color) { #ifndef SUBSURFACE_MOBILE - if (!scene() || (!changed && !MainWindow::instance()->graphics()->getPrintMode())) + if (!scene() || (!changed && !profileWidget->getPrintMode())) #else if (!scene() || !changed) #endif @@ -382,7 +383,7 @@ QColor DepthAxis::colorForValue(double value) return QColor(Qt::red); } -DepthAxis::DepthAxis() +DepthAxis::DepthAxis(ProfileWidget2 *widget) : DiveCartesianAxis(widget) { connect(PreferencesDialog::instance(), SIGNAL(settingsChanged()), this, SLOT(settingsChanged())); changed = true; @@ -399,6 +400,10 @@ void DepthAxis::settingsChanged() unitSystem = prefs.units.length; } +TimeAxis::TimeAxis(ProfileWidget2 *widget) : DiveCartesianAxis(widget) +{ +} + QColor TimeAxis::colorForValue(double value) { Q_UNUSED(value); @@ -423,13 +428,17 @@ void TimeAxis::updateTicks() } } +TemperatureAxis::TemperatureAxis(ProfileWidget2 *widget) : DiveCartesianAxis(widget) +{ +} + QString TemperatureAxis::textForValue(double value) { return QString::number(mkelvin_to_C((int)value)); } -PartialGasPressureAxis::PartialGasPressureAxis() : - DiveCartesianAxis(), +PartialGasPressureAxis::PartialGasPressureAxis(ProfileWidget2 *widget) : + DiveCartesianAxis(widget), model(NULL) { connect(PreferencesDialog::instance(), SIGNAL(settingsChanged()), this, SLOT(settingsChanged())); diff --git a/profile-widget/divecartesianaxis.h b/profile-widget/divecartesianaxis.h index cc7d0bcf7..4e06b9a82 100644 --- a/profile-widget/divecartesianaxis.h +++ b/profile-widget/divecartesianaxis.h @@ -4,6 +4,7 @@ #include <QObject> #include <QGraphicsLineItem> #include "subsurface-core/color.h" +#include "profilewidget2.h" class QPropertyAnimation; class DiveTextItem; @@ -26,7 +27,7 @@ public: LeftToRight, RightToLeft }; - DiveCartesianAxis(); + DiveCartesianAxis(ProfileWidget2 *widget); virtual ~DiveCartesianAxis(); void setPrintMode(bool mode); void setMinimum(double minimum); @@ -60,6 +61,7 @@ signals: void maxChanged(); protected: + ProfileWidget2 *profileWidget; virtual QString textForValue(double value); virtual QColor colorForValue(double value); Orientation orientation; @@ -80,8 +82,7 @@ protected: class DepthAxis : public DiveCartesianAxis { Q_OBJECT public: - DepthAxis(); - + DepthAxis(ProfileWidget2 *widget); protected: QString textForValue(double value); QColor colorForValue(double value); @@ -93,6 +94,7 @@ slots: class TimeAxis : public DiveCartesianAxis { Q_OBJECT public: + TimeAxis(ProfileWidget2 *widget); virtual void updateTicks(); protected: @@ -102,6 +104,8 @@ protected: class TemperatureAxis : public DiveCartesianAxis { Q_OBJECT +public: + TemperatureAxis(ProfileWidget2 *widget); protected: QString textForValue(double value); }; @@ -109,7 +113,7 @@ protected: class PartialGasPressureAxis : public DiveCartesianAxis { Q_OBJECT public: - PartialGasPressureAxis(); + PartialGasPressureAxis(ProfileWidget2 *widget); void setModel(DivePlotDataModel *model); public slots: diff --git a/profile-widget/profilewidget2.cpp b/profile-widget/profilewidget2.cpp index d485d4d79..6b83508b4 100644 --- a/profile-widget/profilewidget2.cpp +++ b/profile-widget/profilewidget2.cpp @@ -82,14 +82,14 @@ ProfileWidget2::ProfileWidget2(QWidget *parent) : QGraphicsView(parent), backgroundFile(":poster"), toolTipItem(new ToolTipItem()), isPlotZoomed(prefs.zoomed_plot),// no! bad use of prefs. 'PreferencesDialog::loadSettings' NOT CALLED yet. - profileYAxis(new DepthAxis()), - gasYAxis(new PartialGasPressureAxis()), - temperatureAxis(new TemperatureAxis()), - timeAxis(new TimeAxis()), + profileYAxis(new DepthAxis(this)), + gasYAxis(new PartialGasPressureAxis(this)), + temperatureAxis(new TemperatureAxis(this)), + timeAxis(new TimeAxis(this)), diveProfileItem(new DiveProfileItem()), temperatureItem(new DiveTemperatureItem()), meanDepthItem(new DiveMeanDepthItem()), - cylinderPressureAxis(new DiveCartesianAxis()), + cylinderPressureAxis(new DiveCartesianAxis(this)), gasPressureItem(new DiveGasPressureItem()), diveComputerText(new DiveTextItem()), diveCeiling(new DiveCalculatedCeiling()), @@ -102,9 +102,9 @@ ProfileWidget2::ProfileWidget2(QWidget *parent) : QGraphicsView(parent), ccrsensor1GasItem(new PartialPressureGasItem()), ccrsensor2GasItem(new PartialPressureGasItem()), ccrsensor3GasItem(new PartialPressureGasItem()), - heartBeatAxis(new DiveCartesianAxis()), + heartBeatAxis(new DiveCartesianAxis(this)), heartBeatItem(new DiveHeartrateItem()), - percentageAxis(new DiveCartesianAxis()), + percentageAxis(new DiveCartesianAxis(this)), ambPressureItem(new DiveAmbPressureItem()), gflineItem(new DiveGFLineItem()), mouseFollowerVertical(new DiveLineItem()), |