Files
@ fc3cbb071069
Branch filter:
Location: tempo-plotter/scalepicker.h - annotation
fc3cbb071069
2.0 KiB
text/plain
improved deleting behaviour of hex command editor, spaces are skipped when backspace is pressed
19375fc29267 19375fc29267 19375fc29267 19375fc29267 19375fc29267 19375fc29267 19375fc29267 19375fc29267 19375fc29267 19375fc29267 19375fc29267 19375fc29267 19375fc29267 19375fc29267 19375fc29267 19375fc29267 19375fc29267 19375fc29267 19375fc29267 19375fc29267 19375fc29267 19375fc29267 19375fc29267 19375fc29267 1d12f68d4882 e250b5832da0 19375fc29267 07202c91eec0 19375fc29267 19375fc29267 19375fc29267 19375fc29267 6c305182bff3 19375fc29267 07202c91eec0 19375fc29267 19375fc29267 c218878cb24d e250b5832da0 1d12f68d4882 07202c91eec0 19375fc29267 19375fc29267 19375fc29267 19375fc29267 19375fc29267 19375fc29267 19375fc29267 e250b5832da0 c218878cb24d c218878cb24d 1d12f68d4882 19375fc29267 6c305182bff3 19375fc29267 6c305182bff3 6c305182bff3 07202c91eec0 1d12f68d4882 1d12f68d4882 1d12f68d4882 e250b5832da0 19375fc29267 19375fc29267 19375fc29267 | /*
Copyright © 2015 Hasan Yavuz Özderya
This file is part of serialplot.
serialplot is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
serialplot is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with serialplot. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef SCALEPICKER_H
#define SCALEPICKER_H
#include <QObject>
#include <QMouseEvent>
#include <QPen>
#include <QWidget>
#include <qwt_scale_widget.h>
#include <qwt_widget_overlay.h>
class ScalePicker : public QObject
{
Q_OBJECT
public:
ScalePicker(QwtScaleWidget* scaleWidget, QWidget* canvas);
virtual bool eventFilter(QObject*, QEvent*);
void drawPlotOverlay(QPainter*); // called from ScalePickerOverlay
void drawScaleOverlay(QPainter*); // called from ScaleOverlay
void setPen(QPen pen);
signals:
void pickStarted(double pos);
void picking(double firstPos, double lastPos);
void picked(double firstPos, double lastPos);
private:
QwtScaleWidget* _scaleWidget;
QWidget* _canvas;
QwtWidgetOverlay* pickerOverlay; // will be PlotOverlay
QwtWidgetOverlay* scaleOverlay; // will be ScaleOverlay
QPen _pen;
bool pressed;
bool started;
double firstPos; // converted to plot coordinates
double firstPosPx; // pixel coordinates
double currentPosPx; // current position in pixel coordinates
double position(QMouseEvent*); // returns the axis mouse position relative to plot coordinates
double positionPx(QMouseEvent*); // returns the axis mouse position in pixels
double posCanvasPx(double pos); // returns the given position in canvas coordinates
};
#endif // SCALEPICKER_H
|