summaryrefslogtreecommitdiff
path: root/src/libpcp_qwt/src/qwt_plot_picker.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/libpcp_qwt/src/qwt_plot_picker.h')
-rw-r--r--src/libpcp_qwt/src/qwt_plot_picker.h115
1 files changed, 115 insertions, 0 deletions
diff --git a/src/libpcp_qwt/src/qwt_plot_picker.h b/src/libpcp_qwt/src/qwt_plot_picker.h
new file mode 100644
index 0000000..f7d1bee
--- /dev/null
+++ b/src/libpcp_qwt/src/qwt_plot_picker.h
@@ -0,0 +1,115 @@
+/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
+ * Qwt Widget Library
+ * Copyright (C) 1997 Josef Wilgen
+ * Copyright (C) 2002 Uwe Rathmann
+ *
+ * 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
+
+#include "qwt_global.h"
+#include "qwt_plot_canvas.h"
+#include "qwt_picker.h"
+#include <qvector.h>
+
+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
+ translates all pixel coordinates into this coodinate system.
+*/
+
+class QWT_EXPORT QwtPlotPicker: public QwtPicker
+{
+ Q_OBJECT
+
+public:
+ explicit QwtPlotPicker( QwtPlotCanvas * );
+ virtual ~QwtPlotPicker();
+
+ explicit QwtPlotPicker( int xAxis, int yAxis, QwtPlotCanvas * );
+
+ explicit QwtPlotPicker( int xAxis, int yAxis,
+ RubberBand rubberBand, DisplayMode trackerMode,
+ QwtPlotCanvas * );
+
+ virtual void setAxis( int xAxis, int yAxis );
+
+ int xAxis() const;
+ int yAxis() const;
+
+ QwtPlot *plot();
+ const QwtPlot *plot() const;
+
+ QwtPlotCanvas *canvas();
+ const QwtPlotCanvas *canvas() const;
+
+Q_SIGNALS:
+
+ /*!
+ A signal emitted in case of selectionFlags() & PointSelection.
+ \param pos Selected point
+ */
+ void selected( const QPointF &pos );
+
+ /*!
+ A signal emitted in case of selectionFlags() & RectSelection.
+ \param rect Selected rectangle
+ */
+ void selected( const QRectF &rect );
+
+ /*!
+ A signal emitting the selected points,
+ at the end of a selection.
+
+ \param pa Selected points
+ */
+ void selected( const QVector<QPointF> &pa );
+
+ /*!
+ A signal emitted when a point has been appended to the selection
+
+ \param pos Position of the appended point.
+ \sa append(). moved()
+ */
+ void appended( const QPointF &pos );
+
+ /*!
+ 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()
+ */
+ void moved( const QPointF &pos );
+
+protected:
+ QRectF scaleRect() const;
+
+public:
+ QRectF invTransform( const QRect & ) const;
+ QRect transform( const QRectF & ) const;
+
+ QPointF invTransform( const QPoint & ) const;
+ QPoint transform( const QPointF & ) const;
+
+protected:
+ virtual QwtText trackerText( const QPoint & ) const;
+ virtual QwtText trackerTextF( const QPointF & ) const;
+
+ virtual void move( const QPoint & );
+ virtual void append( const QPoint & );
+ virtual bool end( bool ok = true );
+
+private:
+ int d_xAxis;
+ int d_yAxis;
+};
+
+#endif