mirror of
https://github.com/GoldenCheetah/GoldenCheetah.git
synced 2026-02-14 08:38:45 +00:00
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
81 lines
1.9 KiB
C++
81 lines
1.9 KiB
C++
/*****************************************************************************
|
|
* Qwt Examples - Copyright (C) 2002 Uwe Rathmann
|
|
* This file may be used under the terms of the 3-clause BSD License
|
|
*****************************************************************************/
|
|
|
|
#include "PlotMatrix.h"
|
|
|
|
#include <QwtPlotGrid>
|
|
#include <QwtPlot>
|
|
#include <QwtScaleWidget>
|
|
#include <QwtMath>
|
|
|
|
#include <QApplication>
|
|
|
|
namespace
|
|
{
|
|
class MainWindow : public PlotMatrix
|
|
{
|
|
public:
|
|
MainWindow();
|
|
};
|
|
}
|
|
|
|
MainWindow::MainWindow()
|
|
: PlotMatrix( 3, 4 )
|
|
{
|
|
using namespace QwtAxis;
|
|
|
|
setAxisVisible( YLeft );
|
|
setAxisVisible( YRight );
|
|
setAxisVisible( XBottom );
|
|
|
|
for ( int row = 0; row < numRows(); row++ )
|
|
{
|
|
const double v = std::pow( 10.0, row );
|
|
|
|
setAxisScale( YLeft, row, -v, v );
|
|
setAxisScale( YRight, row, -v, v );
|
|
}
|
|
|
|
for ( int col = 0; col < numColumns(); col++ )
|
|
{
|
|
const double v = std::pow( 10.0, col );
|
|
|
|
setAxisScale( XBottom, col, -v, v );
|
|
setAxisScale( XTop, col, -v, v );
|
|
}
|
|
|
|
for ( int row = 0; row < numRows(); row++ )
|
|
{
|
|
for ( int col = 0; col < numColumns(); col++ )
|
|
{
|
|
QwtPlot* plot = plotAt( row, col );
|
|
plot->setCanvasBackground( QColor( Qt::darkGray ) );
|
|
|
|
QwtPlotGrid* grid = new QwtPlotGrid();
|
|
grid->enableXMin( true );
|
|
grid->setMajorPen( Qt::white, 0, Qt::DotLine );
|
|
grid->setMinorPen( Qt::gray, 0, Qt::DotLine );
|
|
grid->attach( plot );
|
|
}
|
|
}
|
|
|
|
plotAt( 1, 0 )->axisWidget( YLeft )->setLabelRotation( 45 );
|
|
plotAt( 1, numColumns() - 1 )->axisWidget( YRight )->setLabelRotation( -45 );
|
|
|
|
updateLayout();
|
|
}
|
|
|
|
int main( int argc, char* argv[] )
|
|
{
|
|
QApplication app( argc, argv );
|
|
|
|
MainWindow window;
|
|
|
|
window.resize( 800, 600 );
|
|
window.show();
|
|
|
|
return app.exec();
|
|
}
|