mirror of
https://github.com/GoldenCheetah/GoldenCheetah.git
synced 2026-02-14 08:38:45 +00:00
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:
committed by
GitHub
parent
ea044a0c39
commit
49cf6340a4
70
qwt/examples/polarspectrogram/PlotWindow.cpp
Normal file
70
qwt/examples/polarspectrogram/PlotWindow.cpp
Normal file
@@ -0,0 +1,70 @@
|
||||
/*****************************************************************************
|
||||
* Qwt Polar Examples - Copyright (C) 2008 Uwe Rathmann
|
||||
* This file may be used under the terms of the 3-clause BSD License
|
||||
*****************************************************************************/
|
||||
|
||||
#include "Plot.h"
|
||||
#include "PlotWindow.h"
|
||||
|
||||
#include <QwtScaleEngine>
|
||||
#include <QwtRasterData>
|
||||
#include <QwtPolarSpectrogram>
|
||||
#include <QwtScaleWidget>
|
||||
#include <QwtColorMap>
|
||||
|
||||
#include <QLayout>
|
||||
|
||||
namespace
|
||||
{
|
||||
class ColorMap : public QwtLinearColorMap
|
||||
{
|
||||
public:
|
||||
ColorMap()
|
||||
: QwtLinearColorMap( Qt::darkBlue, Qt::yellow )
|
||||
{
|
||||
#if 1
|
||||
addColorStop( 0.00, Qt::black );
|
||||
addColorStop( 0.05, Qt::darkRed );
|
||||
#else
|
||||
addColorStop( 0.05, Qt::blue );
|
||||
#endif
|
||||
addColorStop( 0.3, Qt::cyan );
|
||||
addColorStop( 0.6, Qt::green );
|
||||
addColorStop( 0.98, Qt::red );
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
PlotWindow::PlotWindow( QWidget* parent )
|
||||
: QWidget( parent )
|
||||
{
|
||||
m_plot = new Plot();
|
||||
|
||||
m_colorScale = new QwtScaleWidget();
|
||||
m_colorScale->setAlignment( QwtScaleDraw::RightScale );
|
||||
m_colorScale->setColorBarEnabled( true );
|
||||
|
||||
QwtText title( "Intensity" );
|
||||
QFont font = m_colorScale->font();
|
||||
font.setBold( true );
|
||||
title.setFont( font );
|
||||
m_colorScale->setTitle( title );
|
||||
|
||||
const QwtInterval interval =
|
||||
m_plot->spectrogram()->data()->interval( Qt::ZAxis );
|
||||
|
||||
m_colorScale->setColorMap( interval, new ColorMap() );
|
||||
m_plot->spectrogram()->setColorMap( new ColorMap() );
|
||||
|
||||
QwtLinearScaleEngine scaleEngine;
|
||||
m_colorScale->setScaleDiv(
|
||||
scaleEngine.divideScale( interval.minValue(), interval.maxValue(), 8, 5 ) );
|
||||
|
||||
int startDist, endDist;
|
||||
m_colorScale->getBorderDistHint( startDist, endDist );
|
||||
m_colorScale->setBorderDist( startDist, endDist );
|
||||
|
||||
QHBoxLayout* layout = new QHBoxLayout( this );
|
||||
layout->addWidget( m_plot, 10 );
|
||||
layout->addWidget( m_colorScale, 10 );
|
||||
}
|
||||
Reference in New Issue
Block a user