#ifndef SLSQT2DZOOMER_H #define SLSQT2DZOOMER_H #include "SlsQt2DHist.h" #include #include #include 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