mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-04-24 23:30:03 +02:00
53 lines
1.3 KiB
C++
53 lines
1.3 KiB
C++
|
|
#ifndef SLSQT1DZOOMER_H
|
|
#define SLSQT1DZOOMER_H
|
|
|
|
#include <qwt_global.h>
|
|
#include <qwt_plot_panner.h>
|
|
#include <qwt_plot_zoomer.h>
|
|
|
|
class SlsQtH1D;
|
|
|
|
class SlsQt1DZoomer : public QwtPlotZoomer {
|
|
private:
|
|
double x0, x1, y0, y1;
|
|
double firstXgt0, firstYgt0;
|
|
bool xIsLog, yIsLog;
|
|
|
|
public:
|
|
SlsQt1DZoomer(QWidget *canvas) : QwtPlotZoomer(canvas) {
|
|
setTrackerMode(AlwaysOn);
|
|
xIsLog = yIsLog = 0;
|
|
}
|
|
|
|
double x() { return x0; }
|
|
double x_firstGreaterThan0() { return firstXgt0; }
|
|
double w() { return x1 - x0; }
|
|
|
|
double y() { return y0; }
|
|
double y_firstGreaterThan0() { return firstYgt0; }
|
|
double h() { return y1 - y0; }
|
|
|
|
void SetZoomBase(double xmin, double ymin, double x_width, double y_width);
|
|
void SetZoomBase(SlsQtH1D *h);
|
|
void ExtendZoomBase(SlsQtH1D *h);
|
|
void ResetZoomBase();
|
|
|
|
bool IsLogX() { return xIsLog; }
|
|
bool IsLogY() { return yIsLog; }
|
|
bool SetLogX(bool yes) { return xIsLog = yes; }
|
|
bool SetLogY(bool yes) { return yIsLog = yes; }
|
|
|
|
using QwtPlotPicker::trackerText;
|
|
virtual QwtText trackerText(const QPoint &pos) const {
|
|
|
|
QColor bg(Qt::white);
|
|
bg.setAlpha(200);
|
|
QwtText text = QwtPlotPicker::trackerText(pos);
|
|
text.setBackgroundBrush(QBrush(bg));
|
|
return text;
|
|
}
|
|
};
|
|
|
|
#endif
|