Files
        @ a30d48dab8b8
    
        
              Branch filter: 
        
    Location: tempo-plotter/src/scrollzoomer.h - annotation
        
            
            a30d48dab8b8
            2.1 KiB
            text/plain
        
        
    
    Merge with default
    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 1e848e98efb7 1e848e98efb7 1e848e98efb7 1e848e98efb7 1e848e98efb7 5974901a8564 5974901a8564 5974901a8564 1e848e98efb7 1e848e98efb7 c78aec692ac0 c78aec692ac0 c78aec692ac0 1e848e98efb7 1e848e98efb7 1e848e98efb7 1e848e98efb7 1e848e98efb7 1e848e98efb7 1e848e98efb7 1e848e98efb7 1e848e98efb7 c78aec692ac0 39b23673b4d1 5974901a8564 c78aec692ac0 1e848e98efb7 1e848e98efb7 1e848e98efb7 1e848e98efb7 1e848e98efb7 1e848e98efb7 1e848e98efb7 1e848e98efb7 1e848e98efb7 1e848e98efb7 092cfd95f0ce d09252498ce0 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;
    QWidget* cornerWidget() const;
    virtual void setCornerWidget( QWidget * );
    virtual bool eventFilter( QObject *, QEvent * );
    void setXLimits(double min, double max);
    void setHViewSize(double size);
    virtual void setZoomBase(bool doReplot = true);
    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;
    double hViewSize;
    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;
    bool vscrollmove;
};
#endif
 |