Upgraded Qwt to 6.2 (branch: qwt-multiaxes) (#4427)

This commit is based on https://github.com/GoldenCheetah/GoldenCheetah/pull/3956
with the following additions / changes:
* Upgraded to the latest version of the multiaxes-branch, thus eliminating crashes of GoldenCheetah on startup
* Disabled the emitting of Layout Requests on geometry changes of QwtScaleWidget - without this, CPU utilization was up to 100% on one core
* Added the class SplineLookup, reusing small portions of code from Qwt 6.1
* Re-added the splines in WPrime and RideFile (resampling), using the new interface of QwtSpline
* Appveyor: qwt in cache-section now depends on qwt/qwtconfig.prin.in for refresh on version change
This commit is contained in:
Joachim Kohlhammer
2024-01-06 22:59:55 +01:00
committed by GitHub
parent ea044a0c39
commit 49cf6340a4
991 changed files with 63097 additions and 46278 deletions

8
qwt/.idea/.gitignore generated vendored Normal file
View File

@@ -0,0 +1,8 @@
# Default ignored files
/shelf/
/workspace.xml
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml
# Editor-based HTTP Client requests
/httpRequests/

18
qwt/.idea/misc.xml generated Normal file
View File

@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ExternalStorageConfigurationManager" enabled="true" />
<component name="MakefileSettings">
<option name="linkedExternalProjectsSettings">
<MakefileProjectSettings>
<option name="externalProjectPath" value="$PROJECT_DIR$" />
<option name="modules">
<set>
<option value="$PROJECT_DIR$" />
</set>
</option>
<option name="version" value="2" />
</MakefileProjectSettings>
</option>
</component>
<component name="MakefileWorkspace" PROJECT_DIR="$PROJECT_DIR$" />
</project>

6
qwt/.idea/vcs.xml generated Normal file
View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$/.." vcs="Git" />
</component>
</project>

84
qwt/CHANGES-6.2 Normal file
View File

@@ -0,0 +1,84 @@
Qwt 6.2.0
=========
0) Requirement for Qt >= 4.8
1) Class Includes added
Include files, that match the class names are available now. So
it is possible to write "#include <QwtPlot>" now instead of "include qwt_plot.h"
2) BSD License for examples
Where possible the code of the examples is available under the 3-clause BSD License
3) MathML text renderer removed
The code can be found at https://github.com/uwerat/qwt-mml-dev now and is intended
to become a standalone lib. Anyone who is interested to workon it, please let me know.
4) Spline interpolation
The broken implementation of QwtSpline has been replaced by a bunch of classes
offering all sort of functionalities around splines.
The most popular spline approximation/interpolation algos have been implemented:
- Basis
- Cardinal
- ParabolicBlending
- Akima
- The one used in MS Excel
- Cubic
An implementation of the de Casteljaus algorithm has been added
- QwtBezier
5) New plot items
- QwtPlotVectorField
A new type of plot item for vector fields
- QwtPlotGraphicItem
An item displaying a QwtGraphic image ( f.e used by QwtPlotSvgItem )
6) Plot Canvas
- QwtAbstractPlotCanvas introduced
- QwtPlotOpenGLCanvas added to support QOpenGLWidget
7) QwtPlotCurve
- QwtPlotCurve::FilterPointsAggressive mode added - a fast weeding algo
for huge datasets with increasing x or y values
- QwtPlotCurve::closestPoint is virtual now
- QwtPlotCurve: polygon clipping includes the painter clip
- QwtPlotCurve::setLegendAttributes added
- QwtValuePointData added for curves, where the x values are the index
- a couple of new QwtPlotCurve::setSamples alternatives
8) QwtPlotSpectrogram
- QwtPlotSpectrogram::setColorTableSize added
- QwtRasterData::setInterval/interval changed into a pure virtual getter
- QwtMatrixRasterData::BicubicInterpolation added
- QwtMatrixRasterData::interval: API cleanup
- QwtHueColorMap, QwtSaturationValueColorMap added
9) QwtPlotRenderer
- using QPdfWriter where possible
10)
- LOG_MIN/LOG_MAX removed, use QwtTransform::LogMin/LogMax instead ( values differ ! )
- qwt_compat.h removed
- qwtFuzzyGreaterOrEqual/qwtFuzzyLessOrEqual removed
- qwtGetMin/qwtGetMax removed
11)
- Not aligning unknown paint engines ( f.e EMF )
- QwtNullPaintDevice is using a different type than QPaintEngine::User now
12) Many other changes ...

View File

@@ -1,38 +0,0 @@
Qwt TODO list
Ideas
------
- Improve Documention
- QAbstractModel -> QwtSeriesData
- Box/Whisker plot item
- QwtSeriesData + functors
- QwtSeriesData/QwtPlotCurve + Level of details (Douglas Peucker)
- Common zoom stack for all navigation objects
- Watermark Item
- Contour algorithm for vectors: http://apptree.net/conrec.htm
- QwtPlotCanvas rendered via FBO, PBO
- Time/Date scale engine
- TeX texts
- Grid of QwtPlots
- Interval scale labels ( between 2 ticks )
- More than 4 axes
- QwtIntervalSymbol + QPainterPath/...
- QwtPlotScene + breaking composite architecture
- Using QStaticText for markers ( and scales ? )
- Scales/Grid item like in QwtPolarGrid
- Container for a 2D matrix
- Waterfall plots
- transform/invTransform for polygons and lines
- cursor item
- line marker with a line from the position to the axis
- quadtree
- QwtText supporting Qt::TextElideMode
- Multitouch events
- QwtKnob/QwtDial fixed contents size mode
- controls ( f.e QwtWheel ) with a very dark palette
Bugs/Change requests
--------------------
- Remove QwtScaleTransformation::copy()
- Reference value for QwtThermo
- Transparent canvas background + backingstore

View File

@@ -1,8 +1,8 @@
#! /bin/sh
#
# Generates a Qwt package from sourceforge svn
# Generates a Qwt package from the sourceforge repository
#
# Usage: svn2package.sh [-b|--branch <svn-branch>] [packagename]
# Usage: 2package.sh.sh [-b|--branch <branch>] [packagename]
#
##########################
@@ -10,15 +10,15 @@
##########################
function usage() {
echo "Usage: $0 [-b|--branch <svn-branch>] [-s|--suffix <suffix>] [-html] [-pdf] [-qch] [packagename]"
echo "Usage: $0 [-b|--branch <branch>] [-s|--suffix <suffix>] [-html] [-pdf] [-qch] [packagename]"
exit 1
}
################################
# checkout
# downloadQwt
################################
function checkoutQwt() {
function downloadQwt() {
if [ -x $2 ]
then
@@ -29,18 +29,14 @@ function checkoutQwt() {
fi
fi
svn -q co https://svn.code.sf.net/p/qwt/code/$1/$2
git clone -b $1 git://git.code.sf.net/p/qwt/git $2
if [ $? -ne 0 ]
then
echo "Can't access sourceforge SVN"
echo "Can't access sourceforge repository"
exit $?
fi
if [ "$3" != "$2" ]
then
rm -rf $3
mv $2 $3
fi
rm -rf $2/.git $2/.gitignore
}
##########################
@@ -55,8 +51,6 @@ function cleanQwt {
exit $?
fi
find . -name .svn -print | xargs rm -r
rm -f TODO
rm -rf admin
rm -rf doc/tex
@@ -86,10 +80,10 @@ function cleanQwt {
if [ "$SUFFIX" != "" ]
then
sed -i -e "s/\$\$QWT_VERSION-svn/\$\$QWT_VERSION-$SUFFIX/" qwtconfig.pri
sed -i -e "s/\$\$QWT_VERSION-dev/\$\$QWT_VERSION-$SUFFIX/" qwtconfig.pri
sed -i -e "s/\$(QWTVERSION)/$VERSION-$SUFFIX/" doc/install.dox
else
sed -i -e "s/\$\$QWT_VERSION-svn/\$\$QWT_VERSION/" qwtconfig.pri
sed -i -e "s/\$\$QWT_VERSION-dev/\$\$QWT_VERSION/" qwtconfig.pri
sed -i -e "s/\$(QWTVERSION)/$VERSION/" doc/install.dox
fi
@@ -234,8 +228,7 @@ function prepare4Unix {
##########################
QWTDIR=
SVNDIR=trunk
BRANCH=qwt
BRANCH=multiaxes
SUFFIX=
VERSION=
GENERATE_DOC=0
@@ -248,7 +241,7 @@ while [ $# -gt 0 ] ; do
-h|--help)
usage; exit 1 ;;
-b|--branch)
shift; SVNDIR=branches; BRANCH=$1; shift;;
shift; BRANCH=$1; shift;;
-s|--suffix)
shift; SUFFIX=$1; shift;;
-html)
@@ -276,8 +269,8 @@ fi
TMPDIR=/tmp/$QWTDIR-tmp
echo -n "checkout to $TMPDIR ... "
checkoutQwt $SVNDIR $BRANCH $TMPDIR
echo -n "downloading to $TMPDIR ... "
downloadQwt $BRANCH $TMPDIR
cleanQwt $TMPDIR
echo done

View File

@@ -0,0 +1 @@
#include "qwt_abstract_legend.h"

View File

@@ -0,0 +1 @@
#include "qwt_abstract_scale.h"

View File

@@ -0,0 +1 @@
#include "qwt_abstract_scale_draw.h"

View File

@@ -0,0 +1 @@
#include "qwt_abstract_slider.h"

View File

@@ -0,0 +1 @@
#include "qwt_color_map.h"

View File

@@ -0,0 +1 @@
#include "qwt_analog_clock.h"

View File

@@ -0,0 +1 @@
#include "qwt_arrow_button.h"

View File

@@ -0,0 +1 @@
#include "qwt_axis.h"

View File

@@ -0,0 +1 @@
#include "qwt_axis_id.h"

View File

@@ -0,0 +1 @@
#include "qwt_bezier.h"

View File

@@ -0,0 +1 @@
#include "qwt_point_data.h"

View File

@@ -0,0 +1 @@
#include "qwt_clipper.h"

View File

@@ -0,0 +1 @@
#include "qwt_color_map.h"

View File

@@ -0,0 +1 @@
#include "qwt_column_symbol.h"

View File

@@ -0,0 +1 @@
#include "qwt_column_symbol.h"

View File

@@ -0,0 +1 @@
#include "qwt_compass.h"

View File

@@ -0,0 +1 @@
#include "qwt_dial_needle.h"

View File

@@ -0,0 +1 @@
#include "qwt_compass_rose.h"

View File

@@ -0,0 +1 @@
#include "qwt_compass.h"

View File

@@ -0,0 +1 @@
#include "qwt_dial_needle.h"

View File

@@ -0,0 +1 @@
#include "qwt_counter.h"

View File

@@ -0,0 +1 @@
#include "qwt_curve_fitter.h"

View File

@@ -0,0 +1 @@
#include "qwt_date.h"

View File

@@ -0,0 +1 @@
#include "qwt_date_scale_draw.h"

View File

@@ -0,0 +1 @@
#include "qwt_date_scale_engine.h"

View File

@@ -0,0 +1 @@
#include "qwt_dial.h"

View File

@@ -0,0 +1 @@
#include "qwt_dial_needle.h"

View File

@@ -0,0 +1 @@
#include "qwt_dial_needle.h"

View File

@@ -0,0 +1 @@
#include "qwt_dyngrid_layout.h"

View File

@@ -0,0 +1 @@
#include "qwt_event_pattern.h"

View File

@@ -0,0 +1 @@
#include "qwt_global.h"

View File

@@ -0,0 +1 @@
#include "qwt_graphic.h"

View File

@@ -0,0 +1 @@
#include "qwt_color_map.h"

View File

@@ -0,0 +1 @@
#include "qwt_interval.h"

View File

@@ -0,0 +1 @@
#include "qwt_samples.h"

View File

@@ -0,0 +1 @@
#include "qwt_series_data.h"

View File

@@ -0,0 +1 @@
#include "qwt_interval_symbol.h"

View File

@@ -0,0 +1 @@
#include "qwt_knob.h"

View File

@@ -0,0 +1 @@
#include "qwt_legend.h"

View File

@@ -0,0 +1 @@
#include "qwt_legend_data.h"

View File

@@ -0,0 +1 @@
#include "qwt_legend_label.h"

View File

@@ -0,0 +1 @@
#include "qwt_color_map.h"

View File

@@ -0,0 +1 @@
#include "qwt_scale_engine.h"

View File

@@ -0,0 +1 @@
#include "qwt_scale_engine.h"

View File

@@ -0,0 +1 @@
#include "qwt_transform.h"

View File

@@ -0,0 +1 @@
#include "qwt_magnifier.h"

View File

@@ -0,0 +1 @@
#include "qwt_math.h"

View File

@@ -0,0 +1 @@
#include "qwt_matrix_raster_data.h"

View File

@@ -0,0 +1 @@
#include "qwt_null_paintdevice.h"

View File

@@ -0,0 +1 @@
#include "qwt_transform.h"

View File

@@ -0,0 +1 @@
#include "qwt_samples.h"

View File

@@ -0,0 +1 @@
#include "qwt_painter.h"

View File

@@ -0,0 +1 @@
#include "qwt_painter_command.h"

View File

@@ -0,0 +1 @@
#include "qwt_panner.h"

View File

@@ -0,0 +1 @@
#include "qwt_picker.h"

View File

@@ -0,0 +1 @@
#include "qwt_picker_machine.h"

View File

@@ -0,0 +1 @@
#include "qwt_picker_machine.h"

View File

@@ -0,0 +1 @@
#include "qwt_picker_machine.h"

View File

@@ -0,0 +1 @@
#include "qwt_picker_machine.h"

View File

@@ -0,0 +1 @@
#include "qwt_picker_machine.h"

View File

@@ -0,0 +1 @@
#include "qwt_picker_machine.h"

View File

@@ -0,0 +1 @@
#include "qwt_picker_machine.h"

View File

@@ -0,0 +1 @@
#include "qwt_picker_machine.h"

View File

@@ -0,0 +1 @@
#include "qwt_pixel_matrix.h"

View File

@@ -0,0 +1 @@
#include "qwt_text_engine.h"

View File

@@ -0,0 +1 @@
#include "qwt_plot.h"

View File

@@ -0,0 +1 @@
#include "qwt_plot_abstract_barchart.h"

View File

@@ -0,0 +1 @@
#include "qwt_plot_abstract_canvas.h"

View File

@@ -0,0 +1 @@
#include "qwt_plot_barchart.h"

View File

@@ -0,0 +1 @@
#include "qwt_plot_canvas.h"

View File

@@ -0,0 +1 @@
#include "qwt_plot_curve.h"

View File

@@ -0,0 +1 @@
#include "qwt_plot_dict.h"

View File

@@ -0,0 +1 @@
#include "qwt_plot_directpainter.h"

View File

@@ -0,0 +1 @@
#include "qwt_plot_glcanvas.h"

View File

@@ -0,0 +1 @@
#include "qwt_plot_graphicitem.h"

View File

@@ -0,0 +1 @@
#include "qwt_plot_grid.h"

View File

@@ -0,0 +1 @@
#include "qwt_plot_histogram.h"

View File

@@ -0,0 +1 @@
#include "qwt_plot_intervalcurve.h"

View File

@@ -0,0 +1 @@
#include "qwt_plot_item.h"

View File

@@ -0,0 +1 @@
#include "qwt_plot_layout.h"

View File

@@ -0,0 +1 @@
#include "qwt_plot_legenditem.h"

View File

@@ -0,0 +1 @@
#include "qwt_plot_magnifier.h"

View File

@@ -0,0 +1 @@
#include "qwt_plot_marker.h"

View File

@@ -0,0 +1 @@
#include "qwt_plot_multi_barchart.h"

View File

@@ -0,0 +1 @@
#include "qwt_plot_opengl_canvas.h"

View File

@@ -0,0 +1 @@
#include "qwt_plot_panner.h"

View File

@@ -0,0 +1 @@
#include "qwt_plot_picker.h"

View File

@@ -0,0 +1 @@
#include "qwt_plot_rasteritem.h"

View File

@@ -0,0 +1 @@
#include "qwt_plot_renderer.h"

View File

@@ -0,0 +1 @@
#include "qwt_plot_rescaler.h"

View File

@@ -0,0 +1 @@
#include "qwt_plot_scaleitem.h"

View File

@@ -0,0 +1 @@
#include "qwt_plot_seriesitem.h"

View File

@@ -0,0 +1 @@
#include "qwt_plot_shapeitem.h"

View File

@@ -0,0 +1 @@
#include "qwt_plot_spectrocurve.h"

Some files were not shown because too many files have changed in this diff Show More