Refactor MainWindow Part 2 of 5

Decoupled classes from MainWindow to reference Context
and Athlete (and introduced a couple of new headers).

We no longer pass around a MainWindow pointer to children
but pass a context instead.

There are still a few pieces left in MainWindow that need
to move to a better place;
    * Setting/clearing filter selection
    * Working with Intervals
    * Adding/Deleting Rides
    * Save on Exit

As mentioned previously there are lots of other parts to
this refactor left to do;
    * break MainWindow Gui elements into Toolbar and Views

    * migrate from RideItem and Ridelist to ActivityCollection
      and Activity classes that are not tied into gui elements.

    * introduce Application Context and AthleteCollection
This commit is contained in:
Mark Liversedge
2013-07-10 13:57:30 +01:00
parent cd54ce16c8
commit 05f1d577db
235 changed files with 2196 additions and 1948 deletions

View File

@@ -18,9 +18,11 @@
#include "RealtimePlotWindow.h"
#include "MainWindow.h"
#include "Athlete.h"
RealtimePlotWindow::RealtimePlotWindow(MainWindow *mainWindow) :
GcWindow(mainWindow), mainWindow(mainWindow), active(false)
RealtimePlotWindow::RealtimePlotWindow(Context *context) :
GcWindow(context), context(context), active(false)
{
setContentsMargins(0,0,0,0);
setInstanceName("RT Plot");
@@ -90,7 +92,7 @@ RealtimePlotWindow::RealtimePlotWindow(MainWindow *mainWindow) :
connect(smoothLineEdit, SIGNAL(editingFinished()), this, SLOT(setSmoothingFromLineEdit()));
// get updates..
connect(mainWindow, SIGNAL(telemetryUpdate(RealtimeData)), this, SLOT(telemetryUpdate(RealtimeData)));
connect(context->mainWindow, SIGNAL(telemetryUpdate(RealtimeData)), this, SLOT(telemetryUpdate(RealtimeData)));
// lets initialise all the smoothing variables
hrtot = hrindex = cadtot = cadindex = spdtot = spdindex = alttot = altindex = powtot = powindex = 0;
@@ -142,7 +144,7 @@ RealtimePlotWindow::telemetryUpdate(RealtimeData rtData)
spdtot += spd; spdtot -= spdHist[spdindex]; spdHist[spdindex] = spd;
spdindex++; if (spdindex >= rtPlot->smooth) spdindex = 0;
spd = spdtot / rtPlot->smooth;
if (!mainWindow->athlete->useMetricUnits) spd *= MILES_PER_KM;
if (!context->athlete->useMetricUnits) spd *= MILES_PER_KM;
rtPlot->spdData->addData(spd);
// Power