Commit Graph

109 Commits

Author SHA1 Message Date
Mark Liversedge
37d8e7a603 AllPlot Paint Zones in Compare Mode
.. we should actually paint a zoned background if
   power shade zones is selected, when in compare mode.

.. but /only/ for charts that have power on them!
2014-01-06 17:51:15 +00:00
Mark Liversedge
dc5cfc7e76 Fix Ride plot zone shading for series stack
.. the setting wasn't being set/unset according to
   user preferences properly.
2014-01-06 17:01:43 +00:00
Mark Liversedge
9aa5f46f48 Fix compare by time / by distance bug
.. silly typo mean't allplot was being used as a refrence
   when generating plots instead of fullplot

.. this manifests itself as using the wrong plot for the
   'bydist' boolean -- this is fine, unless you switch
   between by time and by distance whilst in compare mode.
2014-01-06 12:59:51 +00:00
Mark Liversedge
530c12435f Sneak in for dev builds
.. full plot controls always visible in compare mode.
2014-01-05 18:03:46 +00:00
Mark Liversedge
54ea5514ee Fix allplot Compare mode refresh
.. if you selected a ride and viewed on allplot then
   changed tabs, entered compare mode then switched back
   to allplot the display didn't get refreshed.
2014-01-04 10:49:56 +00:00
Mark Liversedge
df15888b0b AllPlot Compare Mode
.. extending the interval compare to the allplot chart.
2014-01-03 14:59:20 +00:00
Mark Liversedge
d748695b0e UI Nits: Fusion Style on QT5 only
.. improves things somewhat on Windows.
2013-12-29 21:29:11 +00:00
Damien
0fa9aec9cd AllPlot: Add secondary Scope to plot speed and headwind in the same together 2013-12-26 15:41:15 +01:00
Mark Liversedge
e4aadbe818 Fix compile error on stackZoomWidth
Gareth's build system baulked at the stackZoomWidth
class member defined as const in the class declaration.

Moved to a static member of AllPlotWindow.cpp instead.
2013-12-24 17:29:56 +00:00
Mark Liversedge
420161e400 Zoom to really large
.. because when we're comparing we'll need it.
2013-12-23 22:51:30 +00:00
Mark Liversedge
13c504c822 Fixup Stack View Zooming
.. it was a bit shit with controls you couldn't
   use, and when you did nothing happened.

.. now has a slider and 7 distinct settings for
   stacks from ok to large and 5-60 mins sections.

.. should be good enough for most users.
2013-12-23 17:21:50 +00:00
Mark Liversedge
7ce5ffa7ea Fixup Stack By Series
Finish off the nits and missing pieces for the recent
update to enable plotting in a stack by data series;

* Now plots W' bal, LR Balance and headwind
* Stacks are now redrawn when settings change
* Interval marking is fixed
* Baseline is now set correctly for each plot
* Reference lines are plotted (on power plots only)
* Reference lines can be dragged
* Interval markers are not redrawn with the text
  only shown on first plot
2013-12-23 15:20:18 +00:00
Mark Liversedge
4db8930b4e Remove errant qDebug statements 2013-12-22 17:47:26 +00:00
Mark Liversedge
a4fc05f70b AllPlot Stacked by Series
Extending the stack display to have a single plot for each
data series. This will be useful when comparing activities
and also makes it a bit easier to see the data when there
are lots of data series.

This is a checkpoint commit as I need to fixup some of the
series that have multiple curves and also reference lines
are not currently working.

But you can zoom using the fullplot and highlight intervals
etc.
2013-12-22 17:23:19 +00:00
Mark Liversedge
e80243eea1 QWT 6.1 canvas() revert and LTM ToolTip fixups
Reverted the update to the QWT 6.1 code to make QwtPlot::canvas()
return a QwtPlotCanvas -- it now returns  QWidget.

This means our local copy of Qwt is the same as the published version
so we should be able to stop maintaining our own copy when Uwe pushes
the multiaxis stuff with 6.2.

Also fixed the LTM tooltip - the zoomer has been removed.
2013-12-11 17:58:35 +00:00
Mark Liversedge
c797e3b43e Fix AllPlot Y-Axes
Now hide/show appropriately and are painted correctly.

There is still a problem with the x-axis disappearing
but this should be straight forward to resolve.
2013-12-11 12:44:14 +00:00
Mark Liversedge
c3a189b25c QT5 -- 2 of 3
Fixup all the GC code to use the QWT 6.1 code.
It needed canvas() to be patched to return a
QwtPlotCanvas and not a QWidget.

We could probably get round that with a cast.

When we switch to QWT 6.2 with the multiaxis
support formally baked in we can fix the code
as needed.

Now compiles and links without issues.
2013-12-09 12:26:55 +00:00
Mark Liversedge
aa8605e8d5 QT5 -- 1 of 3
Porting the codebase to QT 5 (5.2) to get the
latest bug fixes, performance and improved platform
support.

This first part is to fixup the codebase to compile
on Qt 5, but some aspects have been broken (video).

The second part is to migrate from Qwt 6.0.1 to the
latest Qwt for multiaxis support.

The third part will be to fixup any platform specific
issues or issues identified at runtime.
2013-12-09 09:57:13 +00:00
Mark Liversedge
1abbab0d4d Plot Background and CP chart
If you change the plot background to black then the
CP curve is always in black too so becomes invisible.

Added a customisable color for the CP curve and fixed
up a few redraw issues in CP and Ride plot when you
change the colors.

Still need to fixup the other charts, but will do over
time. I suspect almost noone changes the plot colors from
the default values.
2013-12-07 19:42:51 +00:00
Mark Liversedge
008046cfc6 Fix show W' on AllPlot bug
.. redraw didn't happen until you changed smoothing
   or selected a ride file.
2013-11-16 13:39:02 +00:00
Mark Liversedge
f8bfc93ca0 Zoom Out Menu Option
So you can unzoom in ride plot when you've zoomed in
to an interval -- avoiding having to show fullplot to
do the same thing manually.

There are probably other places to add functionality
for zooming out, will deal with those as they arise.
2013-11-11 19:56:31 +00:00
Mark Liversedge
6961534137 UI Nits: Axis background color
Changed to match the ride plot background. This makes
it easer to read axis that use light colours (e.g.
using yellow for power).
2013-11-10 22:06:34 +00:00
Mark Liversedge
d4b6e0a1c3 Add Derived Series to Ride Plot
You can now plot NP, xPower and aPower on the
ride plot.

This has been done to provide transparency &
insight into the relationship between the derived
values and the recorded power values,
2013-11-07 12:04:44 +00:00
Damien
d260edd85f AllPlot: Add Reference Line for Power (Watts) 2013-11-06 23:49:07 +01:00
Mark Liversedge
eb244d0609 Add W' to All Plot
Will plot the W' balance as another data series.
2013-10-31 15:00:25 +00:00
Mark Liversedge
59fd0db564 Move specialFields from MainWindow to Context
.. and tidy up a few unneccessary references to mainWindow
2013-07-14 11:51:34 +01:00
Mark Liversedge
cf82d1b7a9 More refactor tidying
.. move signals to context from mainwindow
.. fix missed updates to aerolab and realtime plot
.. remove clutter from MainWindow.h
2013-07-14 11:23:06 +01:00
Mark Liversedge
d21ca376be MainWindow Refactor Part 3 of 5
Slowly migrating code  and data from the MainWindow
class to Athlete and Context classes.

This update moves the ride and interval lists and
data structures from MainWindow to Athlete.
2013-07-13 19:46:03 +01:00
Mark Liversedge
05f1d577db 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
2013-07-11 14:02:02 +01:00
Mark Liversedge
e407237ac0 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.
2013-07-07 15:50:28 +01:00
Mark Liversedge
e386a4314e Fix RidePlot draw performance
.. by only plotting the stack view if its actually
   needed (i.e. user has selected stack view).

.. this performance degradation was introduced by the
   axisscaling update (which is a nice update)

Fixes #616.
2013-05-28 12:11:10 +01:00
Mark Liversedge
440bbd203f Refresh all curve when spikes edited and saved
.. will refresh after the metrics and cpx have been refreshed

.. it invalidates the data rather than refreshing immediately
   since thats expensive and better wait until refresh is needed.
2013-03-29 19:33:43 +00:00
Mark Liversedge
39f322ba1f Add interval sort function
.. added to the splitter handle context menu

.. also took IntervalItem.h and IntervalTreeView.h from MainWindow.h
   coz I was getting pissed with recompiling everything when changing it.
   Thats why so many other files have been changed in this commit.

Fixes #338.
2013-03-17 21:29:47 +00:00
Damien
649a2c3400 BlankState: No data available for AllPlotWindow
Use the default blank state in AllPlotWindow when data not present
2013-02-04 22:12:40 +01:00
Mark Liversedge
cab24f7383 Fix all plot reveal size
My bad -- added padding at the top a while ago when
trying to fix another issue. Then forgot to remove it
afterwards.
2013-01-28 08:54:50 +00:00
Damien
f25cc72894 UI Nits: Reveal controls for GcChartWindow
Add a new Class GcChartWindow with reveal widget and animations
2013-01-27 23:11:18 +01:00
Damien
5f9d8cf3a9 Wait before controls appear on AllPlot 2013-01-26 16:15:34 +01:00
Damien
9ce5f1207f Animation for AllPlot only for background 2013-01-26 15:55:08 +01:00
Damien
cde2c48bbe Change animation for reveal on AllPlotWindow 2013-01-26 15:15:22 +01:00
Mark Liversedge
fe2f96e25c Reveal: Add an easing curve
Just to try different effects. InSine seems the most pleasing.
2013-01-25 18:13:47 +00:00
Mark Liversedge
14fb41fb27 UI Nits: Allplot reveal
I changed the fixed height of the allplot reveal
controls and forgot to set it back. It leaves a
little artefact on the plot when they hide.

I took out my edit and it fixed it.
2013-01-25 15:20:32 +00:00
Damien
0c458768ba Animation for reveal controls 2013-01-25 15:21:46 +01:00
Mark Liversedge
40e527d022 UI Nits: Reveal Controls Cosmetics
After discussion with Damien;

* solid white background for the controls looks best
* CP on chart labels need to be less obtrusive
* keep the controls to a simple but useful set

I also tidied up some of the margins since they were
also wrong.
2013-01-25 09:28:20 +00:00
Mark Liversedge
44e3155cf6 UI Nits: Allplot reveal controls
.. fixups for positioning and translucent
background looks a bit naff.
2013-01-21 07:16:21 +00:00
Damien
5f1627bd57 Add reveal controls for CP Plot and PfPv Plot 2013-01-20 23:36:31 +01:00
Mark Liversedge
c75575834e UI Nits: Reveal controls on black bg
.. black controls on a black background might
be cool if you play in a plutonium rock band
from the Gagrakacka Mind Zones, but for the
rest of us its helpful if the controls are
slightly more visible.

A bit of hacking with style sheets and the controls
now change color to contrast with whatever background
color is selected.
2013-01-19 09:44:17 +00:00
Mark Liversedge
80f6171ff3 Reveal Controls: AllPlot update
To allow user to turn on/off the fullplot at the
bottom of the chart.
2013-01-16 10:57:37 +00:00
Damien
00e9187d05 Transparent background for reveal controls
Add controls for HrPwWindow
2013-01-15 23:40:39 +01:00
Damien
fae694ce3d Initialisation of reveal controls 2013-01-13 23:46:24 +01:00
Mark Liversedge
023a0b6ea7 Reveal Controls: AllPlot
Added smooth slider and stack selection as the
reveal controls on the ride plot.
2013-01-13 21:55:25 +00:00