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

@@ -16,6 +16,7 @@
* Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#include "Context.h"
#include "TreeMapPlot.h"
#include "LTMTool.h"
#include "TreeMapWindow.h"
@@ -36,8 +37,8 @@ bool TreeMapLessThan(const TreeMap *a, const TreeMap *b) {
return (a->value) > (b->value);
}
TreeMapPlot::TreeMapPlot(TreeMapWindow *parent, MainWindow *main)
: QWidget (parent), parent(parent), main(main)
TreeMapPlot::TreeMapPlot(TreeMapWindow *parent, Context *context)
: QWidget (parent), parent(parent), context(context)
{
setInstanceName("TreeMap Plot");
@@ -51,7 +52,7 @@ TreeMapPlot::TreeMapPlot(TreeMapWindow *parent, MainWindow *main)
setContentsMargins(0,0,0,0);
configUpdate(); // set basic colors
connect(main->context, SIGNAL(configChanged()), this, SLOT(configUpdate()));
connect(context, SIGNAL(configChanged()), this, SLOT(configUpdate()));
}
TreeMapPlot::~TreeMapPlot()
@@ -69,7 +70,7 @@ TreeMapPlot::setData(TMSettings *settings)
foreach (SummaryMetrics rideMetrics, *(settings->data)) {
// don't plot if filtered
if (main->isfiltered && !main->filters.contains(rideMetrics.getFileName())) continue;
if (context->mainWindow->isfiltered && !context->mainWindow->filters.contains(rideMetrics.getFileName())) continue;
double value = rideMetrics.getForSymbol(settings->symbol);
QString text1 = rideMetrics.getText(settings->field1, "(unknown)");