diff --git a/plot.cpp b/plot.cpp --- a/plot.cpp +++ b/plot.cpp @@ -98,6 +98,7 @@ void Plot::darkBackground(bool enabled) grid.setPen(Qt::darkGray); zoomer.setRubberBandPen(QPen(Qt::white)); zoomer.setTrackerPen(QPen(Qt::white)); + sZoomer.setPickerPen(QPen(Qt::white)); } else { @@ -105,6 +106,7 @@ void Plot::darkBackground(bool enabled) grid.setPen(Qt::lightGray); zoomer.setRubberBandPen(QPen(Qt::black)); zoomer.setTrackerPen(QPen(Qt::black)); + sZoomer.setPickerPen(QPen(Qt::black)); } replot(); } diff --git a/scalepicker.cpp b/scalepicker.cpp --- a/scalepicker.cpp +++ b/scalepicker.cpp @@ -130,10 +130,17 @@ void ScalePicker::drawOverlay(QPainter* int width = painter->device()->width(); rect = QRect(0, firstPosPx, width, (currentPosPx-firstPosPx)); } + + painter->setPen(_pen); painter->drawRect(rect); } } +void ScalePicker::setPen(QPen pen) +{ + _pen = pen; +} + double ScalePicker::position(QMouseEvent* mouseEvent) { double pos; diff --git a/scalepicker.h b/scalepicker.h --- a/scalepicker.h +++ b/scalepicker.h @@ -22,6 +22,7 @@ #include #include +#include #include #include @@ -34,6 +35,7 @@ public: virtual bool eventFilter(QObject*, QEvent*); void drawOverlay(QPainter*); // called from ScalePickerOverlay + void setPen(QPen pen); signals: void pickStarted(double pos); @@ -43,14 +45,16 @@ signals: private: QwtScaleWidget* _scaleWidget; QwtWidgetOverlay* pickerOverlay; // ScalePickerOverlay - double position(QMouseEvent*); // returns the axis mouse position relative to plot coordinates - double positionPx(QMouseEvent*); // returns the axis mouse position in pixels + 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 }; #endif // SCALEPICKER_H diff --git a/scalezoomer.cpp b/scalezoomer.cpp --- a/scalezoomer.cpp +++ b/scalezoomer.cpp @@ -32,6 +32,12 @@ ScaleZoomer::ScaleZoomer(QwtPlot* plot, connect(&leftPicker, &ScalePicker::picked, this, &ScaleZoomer::leftPicked); } +void ScaleZoomer::setPickerPen(QPen pen) +{ + bottomPicker.setPen(pen); + leftPicker.setPen(pen); +} + void ScaleZoomer::bottomPicked(double firstPos, double lastPos) { QRectF zRect; diff --git a/scalezoomer.h b/scalezoomer.h --- a/scalezoomer.h +++ b/scalezoomer.h @@ -21,6 +21,7 @@ #define SCALEZOOMER_H #include +#include #include #include @@ -32,6 +33,7 @@ class ScaleZoomer : public QObject public: ScaleZoomer(QwtPlot*, QwtPlotZoomer*); + void setPickerPen(QPen pen); private: QwtPlot* _plot;