Skip to content
qwt_plot_panner.h 1.47 KiB
Newer Older
pixhawk's avatar
pixhawk committed
/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
 * Qwt Widget Library
 * Copyright (C) 1997   Josef Wilgen
 * Copyright (C) 2002   Uwe Rathmann
pixhawk's avatar
pixhawk committed
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the Qwt License, Version 1.0
 *****************************************************************************/

#ifndef QWT_PLOT_PANNER_H
#define QWT_PLOT_PANNER_H 1

#include "qwt_global.h"
#include "qwt_panner.h"

class QwtPlot;

/*!
  \brief QwtPlotPanner provides panning of a plot canvas
pixhawk's avatar
pixhawk committed

Bryant's avatar
Bryant committed
  QwtPlotPanner is a panner for a plot canvas, that
pixhawk's avatar
pixhawk committed
  adjusts the scales of the axes after dropping
  the canvas on its new position.

  Together with QwtPlotZoomer and QwtPlotMagnifier powerful ways
pixhawk's avatar
pixhawk committed
  of navigating on a QwtPlot widget can be implemented easily.
pixhawk's avatar
pixhawk committed
  \note The axes are not updated, while dragging the canvas
  \sa QwtPlotZoomer, QwtPlotMagnifier
*/
class QWT_EXPORT QwtPlotPanner: public QwtPanner
{
    Q_OBJECT

public:
Bryant's avatar
Bryant committed
    explicit QwtPlotPanner( QWidget * );
pixhawk's avatar
pixhawk committed
    virtual ~QwtPlotPanner();

Bryant's avatar
Bryant committed
    QWidget *canvas();
    const QWidget *canvas() const;
pixhawk's avatar
pixhawk committed

    QwtPlot *plot();
    const QwtPlot *plot() const;

Bryant's avatar
Bryant committed
    void setAxisEnabled( int axis, bool on );
    bool isAxisEnabled( int axis ) const;
pixhawk's avatar
pixhawk committed

Bryant's avatar
Bryant committed
protected Q_SLOTS:
    virtual void moveCanvas( int dx, int dy );

protected:
    virtual QBitmap contentsMask() const;
    virtual QPixmap grab() const;
pixhawk's avatar
pixhawk committed

private:
    class PrivateData;
    PrivateData *d_data;
};

#endif