Skip to content
Snippets Groups Projects
qwt_plot_picker.h 2.74 KiB
Newer Older
  • Learn to ignore specific revisions
  • 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_PICKER_H
    #define QWT_PLOT_PICKER_H
    
    
    Bryant's avatar
    Bryant committed
    #include "qwt_global.h"
    
    pixhawk's avatar
    pixhawk committed
    #include "qwt_picker.h"
    
    Bryant's avatar
    Bryant committed
    #include <qvector.h>
    
    pixhawk's avatar
    pixhawk committed
    
    class QwtPlot;
    
    /*!
      \brief QwtPlotPicker provides selections on a plot canvas
    
      QwtPlotPicker is a QwtPicker tailored for selections on
      a plot canvas. It is set to a x-Axis and y-Axis and
    
    Bryant's avatar
    Bryant committed
      translates all pixel coordinates into this coordinate system.
    
    pixhawk's avatar
    pixhawk committed
    */
    
    class QWT_EXPORT QwtPlotPicker: public QwtPicker
    {
        Q_OBJECT
    
    public:
    
    Bryant's avatar
    Bryant committed
        explicit QwtPlotPicker( QWidget *canvas );
        virtual ~QwtPlotPicker();
    
    pixhawk's avatar
    pixhawk committed
    
    
    Bryant's avatar
    Bryant committed
        explicit QwtPlotPicker( int xAxis, int yAxis, QWidget * );
    
    pixhawk's avatar
    pixhawk committed
    
    
    Bryant's avatar
    Bryant committed
        explicit QwtPlotPicker( int xAxis, int yAxis,
            RubberBand rubberBand, DisplayMode trackerMode, QWidget * );
    
    pixhawk's avatar
    pixhawk committed
    
    
    Bryant's avatar
    Bryant committed
        virtual void setAxis( int xAxis, int yAxis );
    
    pixhawk's avatar
    pixhawk committed
    
        int xAxis() const;
        int yAxis() const;
    
        QwtPlot *plot();
        const QwtPlot *plot() const;
    
    Bryant's avatar
    Bryant committed
        QWidget *canvas();
        const QWidget *canvas() const;
    
    pixhawk's avatar
    pixhawk committed
    
    
    Bryant's avatar
    Bryant committed
    Q_SIGNALS:
    
    pixhawk's avatar
    pixhawk committed
    
        /*!
    
    Bryant's avatar
    Bryant committed
          A signal emitted in case of QwtPickerMachine::PointSelection.
    
    pixhawk's avatar
    pixhawk committed
          \param pos Selected point
        */
    
    Bryant's avatar
    Bryant committed
        void selected( const QPointF &pos );
    
    pixhawk's avatar
    pixhawk committed
    
        /*!
    
    Bryant's avatar
    Bryant committed
          A signal emitted in case of QwtPickerMachine::RectSelection.
    
    pixhawk's avatar
    pixhawk committed
          \param rect Selected rectangle
        */
    
    Bryant's avatar
    Bryant committed
        void selected( const QRectF &rect );
    
    pixhawk's avatar
    pixhawk committed
    
        /*!
          A signal emitting the selected points,
          at the end of a selection.
    
          \param pa Selected points
        */
    
    Bryant's avatar
    Bryant committed
        void selected( const QVector<QPointF> &pa );
    
    pixhawk's avatar
    pixhawk committed
    
        /*!
          A signal emitted when a point has been appended to the selection
    
          \param pos Position of the appended point.
          \sa append(). moved()
        */
    
    Bryant's avatar
    Bryant committed
        void appended( const QPointF &pos );
    
    pixhawk's avatar
    pixhawk committed
    
        /*!
          A signal emitted whenever the last appended point of the
          selection has been moved.
    
          \param pos Position of the moved last point of the selection.
    
          \sa move(), appended()
    
    pixhawk's avatar
    pixhawk committed
        */
    
    Bryant's avatar
    Bryant committed
        void moved( const QPointF &pos );
    
    pixhawk's avatar
    pixhawk committed
    
    protected:
    
    Bryant's avatar
    Bryant committed
        QRectF scaleRect() const;
    
    pixhawk's avatar
    pixhawk committed
    
    
    Bryant's avatar
    Bryant committed
        QRectF invTransform( const QRect & ) const;
        QRect transform( const QRectF & ) const;
    
    pixhawk's avatar
    pixhawk committed
    
    
    Bryant's avatar
    Bryant committed
        QPointF invTransform( const QPoint & ) const;
        QPoint transform( const QPointF & ) const;
    
    pixhawk's avatar
    pixhawk committed
    
    
    Bryant's avatar
    Bryant committed
        virtual QwtText trackerText( const QPoint & ) const;
        virtual QwtText trackerTextF( const QPointF & ) const;
    
    pixhawk's avatar
    pixhawk committed
    
    
    Bryant's avatar
    Bryant committed
        virtual void move( const QPoint & );
        virtual void append( const QPoint & );
        virtual bool end( bool ok = true );
    
    pixhawk's avatar
    pixhawk committed
    
    private:
        int d_xAxis;
        int d_yAxis;
    };
    
    pixhawk's avatar
    pixhawk committed
    #endif