qwt_plot_panner.h 1.41 KB
Newer Older
pixhawk's avatar
pixhawk committed
1 2 3 4
/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
 * Qwt Widget Library
 * Copyright (C) 1997   Josef Wilgen
 * Copyright (C) 2002   Uwe Rathmann
5
 *
pixhawk's avatar
pixhawk committed
6 7 8 9 10 11 12 13 14 15 16 17 18 19
 * 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 QwtPlotCanvas;
class QwtPlot;

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

22
  QwtPlotPanner is a panner for a QwtPlotCanvas, that
pixhawk's avatar
pixhawk committed
23 24 25
  adjusts the scales of the axes after dropping
  the canvas on its new position.

26
  Together with QwtPlotZoomer and QwtPlotMagnifier powerful ways
pixhawk's avatar
pixhawk committed
27
  of navigating on a QwtPlot widget can be implemented easily.
28

pixhawk's avatar
pixhawk committed
29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
  \note The axes are not updated, while dragging the canvas
  \sa QwtPlotZoomer, QwtPlotMagnifier
*/
class QWT_EXPORT QwtPlotPanner: public QwtPanner
{
    Q_OBJECT

public:
    explicit QwtPlotPanner(QwtPlotCanvas *);
    virtual ~QwtPlotPanner();

    QwtPlotCanvas *canvas();
    const QwtPlotCanvas *canvas() const;

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

    void setAxisEnabled(int axis, bool on);
    bool isAxisEnabled(int axis) const;

protected slots:
    virtual void moveCanvas(int dx, int dy);

private:
    class PrivateData;
    PrivateData *d_data;
};

#endif