{
public:
int numMajorSteps, int numMinorSteps,
double stepSize = 0.0 ) const;
};
QwtScaleDiv boundScaleEngine
::divideScale( double x1,
double x2,
int numMajorSteps, int numMinorSteps,
double stepSize) const
{
QwtInterval interval = sd.interval();
double upper,lower;
if(x1>x2)
{
upper = x1;
lower = x2;
}
else
{
upper = x2;
lower = x1;
}
ticks
[QwtScaleDiv::MajorTick].
prepend(lower
);
// add the lower bound tick if it is not present ticks
[QwtScaleDiv::MajorTick].
append(upper
);
// add the upper bound tick if it is not present
}
class boundScaleEngine : public QwtLinearScaleEngine
{
public:
virtual QwtScaleDiv divideScale( double x1, double x2,
int numMajorSteps, int numMinorSteps,
double stepSize = 0.0 ) const;
};
QwtScaleDiv boundScaleEngine::divideScale( double x1, double x2,
int numMajorSteps, int numMinorSteps,
double stepSize) const
{
QwtScaleDiv sd = QwtLinearScaleEngine::divideScale(x1, x2, numMajorSteps, numMinorSteps, stepSize);
QList<double> ticks[QwtScaleDiv::NTickTypes];
ticks[QwtScaleDiv::MajorTick] = sd.ticks(QwtScaleDiv::MajorTick);
ticks[QwtScaleDiv::MediumTick] = sd.ticks(QwtScaleDiv::MediumTick);
ticks[QwtScaleDiv::MinorTick] = sd.ticks(QwtScaleDiv::MinorTick);
QwtInterval interval = sd.interval();
double upper,lower;
if(x1>x2)
{
upper = x1;
lower = x2;
}
else
{
upper = x2;
lower = x1;
}
if(ticks[QwtScaleDiv::MajorTick].indexOf(lower) == -1)
ticks[QwtScaleDiv::MajorTick].prepend(lower); // add the lower bound tick if it is not present
if(ticks[QwtScaleDiv::MajorTick].indexOf(upper) == -1)
ticks[QwtScaleDiv::MajorTick].append(upper); // add the upper bound tick if it is not present
return QwtScaleDiv(interval, ticks);
}
To copy to clipboard, switch view to plain text mode
Bookmarks