MainWindow Refactor Part 1 of 5

Breaking the MainWindow 'god object' into
separate classes for Athlete and Context.

Further updates will need to;
- 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

Once these are done we will be in a position to decouple
most classes from mainwindow and also introduce tabbed
athletes.
This commit is contained in:
Mark Liversedge
2013-07-07 15:50:28 +01:00
parent 401957acf9
commit e407237ac0
106 changed files with 971 additions and 1091 deletions

View File

@@ -23,17 +23,17 @@
// create a separate array for the ergfile data, we plot
// directly from the ErgFile points array
double ErgFileData::x(size_t i) const {
if (main->currentErgFile()) return main->currentErgFile()->Points.at(i).x;
if (main->context->currentErgFile()) return main->context->currentErgFile()->Points.at(i).x;
else return 0;
}
double ErgFileData::y(size_t i) const {
if (main->currentErgFile()) return main->currentErgFile()->Points.at(i).y;
if (main->context->currentErgFile()) return main->context->currentErgFile()->Points.at(i).y;
else return 0;
}
size_t ErgFileData::size() const {
if (main->currentErgFile()) return main->currentErgFile()->Points.count();
if (main->context->currentErgFile()) return main->context->currentErgFile()->Points.count();
else return 0;
}
@@ -44,10 +44,10 @@ QPointF ErgFileData::sample(size_t i) const
QRectF ErgFileData::boundingRect() const
{
if (main->currentErgFile()) {
if (main->context->currentErgFile()) {
double minX, minY, maxX, maxY;
minX=minY=maxX=maxY=0.0f;
foreach(ErgFilePoint x, main->currentErgFile()->Points) {
foreach(ErgFilePoint x, main->context->currentErgFile()->Points) {
if (x.y > maxY) maxY = x.y;
if (x.x > maxX) maxX = x.x;
if (x.y < minY) minY = x.y;
@@ -61,10 +61,10 @@ QRectF ErgFileData::boundingRect() const
// Now bar
double NowData::x(size_t) const { return main->getNow(); }
double NowData::x(size_t) const { return main->context->getNow(); }
double NowData::y(size_t i) const {
if (i) {
if (main->currentErgFile()) return main->currentErgFile()->maxY;
if (main->context->currentErgFile()) return main->context->currentErgFile()->maxY;
else return 0;
} else return 0;
}
@@ -292,8 +292,8 @@ ErgFilePlot::setData(ErgFile *ergfile)
}
// set the axis so we use all the screen estate
if (main->currentErgFile() && main->currentErgFile()->Points.count()) {
double maxX = (double)main->currentErgFile()->Points.last().x;
if (main->context->currentErgFile() && main->context->currentErgFile()->Points.count()) {
double maxX = (double)main->context->currentErgFile()->Points.last().x;
if (bydist) {