Qwt User's Guide 6.3.0
|
Base class for scale engines. More...
#include <qwt_scale_engine.h>
Public Types | |
enum | Attribute { NoAttribute = 0x00 , IncludeReference = 0x01 , Symmetric = 0x02 , Floating = 0x04 , Inverted = 0x08 } |
typedef QFlags< Attribute > | Attributes |
Public Member Functions | |
QwtScaleEngine (uint base=10) | |
virtual | ~QwtScaleEngine () |
Destructor. | |
void | setBase (uint base) |
uint | base () const |
void | setAttribute (Attribute, bool on=true) |
bool | testAttribute (Attribute) const |
void | setAttributes (Attributes) |
Attributes | attributes () const |
void | setReference (double) |
Specify a reference point. | |
double | reference () const |
void | setMargins (double lower, double upper) |
Specify margins at the scale's endpoints. | |
double | lowerMargin () const |
double | upperMargin () const |
virtual void | autoScale (int maxNumSteps, double &x1, double &x2, double &stepSize) const =0 |
virtual QwtScaleDiv | divideScale (double x1, double x2, int maxMajorSteps, int maxMinorSteps, double stepSize=0.0) const =0 |
Calculate a scale division. | |
void | setTransformation (QwtTransform *) |
QwtTransform * | transformation () const |
Protected Member Functions | |
bool | contains (const QwtInterval &, double value) const |
QList< double > | strip (const QList< double > &, const QwtInterval &) const |
double | divideInterval (double intervalSize, int numSteps) const |
QwtInterval | buildInterval (double value) const |
Build an interval around a value. | |
Base class for scale engines.
A scale engine tries to find "reasonable" ranges and step sizes for scales.
The layout of the scale can be varied with setAttribute().
Qwt offers implementations for logarithmic and linear scales.
Definition at line 45 of file qwt_scale_engine.h.
typedef QFlags<Attribute > QwtScaleEngine::Attributes |
An ORed combination of Attribute values.
Definition at line 78 of file qwt_scale_engine.h.
Layout attributes
Enumerator | |
---|---|
NoAttribute | No attributes. |
IncludeReference | Build a scale which includes the reference() value. |
Symmetric | Build a scale which is symmetric to the reference() value. |
Floating | The endpoints of the scale are supposed to be equal the outmost included values plus the specified margins (see setMargins()). If this attribute is not set, the endpoints of the scale will be integer multiples of the step size. |
Inverted | Turn the scale upside down. |
Definition at line 54 of file qwt_scale_engine.h.
|
explicit |
Constructor
base | Base of the scale engine |
Definition at line 222 of file qwt_scale_engine.cpp.
|
virtual |
Destructor.
Definition at line 230 of file qwt_scale_engine.cpp.
QwtScaleEngine::Attributes QwtScaleEngine::attributes | ( | ) | const |
Definition at line 451 of file qwt_scale_engine.cpp.
|
pure virtual |
Align and divide an interval
maxNumSteps | Max. number of steps |
x1 | First limit of the interval (In/Out) |
x2 | Second limit of the interval (In/Out) |
stepSize | Step size (Return value) |
Implemented in QwtDateScaleEngine, QwtLinearScaleEngine, and QwtLogScaleEngine.
uint QwtScaleEngine::base | ( | ) | const |
Definition at line 500 of file qwt_scale_engine.cpp.
|
protected |
Build an interval around a value.
In case of v == 0.0 the interval is [-0.5, 0.5], otherwise it is [0.5 * v, 1.5 * v]
value | Initial value |
Definition at line 395 of file qwt_scale_engine.cpp.
|
protected |
Check if an interval "contains" a value
interval | Interval |
value | Value |
Definition at line 341 of file qwt_scale_engine.cpp.
|
protected |
Calculate a step size for an interval size
intervalSize | Interval size |
numSteps | Number of steps |
Definition at line 326 of file qwt_scale_engine.cpp.
|
pure virtual |
Calculate a scale division.
x1 | First interval limit |
x2 | Second interval limit |
maxMajorSteps | Maximum for the number of major steps |
maxMinorSteps | Maximum number of minor steps |
stepSize | Step size. If stepSize == 0.0, the scaleEngine calculates one. |
Implemented in QwtDateScaleEngine, QwtLinearScaleEngine, and QwtLogScaleEngine.
double QwtScaleEngine::lowerMargin | ( | ) | const |
Definition at line 280 of file qwt_scale_engine.cpp.
double QwtScaleEngine::reference | ( | ) | const |
Definition at line 474 of file qwt_scale_engine.cpp.
void QwtScaleEngine::setAttribute | ( | Attribute | attribute, |
bool | on = true ) |
Change a scale attribute
attribute | Attribute to change |
on | On/Off |
Definition at line 417 of file qwt_scale_engine.cpp.
void QwtScaleEngine::setAttributes | ( | Attributes | attributes | ) |
Change the scale attribute
attributes | Set scale attributes |
Definition at line 442 of file qwt_scale_engine.cpp.
void QwtScaleEngine::setBase | ( | uint | base | ) |
Set the base of the scale engine
While a base of 10 is what 99.9% of all applications need certain scales might need a different base: f.e 2
The default setting is 10
base | Base of the engine |
Definition at line 491 of file qwt_scale_engine.cpp.
void QwtScaleEngine::setMargins | ( | double | lower, |
double | upper ) |
Specify margins at the scale's endpoints.
lower | minimum distance between the scale's lower boundary and the smallest enclosed value |
upper | minimum distance between the scale's upper boundary and the greatest enclosed value |
Margins can be used to leave a minimum amount of space between the enclosed intervals and the boundaries of the scale.
Definition at line 312 of file qwt_scale_engine.cpp.
void QwtScaleEngine::setReference | ( | double | reference | ) |
Specify a reference point.
reference | New reference value |
The reference point is needed if options IncludeReference or Symmetric are active. Its default value is 0.0.
Definition at line 465 of file qwt_scale_engine.cpp.
void QwtScaleEngine::setTransformation | ( | QwtTransform * | transform | ) |
Assign a transformation
transform | Transformation |
The transformation object is used as factory for clones that are returned by transformation()
The scale engine takes ownership of the transformation.
Definition at line 248 of file qwt_scale_engine.cpp.
|
protected |
Remove ticks from a list, that are not inside an interval
ticks | Tick list |
interval | Interval |
Definition at line 364 of file qwt_scale_engine.cpp.
bool QwtScaleEngine::testAttribute | ( | Attribute | attribute | ) | const |
attribute | Attribute to be tested |
Definition at line 431 of file qwt_scale_engine.cpp.
QwtTransform * QwtScaleEngine::transformation | ( | ) | const |
Create and return a clone of the transformation of the engine. When the engine has no special transformation NULL is returned, indicating no transformation.
Definition at line 265 of file qwt_scale_engine.cpp.
double QwtScaleEngine::upperMargin | ( | ) | const |
Definition at line 291 of file qwt_scale_engine.cpp.