Main Page | Class Hierarchy | Alphabetical List | Compound List | File List | Compound Members | File Members | Related Pages

QwtScale Class Reference

A Widget which contains a scale. More...

#include <qwt_scale.h>

List of all members.

Public Types

enum  Position { Left, Right, Top, Bottom }

Public Member Functions

 QwtScale (Position, QWidget *parent, const char *name=0)
virtual ~QwtScale ()
void setTitle (const QString &title)
const QString & title () const
void setTitleColor (const QColor &c)
const QColor & titleColor () const
void setTitleFont (const QFont &f)
const QFont & titleFont () const
void setTitleAlignment (int flags)
int titleAlignment () const
void setBorderDist (int start, int end)
int startBorderDist () const
int endBorderDist () const
void minBorderDist (int &start, int &end) const
void setBaselineDist (int bd)
int baseLineDist () const
void setScaleDiv (const QwtScaleDiv &sd)
void setScaleDraw (QwtScaleDraw *)
const QwtScaleDrawscaleDraw () const
void setLabelFormat (char f, int prec, int fieldWidth)
void labelFormat (char &f, int &prec, int &fieldWidth) const
void setLabelAlignment (int align)
void setLabelRotation (double rotation)
virtual QSize sizeHint () const
virtual QSize minimumSizeHint () const
virtual QSizePolicy sizePolicy () const
int dimForLength (int length, const QFontMetrics &titleFontMetrics, const QFontMetrics &scaleFontMetrics) const
void setPosition (Position o)
Position position () const

Static Public Member Functions

void drawTitle (QPainter *, QwtScaleDraw::Orientation o, const QRect &, int align, const QString &)

Protected Member Functions

void draw (QPainter *p) const
void paintEvent (QPaintEvent *e)
void resizeEvent (QResizeEvent *e)
void scaleChange ()
void fontChange (const QFont &oldfont)
void layoutScale (bool update=TRUE)

Private Attributes

QwtScaleDrawd_scaleDraw
int d_borderDist [2]
int d_scaleLength
int d_baseDist
int d_titleOffset
QString d_title
int d_titleDist
QFont d_titleFont
QColor d_titleColor
int d_titleAlign


Detailed Description

A Widget which contains a scale.

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

Definition at line 31 of file qwt_scale.h.


Member Enumeration Documentation

enum QwtScale::Position
 

Position of the scale

See also:
QwtScale::QwtScale
Enumeration values:
Left 
Right 
Top 
Bottom 

Definition at line 46 of file qwt_scale.h.

Referenced by position().


Constructor & Destructor Documentation

QwtScale::QwtScale QwtScale::Position  pos,
QWidget *  parent,
const char *  name = 0
 

Constructor.

Parameters:
pos Position. Must be one of QwtScale::Left, QwtScale::Right, QwtScale::Bottom, or QwtScale::Top
parent 
name passed to QWidget's CTOR

Definition at line 26 of file qwt_scale.cpp.

References QwtScaleDraw::Bottom, Bottom, d_baseDist, d_borderDist, d_scaleDraw, d_titleAlign, d_titleDist, d_titleOffset, QwtScaleDraw::Left, Left, QwtScaleDraw::Orientation, QwtScaleDraw::Right, Right, QwtScaleDraw::setGeometry(), QwtScaleDraw::Top, and Top.

QwtScale::~QwtScale  )  [virtual]
 

Destructor.

Definition at line 60 of file qwt_scale.cpp.

References d_scaleDraw.


Member Function Documentation

int QwtScale::baseLineDist  )  const
 

Returns:
base line distance
See also:
QwtScale::setBaselineDist

Definition at line 351 of file qwt_scale.cpp.

References d_baseDist.

Referenced by QwtPlotLayoutData::init(), QwtPlotLayout::minimumSizeHint(), and QwtPlot::print().

int QwtScale::dimForLength int  length,
const QFontMetrics &  titleFontMetrics,
const QFontMetrics &  scaleFontMetrics
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
titleFontMetrics Font metrics of the title
scaleFontMetrics Font metrics of the scale
Returns:
height for horizontal, width for vertical scales

Definition at line 618 of file qwt_scale.cpp.

References d_baseDist, d_scaleDraw, d_title, d_titleAlign, d_titleDist, QwtScaleDraw::Left, QwtScaleDraw::minHeight(), QwtScaleDraw::minWidth(), QwtScaleDraw::orientation(), and QwtScaleDraw::Right.

Referenced by QwtPlotLayoutData::init(), and minimumSizeHint().

void QwtScale::draw QPainter *  p  )  const [protected]
 

draw the scale

Definition at line 372 of file qwt_scale.cpp.

References QwtScaleDraw::Bottom, d_scaleDraw, d_title, d_titleAlign, d_titleColor, d_titleFont, d_titleOffset, QwtScaleDraw::draw(), drawTitle(), QwtScaleDraw::Left, QwtScaleDraw::orientation(), QwtScaleDraw::Right, and QwtScaleDraw::Top.

Referenced by paintEvent().

void QwtScale::drawTitle QPainter *  painter,
QwtScaleDraw::Orientation  o,
const QRect &  rect,
int  align,
const QString &  text
[static]
 

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

Parameters:
painter Painter
o Orientation
rect Bounding rectangle
align Or'd Qt::Alignment flags
text Text

Definition at line 480 of file qwt_scale.cpp.

References QwtScaleDraw::Bottom, QwtPainter::drawText(), QwtScaleDraw::Left, QwtScaleDraw::Right, and QwtScaleDraw::Top.

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

int QwtScale::endBorderDist  )  const
 

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

Definition at line 342 of file qwt_scale.cpp.

References d_borderDist.

Referenced by QwtPlot::canvasMap(), and QwtPlotLayoutData::init().

void QwtScale::fontChange const QFont &  oldFont  )  [protected]
 

Notify a change of the font.

This virtual function may be overloaded by derived widgets. The default implementation resizes the scale and repaints the widget.

Parameters:
oldFont Previous font

Definition at line 665 of file qwt_scale.cpp.

References layoutScale().

void QwtScale::labelFormat char &  f,
int &  prec,
int &  fieldwidth
const
 

Format character and precision have the same meaning as for the QString class.

Return values:
f format character
prec precision
fieldwidth minimum fieldwidth
Returns:
the number format for the major scale labels
See also:
QwtScale::setLabelFormat, QString::sprintf in the Qt manual

Definition at line 279 of file qwt_scale.cpp.

References d_scaleDraw, and QwtScaleDraw::labelFormat().

Referenced by QwtPlot::axisLabelFormat().

void QwtScale::layoutScale bool  update = TRUE  )  [protected]
 

Recalculate the scale's geometry and layout based on.

Definition at line 417 of file qwt_scale.cpp.

References QwtScaleDraw::Bottom, d_baseDist, d_borderDist, d_scaleDraw, d_titleDist, d_titleOffset, QwtScaleDraw::Left, QwtScaleDraw::maxHeight(), QwtScaleDraw::maxWidth(), minBorderDist(), QwtScaleDraw::orientation(), QwtScaleDraw::Right, QwtScaleDraw::setGeometry(), and QwtScaleDraw::Top.

Referenced by fontChange(), resizeEvent(), scaleChange(), setBaselineDist(), setBorderDist(), setLabelAlignment(), setLabelFormat(), setLabelRotation(), setPosition(), setScaleDiv(), setScaleDraw(), setTitle(), setTitleAlignment(), and setTitleFont().

void QwtScale::minBorderDist int &  start,
int &  end
const
 

Determine the minimum Border distances.

This member function returns the minimum distance of the scale's endpoints from the widget borders which is required for the mark labels to fit into the widget.

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

Definition at line 651 of file qwt_scale.cpp.

References d_scaleDraw, and QwtScaleDraw::minBorderDist().

Referenced by QwtPlotPrintFilter::apply(), layoutScale(), minimumSizeHint(), QwtPlotLayout::minimumSizeHint(), QwtPlot::print(), QwtPlotPrintFilter::reset(), and QwtPlot::updateAxes().

QSize QwtScale::minimumSizeHint  )  const [virtual]
 

Returns:
a minimum size hint

Definition at line 565 of file qwt_scale.cpp.

References d_borderDist, d_scaleDraw, d_title, d_titleFont, dimForLength(), QwtScaleDraw::Left, minBorderDist(), QwtScaleDraw::minHeight(), QwtScaleDraw::minWidth(), QwtScaleDraw::orientation(), qwtMax, and QwtScaleDraw::Right.

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

void QwtScale::paintEvent QPaintEvent *  e  )  [protected]
 

paintEvent

Definition at line 359 of file qwt_scale.cpp.

References draw(), and QwtPaintBuffer::painter().

QwtScale::Position QwtScale::position  )  const
 

Returns:
position
See also:
QwtScale::setPosition

Definition at line 115 of file qwt_scale.cpp.

References Bottom, QwtScaleDraw::Bottom, QwtScaleDraw::Left, Left, QwtScaleDraw::orientation(), QwtScaleDraw::Orientation, Position, Right, QwtScaleDraw::Right, scaleDraw(), Top, and QwtScaleDraw::Top.

void QwtScale::resizeEvent QResizeEvent *  e  )  [protected]
 

paintEvent

Definition at line 407 of file qwt_scale.cpp.

References layoutScale().

void QwtScale::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 528 of file qwt_scale.cpp.

References layoutScale().

const QwtScaleDraw * QwtScale::scaleDraw  )  const
 

scaleDraw of this scale

See also:
QwtScaleDraw::setScaleDraw

Definition at line 288 of file qwt_scale.cpp.

References d_scaleDraw.

Referenced by QwtPlot::axisScaleDraw(), QwtPlot::canvasMap(), QwtPlotLayoutData::init(), QwtPlotLayout::minimumSizeHint(), position(), QwtPlot::printScale(), and QwtPlot::sizeHint().

void QwtScale::setBaselineDist int  bd  ) 
 

Specify the border distance of the scale's base line.

Parameters:
bd border distance of the baseline
See also:
QwtScale::baseLineDist

Definition at line 159 of file qwt_scale.cpp.

References d_baseDist, layoutScale(), and qwtMax.

Referenced by QwtPlot::initAxes().

void QwtScale::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:
QwtScale::borderDist

Definition at line 144 of file qwt_scale.cpp.

References d_borderDist, and layoutScale().

Referenced by QwtPlotPrintFilter::apply(), QwtPlotPrintFilter::reset(), and QwtPlot::updateAxes().

void QwtScale::setLabelAlignment int  align  ) 
 

Change the alignment for the labels.

See QwtScaleDraw::setLabelAlignment().

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

Definition at line 233 of file qwt_scale.cpp.

References d_scaleDraw, layoutScale(), and QwtScaleDraw::setLabelAlignment().

Referenced by QwtPlot::setAxisLabelAlignment().

void QwtScale::setLabelFormat char  f,
int  prec,
int  fieldwidth
 

Set the number format for the major scale labels.

Format character and precision have the same meaning as for the QString class.

Parameters:
f format character
prec precision
fieldwidth minimum fieldwidth
See also:
QwtScale::labelFormat, QString::sprintf in the Qt manual

Definition at line 220 of file qwt_scale.cpp.

References d_scaleDraw, layoutScale(), and QwtScaleDraw::setLabelFormat().

Referenced by QwtPlot::setAxisLabelFormat().

void QwtScale::setLabelRotation double  rotation  ) 
 

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

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

Definition at line 244 of file qwt_scale.cpp.

References d_scaleDraw, layoutScale(), and QwtScaleDraw::setLabelRotation().

Referenced by QwtPlot::setAxisLabelRotation().

void QwtScale::setPosition Position  pos  ) 
 

Assign a position.

Parameters:
pos new position
See also:
QwtScale::position

Definition at line 84 of file qwt_scale.cpp.

References QwtScaleDraw::Bottom, Bottom, d_scaleDraw, layoutScale(), QwtScaleDraw::Left, Left, QwtScaleDraw::Orientation, QwtScaleDraw::Right, Right, QwtScaleDraw::setGeometry(), QwtScaleDraw::Top, and Top.

void QwtScale::setScaleDiv const QwtScaleDiv sd  ) 
 

Assign a scale division.

The scale division determines where to set the tick marks.

Parameters:
sd Scale Division
See also:
For more information about scale divisions, see QwtScaleDiv.

Definition at line 679 of file qwt_scale.cpp.

References d_scaleDraw, layoutScale(), QwtScaleDraw::scaleDiv(), and QwtScaleDraw::setScale().

Referenced by QwtPlot::initAxes(), and QwtPlot::updateAxes().

void QwtScale::setScaleDraw QwtScaleDraw sd  ) 
 

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

Definition at line 255 of file qwt_scale.cpp.

References d_scaleDraw, and layoutScale().

Referenced by QwtPlot::setAxisScaleDraw().

void QwtScale::setTitle const QString &  title  ) 
 

Assign a title.

Parameters:
title new title
See also:
QwtScale::title

Definition at line 70 of file qwt_scale.cpp.

References d_title, and layoutScale().

Referenced by QwtPlot::setAxisTitle().

void QwtScale::setTitleAlignment int  flags  ) 
 

Change the title alignment.

Parameters:
flags see Qt::AlignmentFlags. flags are interpreted in direction of the label, AlignTop, AlignBottom can't be set as the title will always be aligned to the scale.
See also:
QwtScale::titleAlignment, Qt::AlignmentFlags

Definition at line 202 of file qwt_scale.cpp.

References d_titleAlign, and layoutScale().

Referenced by QwtPlot::setAxisTitleAlignment().

void QwtScale::setTitleColor const QColor &  c  ) 
 

Change the title color.

Parameters:
c new title color
See also:
QwtScale::titleColor

Definition at line 188 of file qwt_scale.cpp.

References d_titleColor.

Referenced by QwtPlotPrintFilter::apply(), and QwtPlotPrintFilter::reset().

void QwtScale::setTitleFont const QFont &  f  ) 
 

Change the title font.

Parameters:
f new font
See also:
QwtScale::title

Definition at line 174 of file qwt_scale.cpp.

References d_titleFont, and layoutScale().

Referenced by QwtPlotPrintFilter::apply(), QwtPlot::initAxes(), QwtPlotPrintFilter::reset(), and QwtPlot::setAxisTitleFont().

QSize QwtScale::sizeHint  )  const [virtual]
 

Returns:
a size hint

Definition at line 557 of file qwt_scale.cpp.

References minimumSizeHint().

QSizePolicy QwtScale::sizePolicy  )  const [virtual]
 

Returns:
Fixed/MinimumExpanding for vertical, MinimumExpanding/Fixed for horizontal scales.

Definition at line 537 of file qwt_scale.cpp.

References d_scaleDraw, QwtScaleDraw::Left, QwtScaleDraw::orientation(), and QwtScaleDraw::Right.

int QwtScale::startBorderDist  )  const
 

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

Definition at line 333 of file qwt_scale.cpp.

References d_borderDist.

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

const QString & QwtScale::title  )  const
 

Returns:
title
See also:
QwtScale::setTitle

Definition at line 324 of file qwt_scale.cpp.

References d_title.

Referenced by QwtPlot::axisTitle(), QwtPlotLayoutData::init(), and QwtPlot::printScale().

int QwtScale::titleAlignment  )  const
 

Returns:
alignment
See also:
QwtScale::setTitleAlignment, Qt::AlignmentFlags

Definition at line 297 of file qwt_scale.cpp.

References d_titleAlign.

Referenced by QwtPlot::axisTitleAlignment(), QwtPlotLayoutData::init(), and QwtPlot::printScale().

const QColor & QwtScale::titleColor  )  const
 

Returns:
title color
See also:
QwtScale::setTitleColor

Definition at line 315 of file qwt_scale.cpp.

References d_titleColor.

Referenced by QwtPlotPrintFilter::apply(), and QwtPlot::printScale().

const QFont & QwtScale::titleFont  )  const
 

Returns:
title font
See also:
QwtScale::setTitleFont

Definition at line 306 of file qwt_scale.cpp.

References d_titleFont.

Referenced by QwtPlotPrintFilter::apply(), QwtPlot::axisTitleFont(), QwtPlotLayoutData::init(), and QwtPlot::printScale().


Member Data Documentation

int QwtScale::d_baseDist [private]
 

Definition at line 108 of file qwt_scale.h.

Referenced by baseLineDist(), dimForLength(), layoutScale(), QwtScale(), and setBaselineDist().

int QwtScale::d_borderDist[2] [private]
 

Definition at line 106 of file qwt_scale.h.

Referenced by endBorderDist(), layoutScale(), minimumSizeHint(), QwtScale(), setBorderDist(), and startBorderDist().

QwtScaleDraw* QwtScale::d_scaleDraw [private]
 

Definition at line 104 of file qwt_scale.h.

Referenced by dimForLength(), draw(), labelFormat(), layoutScale(), minBorderDist(), minimumSizeHint(), QwtScale(), scaleDraw(), setLabelAlignment(), setLabelFormat(), setLabelRotation(), setPosition(), setScaleDiv(), setScaleDraw(), sizePolicy(), and ~QwtScale().

int QwtScale::d_scaleLength [private]
 

Definition at line 107 of file qwt_scale.h.

QString QwtScale::d_title [private]
 

Definition at line 111 of file qwt_scale.h.

Referenced by dimForLength(), draw(), minimumSizeHint(), setTitle(), and title().

int QwtScale::d_titleAlign [private]
 

Definition at line 115 of file qwt_scale.h.

Referenced by dimForLength(), draw(), QwtScale(), setTitleAlignment(), and titleAlignment().

QColor QwtScale::d_titleColor [private]
 

Definition at line 114 of file qwt_scale.h.

Referenced by draw(), setTitleColor(), and titleColor().

int QwtScale::d_titleDist [private]
 

Definition at line 112 of file qwt_scale.h.

Referenced by dimForLength(), layoutScale(), and QwtScale().

QFont QwtScale::d_titleFont [private]
 

Definition at line 113 of file qwt_scale.h.

Referenced by draw(), minimumSizeHint(), setTitleFont(), and titleFont().

int QwtScale::d_titleOffset [private]
 

Definition at line 110 of file qwt_scale.h.

Referenced by draw(), layoutScale(), and QwtScale().


The documentation for this class was generated from the following files:
Generated on Fri Nov 7 14:11:49 2003 for Qwt Developer's Guide by doxygen 1.3.2