Files
@ 092cfd95f0ce
Branch filter:
Location: tempo-plotter/src/scrollzoomer.h - annotation
092cfd95f0ce
2.0 KiB
text/plain
retain y axis autoscale when moving horizontal scrollbar
02317c2e271d 02317c2e271d 02317c2e271d 02317c2e271d 02317c2e271d 02317c2e271d 02317c2e271d 02317c2e271d 02317c2e271d 1e848e98efb7 1e848e98efb7 1e848e98efb7 1e848e98efb7 1e848e98efb7 1e848e98efb7 1e848e98efb7 1e848e98efb7 1e848e98efb7 1e848e98efb7 1e848e98efb7 1e848e98efb7 1e848e98efb7 1e848e98efb7 1e848e98efb7 1e848e98efb7 1e848e98efb7 1e848e98efb7 1e848e98efb7 1e848e98efb7 1e848e98efb7 1e848e98efb7 1e848e98efb7 1e848e98efb7 1e848e98efb7 1e848e98efb7 1e848e98efb7 1e848e98efb7 1e848e98efb7 1e848e98efb7 1e848e98efb7 1e848e98efb7 1e848e98efb7 1e848e98efb7 1e848e98efb7 1e848e98efb7 1e848e98efb7 1e848e98efb7 39b23673b4d1 39b23673b4d1 1e848e98efb7 1e848e98efb7 1e848e98efb7 1e848e98efb7 1e848e98efb7 1e848e98efb7 1e848e98efb7 c78aec692ac0 c78aec692ac0 c78aec692ac0 1e848e98efb7 1e848e98efb7 1e848e98efb7 1e848e98efb7 1e848e98efb7 1e848e98efb7 1e848e98efb7 1e848e98efb7 1e848e98efb7 c78aec692ac0 39b23673b4d1 c78aec692ac0 1e848e98efb7 1e848e98efb7 1e848e98efb7 1e848e98efb7 1e848e98efb7 1e848e98efb7 1e848e98efb7 1e848e98efb7 1e848e98efb7 1e848e98efb7 092cfd95f0ce 1e848e98efb7 1e848e98efb7 1e848e98efb7 | /*
Copyright © 2014 Uwe Rathmann
This file is copied from Qwt project; you can redistribute it and/or modify it
under the terms of the Qwt License, Version 1.0. You can obtain the original
source code and the details of the Qwt License from the Qwt website:
http://qwt.sourceforge.net/
*/
#ifndef _SCROLLZOOMER_H
#define _SCROLLZOOMER_H
#include <qglobal.h>
#include <qwt_plot_zoomer.h>
#include <qwt_plot.h>
class ScrollData;
class ScrollBar;
class ScrollZoomer: public QwtPlotZoomer
{
Q_OBJECT
public:
enum ScrollBarPosition
{
AttachedToScale,
OppositeToScale
};
ScrollZoomer( QWidget * );
virtual ~ScrollZoomer();
ScrollBar *horizontalScrollBar() const;
ScrollBar *verticalScrollBar() const;
void setHScrollBarMode( Qt::ScrollBarPolicy );
void setVScrollBarMode( Qt::ScrollBarPolicy );
Qt::ScrollBarPolicy vScrollBarMode () const;
Qt::ScrollBarPolicy hScrollBarMode () const;
void setHScrollBarPosition( ScrollBarPosition );
void setVScrollBarPosition( ScrollBarPosition );
ScrollBarPosition hScrollBarPosition() const;
ScrollBarPosition vScrollBarPosition() const;
void setXLimits(double min, double max);
QWidget* cornerWidget() const;
virtual void setCornerWidget( QWidget * );
virtual bool eventFilter( QObject *, QEvent * );
virtual void rescale();
public Q_SLOTS:
virtual void moveTo( const QPointF & );
protected:
virtual ScrollBar *scrollBar( Qt::Orientation );
virtual void updateScrollBars();
virtual void layoutScrollBars( const QRect & );
private Q_SLOTS:
void scrollBarMoved( Qt::Orientation o, double min, double max );
private:
QRectF d_limits;
double xMin, xMax;
bool needScrollBar( Qt::Orientation ) const;
int oppositeAxis( int ) const;
QWidget *d_cornerWidget;
ScrollData *d_hScrollData;
ScrollData *d_vScrollData;
bool d_inZoom;
bool d_alignCanvasToScales[ QwtPlot::axisCnt ];
bool hscrollmove;
};
#endif
|