mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-04-24 15:20:02 +02:00
42 lines
1001 B
C++
42 lines
1001 B
C++
#ifndef SLSQT2DZOOMER_H
|
|
#define SLSQT2DZOOMER_H
|
|
#include "SlsQt2DHist.h"
|
|
#include <cstdio>
|
|
#include <qwt_plot_panner.h>
|
|
#include <qwt_plot_zoomer.h>
|
|
|
|
class SlsQt2DZoomer : public QwtPlotZoomer {
|
|
private:
|
|
SlsQt2DHist *hist;
|
|
|
|
public:
|
|
SlsQt2DZoomer(QWidget *canvas) : QwtPlotZoomer(canvas) {
|
|
setTrackerMode(AlwaysOn);
|
|
}
|
|
|
|
void SetHist(SlsQt2DHist *h) { hist = h; }
|
|
|
|
virtual QwtText trackerTextF(const QPointF &pos) const {
|
|
QColor bg(Qt::white);
|
|
bg.setAlpha(200);
|
|
|
|
// QwtText text = QwtPlotZoomer::trackerText(pos);
|
|
|
|
static QwtText text;
|
|
if (hist) {
|
|
static char t[200];
|
|
sprintf(t, "%3.2f, %3.2f, %3.2f", pos.x(), pos.y(),
|
|
hist->value(pos.x(), pos.y()));
|
|
text.setText(t);
|
|
} else {
|
|
|
|
QPoint p = pos.toPoint();
|
|
QwtText text = QwtPlotZoomer::trackerText(p);
|
|
}
|
|
text.setBackgroundBrush(QBrush(bg));
|
|
return text;
|
|
}
|
|
};
|
|
|
|
#endif
|