Commit Graph

95 Commits

Author SHA1 Message Date
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
Mark Liversedge
3a5ce262cf UI Nits: Reformat allplot chart settings
To be a little easier on the eye. But still some
room for improvement.
2013-01-10 21:17:10 +00:00
Andy Bryson
ff27c24f32 Stacked Plot Improvements
Make first plot the same size as the others in stacked view
Stop RPM scale clutter
2012-12-20 12:59:48 +00:00
Andy Bryson
2ab9161232 Issue #357 - Y axis is unclear 2012-11-27 18:40:11 +00:00
Damien
45f2b2a2f1 Keep/Save last value for showBalance 2012-09-22 20:22:24 +01:00
Damien
d51cb951ce Add Left/Right Power Support
Add Left/Right Power Balance for FIT and Polar HRM parsers
 Add Left/Right Balance metric
 Add Left/Right series to Ride Chart

Fixes #711.
2012-08-19 13:57:24 +01:00
Damien
f884d21a81 Add torque on the plot
Fixes #245.
2012-02-13 19:34:49 +00:00
Damien
00b2ba9aec Plot relative headwind
Fixes #131.
2012-02-12 19:08:30 +00:00
Damien
c44758c5ad Qwt 6.0.1 Support
Upgrade to QWT 6.0.1, but still uses a locally patched copy
since support for 8 axes has not been included, despite it
being a relatively simple patch.

Fixes #634.
Fixes #567.
2012-02-12 10:43:15 +00:00
Damien
1d0a858df6 Reorganise intervals by drag and drop
The interval view now allows the user to drag and drop intervals
up and down in the list.

We could extend the drag and drop of intervals to support analysis
of segments/intervals from multiple rides in the future too.

Fixes #405.
2012-01-21 21:16:35 +00:00
Damien Grauser
55cb396196 Add temperature to AllPlot
Fixes #536.
2011-12-07 21:55:35 +00:00
Mark Liversedge
de9c5b5883 Fix setByDistance bug in allplot
setByDistance was not being honored in allplot upon
startup (setting properties). Similar bug to those
affecting grid, stack etc.
2011-09-05 15:37:31 +01:00
Mark Liversedge
3de45ab7a7 AllPlot select left-click in stacked view
Missed off in the patch to swap zoom and select
mouse actions in LTM / AllPlot.
2011-09-03 12:17:09 +01:00
Mark Liversedge
f549006627 Swap Zoom and Select on LTM/Ride Plot
This is a perennial issue for new users. The default
action when click dragging on a chart is to Zoom -- this
was probably right when we had no span sliders or stack
view (and no facility for marking intervals either).

But now, most users will expect click and drag on a metric
chart or ride plot to mark an interval or date range.

We get regular feature requests and bug reports related to
this -- basically the mouse actions are not intuitive.

Where selection is not meaningful (e.g. histogram) then
left click will zoom. This should be reasonably intuitive
to most users.

Fixes #398.
2011-09-03 11:13:45 +01:00
Mark Liversedge
9d9619ef40 Re-instate zoom interval in MainWindow/AllPlot
Added a new signal to MainWindow to trigger
a zoom to interval. This signal has been trapped
in AllPlot (Ride Plot), but will also need to
be supported in;

* Ride Editor - highlight/zoom to interval data
* Aerolab     - Same as ride plot
* Maps        - Zoom in to section
2011-08-29 11:08:06 +01:00