summaryrefslogtreecommitdiffstats
path: root/profile-widget
diff options
context:
space:
mode:
authorGravatar Lubomir I. Ivanov <neolit123@gmail.com>2015-11-06 13:54:35 +0200
committerGravatar Dirk Hohndel <dirk@hohndel.org>2015-11-06 09:58:08 -0800
commit6d7eefd52da50fb76a1f817a871ef21b77af20dc (patch)
treef5f110188db0d51910fa5cd04bc73f199fe26933 /profile-widget
parent81f1238ab9e82ad158e00b98f59d8ddb497ee7c8 (diff)
downloadsubsurface-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.cpp19
-rw-r--r--profile-widget/divecartesianaxis.h12
-rw-r--r--profile-widget/profilewidget2.cpp14
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()),