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>
This commit is contained in:
Lubomir I. Ivanov 2015-11-06 13:54:35 +02:00 committed by Dirk Hohndel
parent 81f1238ab9
commit 6d7eefd52d
3 changed files with 29 additions and 16 deletions

View file

@ -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()));

View file

@ -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:

View file

@ -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()),