Hello,
I'm using Qt 4.8.2 with Qwt 6.0.1.

I'm trying to create grid and scale based upon dimensions of xMap and yMap, because creating them static in my environment is ridiculous in terms of speed and memory footprint. Below is a prototype of what i figured from docs and examples.

class GRID : public QwtPlotGrid {
// i smuggle a pointer to QwtPlot to be used while automatically updating the plot with MOVE / PAN / ZOOM / WHATEVER_ELSE
GRID::GRID ( QwtPlot *PLOT_POINTER ) { ... }

virtual void updateScaleDiv ( const QwtScaleDiv &xMap, const QwtScaleDiv &yMap ) {
// i create my custom QwtScaleDiv and then use it like that
PLOT_POINTER->setAxisScaleDiv ( QwtPlot::xBottom, QwtScaleDiv ( xMap.lowerBound(), xMap.upperBound(), MY_CUSTOM_SCALE_MARKS ) );
// and like that
QwtPlotGrid::updateScaleDiv ( QwtScaleDiv ( xMap.lowerBound(), xMap.upperBound(), MY_CUSTOM_SCALE_MARKS ), yMap );
}
}

QwtPlotGrid::updateScaleDiv works just fine.

PLOT_POINTER->setAxisScaleDiv works only once at plot creation time, but when MOVE / PAN / ZOOM / WHATEVER_ELSE is applied it reverts back to default, autogenerated i assume, QwtScaleDiv. I suppose it's expected because it's more of a hack, than a normal way of doing this, but i couldn't come with anything better.

I'll be reading up on this, but in the mean time i ask for suggestion.

Regards,
icosahedron