QwtScaleWidget Class Reference

List of all members.

Detailed Description

A Widget which contains a scale.

This Widget can be used to decorate composite widgets with a scale.

Definition at line 34 of file qwt_scale_widget.h.

Signals

void scaleDivChanged ()

Public Member Functions

 QwtScaleWidget (QWidget *parent=NULL)
 QwtScaleWidget (QwtScaleDraw::Alignment, QWidget *parent=NULL)
virtual ~QwtScaleWidget ()
void setTitle (const QString &title)
void setTitle (const QwtText &title)
QwtText title () const
void setBorderDist (int start, int end)
int startBorderDist () const
int endBorderDist () const
void getBorderDistHint (int &start, int &end) const
void getMinBorderDist (int &start, int &end) const
void setMinBorderDist (int start, int end)
void setMargin (int)
int margin () const
void setSpacing (int td)
int spacing () const
void setPenWidth (int)
int penWidth () const
void setScaleDiv (QwtScaleTransformation *, const QwtScaleDiv &sd)
void setScaleDraw (QwtScaleDraw *)
const QwtScaleDrawscaleDraw () const
QwtScaleDrawscaleDraw ()
void setLabelAlignment (Qt::Alignment)
void setLabelRotation (double rotation)
void setColorBarEnabled (bool)
bool isColorBarEnabled () const
void setColorBarWidth (int)
int colorBarWidth () const
void setColorMap (const QwtDoubleInterval &, const QwtColorMap &)
QwtDoubleInterval colorBarInterval () const
const QwtColorMapcolorMap () const
virtual QSize sizeHint () const
virtual QSize minimumSizeHint () const
int titleHeightForWidth (int width) const
int dimForLength (int length, const QFont &scaleFont) const
void drawColorBar (QPainter *painter, const QRect &rect) const
void drawTitle (QPainter *painter, QwtScaleDraw::Alignment, const QRect &rect) const
void setAlignment (QwtScaleDraw::Alignment)
QwtScaleDraw::Alignment alignment () const
QRect colorBarRect (const QRect &) const

Protected Member Functions

virtual void paintEvent (QPaintEvent *e)
virtual void resizeEvent (QResizeEvent *e)
void draw (QPainter *p) const
void scaleChange ()
void layoutScale (bool update=true)


Constructor & Destructor Documentation

QwtScaleWidget::QwtScaleWidget ( QWidget *  parent = NULL  )  [explicit]

Create a scale with the position QwtScaleWidget::Left.

Parameters:
parent Parent widget

Definition at line 63 of file qwt_scale_widget.cpp.

QwtScaleWidget::QwtScaleWidget ( QwtScaleDraw::Alignment  align,
QWidget *  parent = NULL 
) [explicit]

Constructor.

Parameters:
align Alignment.
parent Parent widget

Definition at line 87 of file qwt_scale_widget.cpp.

QwtScaleWidget::~QwtScaleWidget (  )  [virtual]

Destructor.

Definition at line 95 of file qwt_scale_widget.cpp.


Member Function Documentation

void QwtScaleWidget::scaleDivChanged (  )  [signal]

Signal emitted, whenever the scale divison changes.

Referenced by setScaleDiv().

void QwtScaleWidget::setTitle ( const QwtText title  ) 

Give title new text contents.

Parameters:
title New title
See also:
QwtScaleWidget::title
Warning:
The title flags are interpreted in direction of the label, AlignTop, AlignBottom can't be set as the title will always be aligned to the scale.

Definition at line 167 of file qwt_scale_widget.cpp.

References layoutScale(), QwtText::renderFlags(), QwtText::setRenderFlags(), and title().

QwtText QwtScaleWidget::title (  )  const

Returns:
title
See also:
QwtScaleWidget::setTitle

Definition at line 357 of file qwt_scale_widget.cpp.

Referenced by QwtPlotPrintFilter::apply(), QwtPlot::axisTitle(), drawTitle(), and setTitle().

void QwtScaleWidget::setBorderDist ( int  dist1,
int  dist2 
)

Specify distances of the scale's endpoints from the widget's borders. The actual borders will never be less than minimum border distance.

Parameters:
dist1 Left or top Distance
dist2 Right or bottom distance
See also:
QwtScaleWidget::borderDist

Definition at line 233 of file qwt_scale_widget.cpp.

References layoutScale().

Referenced by QwtPlot::updateAxes().

int QwtScaleWidget::startBorderDist (  )  const

Returns:
start border distance
See also:
QwtScaleWidget::setBorderDist

Definition at line 366 of file qwt_scale_widget.cpp.

Referenced by QwtPlot::canvasMap(), and QwtPlot::print().

int QwtScaleWidget::endBorderDist (  )  const

Returns:
end border distance
See also:
QwtScaleWidget::setBorderDist

Definition at line 375 of file qwt_scale_widget.cpp.

Referenced by QwtPlot::canvasMap(), and QwtPlot::print().

void QwtScaleWidget::getBorderDistHint ( int &  start,
int &  end 
) const

Calculate a hint for the border distances.

This member function calculates the distance of the scale's endpoints from the widget borders which is required for the mark labels to fit into the widget. The maximum of this distance an the minimum border distance is returned.

Warning:
  • The minimum border distance depends on the font.
See also:
setMinBorderDist(), getMinBorderDist(), setBorderDist()

Definition at line 774 of file qwt_scale_widget.cpp.

Referenced by layoutScale(), minimumSizeHint(), and QwtPlot::updateAxes().

void QwtScaleWidget::getMinBorderDist ( int &  start,
int &  end 
) const

Get the minimum value for the distances of the scale's endpoints from the widget borders.

See also:
setMinBorderDist(), getBorderDistHint()

Definition at line 805 of file qwt_scale_widget.cpp.

void QwtScaleWidget::setMinBorderDist ( int  start,
int  end 
)

Set a minimum value for the distances of the scale's endpoints from the widget borders. This is useful to avoid that the scales are "jumping", when the tick labels or their positions change often.

See also:
getMinBorderDist(), getBorderDistHint()

Definition at line 793 of file qwt_scale_widget.cpp.

void QwtScaleWidget::setMargin ( int  margin  ) 

Specify the margin to the colorBar/base line.

Parameters:
margin Margin
See also:
QwtScaleWidget::margin

Definition at line 248 of file qwt_scale_widget.cpp.

References layoutScale().

Referenced by QwtPlot::print().

int QwtScaleWidget::margin (  )  const

Returns:
margin
See also:
QwtScaleWidget::setMargin

Definition at line 384 of file qwt_scale_widget.cpp.

Referenced by QwtPlot::print().

void QwtScaleWidget::setSpacing ( int  spacing  ) 

Specify the distance between color bar, scale and title.

Parameters:
spacing Spacing
See also:
QwtScaleWidget::spacing

Definition at line 263 of file qwt_scale_widget.cpp.

References layoutScale().

int QwtScaleWidget::spacing (  )  const

Returns:
distance between scale and title
See also:
QwtScaleWidget::setMargin

Definition at line 393 of file qwt_scale_widget.cpp.

Referenced by QwtPlot::printScale().

void QwtScaleWidget::setPenWidth ( int  width  ) 

Specify the width of the scale pen.

Parameters:
width Pen width
See also:
QwtScaleWidget::penWidth

Definition at line 278 of file qwt_scale_widget.cpp.

References layoutScale().

int QwtScaleWidget::penWidth (  )  const

Returns:
Scale pen width
See also:
QwtScaleWidget::setPenWidth

Definition at line 402 of file qwt_scale_widget.cpp.

Referenced by QwtPlot::printScale().

void QwtScaleWidget::setScaleDiv ( QwtScaleTransformation transformation,
const QwtScaleDiv scaleDiv 
)

Assign a scale division.

The scale division determines where to set the tick marks.

Parameters:
transformation Transformation, needed to translate between scale and pixal values
scaleDiv Scale Division
See also:
For more information about scale divisions, see QwtScaleDiv.

Definition at line 839 of file qwt_scale_widget.cpp.

References layoutScale(), QwtAbstractScaleDraw::map(), QwtAbstractScaleDraw::scaleDiv(), scaleDivChanged(), QwtAbstractScaleDraw::setScaleDiv(), QwtAbstractScaleDraw::setTransformation(), QwtScaleMap::transformation(), and QwtScaleTransformation::type().

Referenced by QwtPlot::updateAxes().

void QwtScaleWidget::setScaleDraw ( QwtScaleDraw  ) 

Set a scale draw sd has to be created with new and will be deleted in QwtScaleWidget::~QwtScale or the next call of QwtScaleWidget::setScaleDraw.

Definition at line 321 of file qwt_scale_widget.cpp.

References layoutScale(), and QwtScaleDraw::setAlignment().

Referenced by QwtPlot::setAxisScaleDraw().

const QwtScaleDraw * QwtScaleWidget::scaleDraw (  )  const

scaleDraw of this scale

See also:
QwtScaleDraw::setScaleDraw

Definition at line 339 of file qwt_scale_widget.cpp.

Referenced by alignment(), QwtPlot::axisScaleDraw(), QwtPlot::printScale(), and QwtPlot::sizeHint().

QwtScaleDraw * QwtScaleWidget::scaleDraw (  ) 

scaleDraw of this scale

See also:
QwtScaleDraw::setScaleDraw

Definition at line 348 of file qwt_scale_widget.cpp.

void QwtScaleWidget::setLabelAlignment ( Qt::Alignment  alignment  ) 

Change the alignment for the labels.

See also:
QwtScaleDraw::setLabelAlignment(), QwtScaleWidget::setLabelRotation()

Definition at line 298 of file qwt_scale_widget.cpp.

void QwtScaleWidget::setLabelRotation ( double  rotation  ) 

Change the rotation for the labels. See QwtScaleDraw::setLabelRotation().

See also:
QwtScaleDraw::setLabelRotation(), QwtScaleWidget::setLabelFlags()

Definition at line 310 of file qwt_scale_widget.cpp.

References layoutScale().

Referenced by QwtPlot::setAxisLabelRotation().

QSize QwtScaleWidget::sizeHint (  )  const [virtual]

Returns:
a size hint

Definition at line 689 of file qwt_scale_widget.cpp.

References minimumSizeHint().

QSize QwtScaleWidget::minimumSizeHint (  )  const [virtual]

Returns:
a minimum size hint

Definition at line 697 of file qwt_scale_widget.cpp.

References dimForLength(), and getBorderDistHint().

Referenced by QwtPlotLayout::minimumSizeHint(), sizeHint(), and QwtPlot::sizeHint().

int QwtScaleWidget::titleHeightForWidth ( int  width  )  const

Find the height of the title for a given width.

Parameters:
width Width
Returns:
height Height

Definition at line 732 of file qwt_scale_widget.cpp.

Referenced by dimForLength().

int QwtScaleWidget::dimForLength ( int  length,
const QFont &  scaleFont 
) const

Find the minimum dimension for a given length. dim is the height, length the width seen in direction of the title.

Parameters:
length width for horizontal, height for vertical scales
scaleFont Font of the scale
Returns:
height for horizontal, width for vertical scales

Definition at line 746 of file qwt_scale_widget.cpp.

References titleHeightForWidth().

Referenced by minimumSizeHint().

void QwtScaleWidget::drawTitle ( QPainter *  painter,
QwtScaleDraw::Alignment  align,
const QRect &  rect 
) const

Rotate and paint a title according to its position into a given rectangle.

Parameters:
painter Painter
align Alignment
rect Bounding rectangle

Definition at line 621 of file qwt_scale_widget.cpp.

References QwtText::draw(), QwtText::setRenderFlags(), and title().

Referenced by draw(), and QwtPlot::printScale().

void QwtScaleWidget::setAlignment ( QwtScaleDraw::Alignment  alignment  ) 

Change the alignment

Parameters:
alignment New alignment
See also:
QwtScaleWidget::alignment

Definition at line 186 of file qwt_scale_widget.cpp.

References layoutScale().

QwtScaleDraw::Alignment QwtScaleWidget::alignment (  )  const

Returns:
position
See also:
QwtScaleWidget::setPosition

Definition at line 217 of file qwt_scale_widget.cpp.

References QwtScaleDraw::alignment(), and scaleDraw().

void QwtScaleWidget::paintEvent ( QPaintEvent *  e  )  [protected, virtual]

paintEvent

Definition at line 409 of file qwt_scale_widget.cpp.

References draw().

void QwtScaleWidget::resizeEvent ( QResizeEvent *  e  )  [protected, virtual]

resizeEvent

Definition at line 541 of file qwt_scale_widget.cpp.

References layoutScale().

void QwtScaleWidget::draw ( QPainter *  p  )  const [protected]

draw the scale

Definition at line 427 of file qwt_scale_widget.cpp.

References colorBarRect(), drawColorBar(), and drawTitle().

Referenced by paintEvent().

void QwtScaleWidget::scaleChange (  )  [protected]

Notify a change of the scale.

This virtual function can be overloaded by derived classes. The default implementation updates the geometry and repaints the widget.

Definition at line 681 of file qwt_scale_widget.cpp.

References layoutScale().

void QwtScaleWidget::layoutScale ( bool  update = true  )  [protected]

Recalculate the scale's geometry and layout based on.

Definition at line 551 of file qwt_scale_widget.cpp.

References colorBarWidth(), and getBorderDistHint().

Referenced by resizeEvent(), scaleChange(), setAlignment(), setBorderDist(), setColorBarEnabled(), setColorBarWidth(), setColorMap(), setLabelRotation(), setMargin(), setPenWidth(), setScaleDiv(), setScaleDraw(), setSpacing(), and setTitle().


Generated on Sun Mar 22 16:55:19 2009 for Qwt User's Guide by  doxygen 1.5.0