Files
Joachim Kohlhammer 49cf6340a4 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
2024-01-06 18:59:55 -03:00

72 lines
1.5 KiB
C++

/*****************************************************************************
* Qwt Examples - Copyright (C) 2002 Uwe Rathmann
* This file may be used under the terms of the 3-clause BSD License
*****************************************************************************/
#pragma once
#include <QwtGlobal>
#include <QObject>
#include <QPointer>
#include <QPoint>
class QwtPlot;
class QwtPlotShapeItem;
class QwtWidgetOverlay;
class QPainter;
class QRegion;
class Editor : public QObject
{
Q_OBJECT
public:
enum Mode
{
NoMask,
Mask,
AlphaMask,
AlphaMaskRedraw,
AlphaMaskCopyMask
};
Editor( QwtPlot* );
virtual ~Editor();
const QwtPlot* plot() const;
QwtPlot* plot();
virtual void setEnabled( bool on );
bool isEnabled() const;
void drawOverlay( QPainter* ) const;
QRegion maskHint() const;
virtual bool eventFilter( QObject*, QEvent*) QWT_OVERRIDE;
void setMode( Mode mode );
Mode mode() const;
private:
bool pressed( const QPoint& );
bool moved( const QPoint& );
void released( const QPoint& );
QwtPlotShapeItem* itemAt( const QPoint& ) const;
void raiseItem( QwtPlotShapeItem* );
QRegion maskHint( QwtPlotShapeItem* ) const;
void setItemVisible( QwtPlotShapeItem*, bool on );
bool m_isEnabled;
QPointer< QwtWidgetOverlay > m_overlay;
// Mouse positions
QPointF m_currentPos;
QwtPlotShapeItem* m_editedItem;
Mode m_mode;
};