47 scaleWidget->setObjectName( name );
51 const QFont fscl( plot->fontInfo().family(), 10 );
52 const QFont fttl( plot->fontInfo().family(), 12, QFont::Bold );
55 scaleWidget->setTransformation( scaleEngine->transformation() );
57 scaleWidget->setFont( fscl );
58 scaleWidget->setMargin( 2 );
62 scaleWidget->setTitle( text );
98 return m_axisData[ axisId ];
103 return m_axisData[ axisId ];
146 if ( isAxisValid( axisId ) )
147 return m_scaleData->axisData( axisId ).scaleWidget;
158 if ( isAxisValid( axisId ) )
159 return m_scaleData->axisData( axisId ).scaleWidget;
174 if ( isAxisValid( axisId ) && scaleEngine != NULL )
176 AxisData&
d = m_scaleData->axisData( axisId );
178 delete d.scaleEngine;
179 d.scaleEngine = scaleEngine;
181 d.scaleWidget->setTransformation( scaleEngine->
transformation() );
195 if ( isAxisValid( axisId ) )
196 return m_scaleData->axisData( axisId ).scaleEngine;
207 if ( isAxisValid( axisId ) )
208 return m_scaleData->axisData( axisId ).scaleEngine;
218 if ( isAxisValid( axisId ) )
219 return m_scaleData->axisData( axisId ).doAutoScale;
230 if ( isAxisValid( axisId ) )
231 return m_scaleData->axisData( axisId ).isVisible;
242 if ( isAxisValid( axisId ) )
243 return axisWidget( axisId )->font();
256 if ( isAxisValid( axisId ) )
257 return m_scaleData->axisData( axisId ).maxMajor;
269 if ( isAxisValid( axisId ) )
270 return m_scaleData->axisData( axisId ).maxMinor;
288 return m_scaleData->axisData( axisId ).scaleDiv;
299 if ( !isAxisValid( axisId ) )
302 return axisWidget( axisId )->scaleDraw();
313 if ( !isAxisValid( axisId ) )
316 return axisWidget( axisId )->scaleDraw();
331 if ( !isAxisValid( axisId ) )
334 return m_scaleData->axisData( axisId ).stepSize;
349 if ( !isAxisValid( axisId ) )
352 return m_scaleData->axisData( axisId ).scaleDiv.interval();
361 if ( isAxisValid( axisId ) )
362 return axisWidget( axisId )->title();
381 if ( isAxisValid( axisId ) && on != m_scaleData->axisData( axisId ).isVisible )
383 m_scaleData->axisData( axisId ).isVisible = on;
402 if ( isAxisValid( axisId ) )
403 return( canvasMap( axisId ).invTransform( pos ) );
419 if ( isAxisValid( axisId ) )
420 return( canvasMap( axisId ).transform( value ) );
435 if ( isAxisValid( axisId ) )
436 axisWidget( axisId )->setFont( font );
454 if ( isAxisValid( axisId ) && ( m_scaleData->axisData( axisId ).doAutoScale != on ) )
456 m_scaleData->axisData( axisId ).doAutoScale = on;
478 if ( isAxisValid( axisId ) )
480 AxisData&
d = m_scaleData->axisData( axisId );
482 d.doAutoScale =
false;
487 d.stepSize = stepSize;
507 if ( isAxisValid( axisId ) )
509 AxisData&
d = m_scaleData->axisData( axisId );
511 d.doAutoScale =
false;
512 d.scaleDiv = scaleDiv;
537 if ( isAxisValid( axisId ) )
539 axisWidget( axisId )->setScaleDraw( scaleDraw );
554 if ( isAxisValid( axisId ) )
555 axisWidget( axisId )->setLabelAlignment( alignment );
569 if ( isAxisValid( axisId ) )
570 axisWidget( axisId )->setLabelRotation( rotation );
583 if ( isAxisValid( axisId ) )
585 maxMinor = qBound( 0, maxMinor, 100 );
587 AxisData&
d = m_scaleData->axisData( axisId );
588 if ( maxMinor != d.maxMinor )
590 d.maxMinor = maxMinor;
607 if ( isAxisValid( axisId ) )
609 maxMajor = qBound( 1, maxMajor, 10000 );
611 AxisData&
d = m_scaleData->axisData( axisId );
612 if ( maxMajor != d.maxMajor )
614 d.maxMajor = maxMajor;
629 if ( isAxisValid( axisId ) )
630 axisWidget( axisId )->setTitle( title );
641 if ( isAxisValid( axisId ) )
642 axisWidget( axisId )->setTitle( title );
679 for ( it = itmList.begin(); it != itmList.end(); ++it )
689 if ( axisAutoScale( item->
xAxis() ) || axisAutoScale( item->
yAxis() ) )
693 if ( rect.width() >= 0.0 )
694 boundingIntervals[item->
xAxis()] |=
QwtInterval( rect.left(), rect.right() );
696 if ( rect.height() >= 0.0 )
697 boundingIntervals[item->
yAxis()] |=
QwtInterval( rect.top(), rect.bottom() );
708 AxisData&
d = m_scaleData->axisData( axisId );
710 double minValue = d.minValue;
711 double maxValue = d.maxValue;
712 double stepSize = d.stepSize;
714 const QwtInterval& interval = boundingIntervals[axisId];
716 if ( d.doAutoScale && interval.
isValid() )
723 d.scaleEngine->autoScale( d.maxMajor,
724 minValue, maxValue, stepSize );
728 d.scaleDiv = d.scaleEngine->divideScale(
729 minValue, maxValue, d.maxMajor, d.maxMinor, stepSize );
736 int startDist, endDist;
742 for ( it = itmList.begin(); it != itmList.end(); ++it )
748 axisScaleDiv( item->
yAxis() ) );
QwtInterval axisInterval(QwtAxisId) const
Return the current interval of the specified axis.
const AxisData & axisData(QwtAxisId axisId) const
void setAxisFont(QwtAxisId, const QFont &)
Change the font of an axis.
QList< QwtPlotItem *>::ConstIterator QwtPlotItemIterator
void setAxisLabelAlignment(QwtAxisId, Qt::Alignment)
void setAxisMaxMajor(QwtAxisId, int maxMajor)
void setFont(const QFont &)
AxisData & axisData(QwtAxisId axisId)
void setAxisScaleDiv(QwtAxisId, const QwtScaleDiv &)
Disable autoscaling and specify a fixed scale for a selected axis.
bool isValid(int axisPos)
double axisStepSize(QwtAxisId) const
Return the step size parameter that has been set in setAxisScale.
A class representing an interval.
QFont axisFont(QwtAxisId) const
int axisMaxMajor(QwtAxisId) const
double invTransform(QwtAxisId, double pos) const
const QwtScaleDiv & axisScaleDiv(QwtAxisId) const
Return the scale division of a specified axis.
int axisMaxMinor(QwtAxisId) const
A class representing a scale division.
void setAxisScaleEngine(QwtAxisId, QwtScaleEngine *)
void setAxisLabelRotation(QwtAxisId, double rotation)
bool axisAutoScale(QwtAxisId) const
virtual QRectF boundingRect() const
void setAxisVisible(QwtAxisId, bool on=true)
Hide or show a specified axis.
QwtAxisId xAxis() const
Return xAxis.
void setAxisAutoScale(QwtAxisId, bool on=true)
Enable autoscaling for a specified axis.
double transform(QwtAxisId, double value) const
Transform a value into a coordinate in the plotting region.
void setAxisScaleDraw(QwtAxisId, QwtScaleDraw *)
Set a scale draw.
bool testItemInterest(ItemInterest) const
Y axis right of the canvas.
A class representing a text.
Y axis left of the canvas.
bool isAxisVisible(QwtAxisId) const
int QwtAxisId
Axis identifier.
QwtText axisTitle(QwtAxisId) const
bool isAxisValid(QwtAxisId) const
void setAxisScale(QwtAxisId, double min, double max, double stepSize=0)
Disable autoscaling and specify a fixed scale for a selected axis.
virtual void updateScaleDiv(const QwtScaleDiv &, const QwtScaleDiv &)
Update the item to changes of the axes scale division.
A class for drawing scales.
const QwtScaleWidget * axisWidget(QwtAxisId) const
A scale engine for linear scales.
Base class for items on the plot canvas.
void setAxisTitle(QwtAxisId, const QString &)
Change the title of a specified axis.
QwtAxisId yAxis() const
Return yAxis.
void setAxisMaxMinor(QwtAxisId, int maxMinor)
QwtScaleEngine * axisScaleEngine(QwtAxisId)
void updateAxes()
Rebuild the axes scales.
QwtTransform * transformation() const
Base class for scale engines.
bool testItemAttribute(ItemAttribute) const
const QwtScaleDraw * axisScaleDraw(QwtAxisId) const
Return the scale draw of a specified axis.