<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html><head><meta name="robots" content="noindex"> <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> <title>QwtScaleDraw Class Reference</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> </head><body bgcolor="#ffffff"> <!-- Generated by Doxygen 1.2.3 on Thu Dec 14 00:27:20 2000 --> <center> <a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="hierarchy.html">Class Hierarchy</a> <a class="qindex" href="classes.html">Alphabetical List</a> <a class="qindex" href="annotated.html">Compound List</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Compound Members</a> <a class="qindex" href="globals.html">File Members</a> <a class="qindex" href="pages.html">Related Pages</a> </center> <hr><h1>QwtScaleDraw Class Reference</h1>A class for drawing scales. <a href="#_details">More...</a> <p> <code>#include <qwt_scldraw.h></code> <p> Inherits <a class="el" href="class_qwtdimap.html">QwtDiMap</a>. <p> Inheritance diagram for QwtScaleDraw<p><center><img src="class_qwtscaledraw_inherit_graph.gif" border="0" usemap="#QwtScaleDraw_inherit_map" alt="Inheritance graph"></center> <map name="QwtScaleDraw_inherit_map"> <area href="class_qwtdimap.html" shape="rect" coords="9,1,84,19"> </map> <center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center><a href="class_qwtscaledraw-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0> <tr><td colspan=2><br><h2>Public Types</h2></td></tr> <tr><td nowrap align=right valign=top>enum </td><td valign=bottom><b>Orientation</b> { <br> <b>Bottom</b>, <b>Top</b>, <b>Left</b>, <b>Right</b>, <br> <b>Round</b> <br> }</td></tr> <tr><td colspan=2><br><h2>Public Methods</h2></td></tr> <tr><td nowrap align=right valign=top> </td><td valign=bottom><a class="el" href="class_qwtscaledraw.html#a0">QwtScaleDraw</a> ()</td></tr> <tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="class_qwtscaledraw.html#a1">setScale</a> (const <a class="el" href="class_qwtscalediv.html">QwtScaleDiv</a> &s)</td></tr> <tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="class_qwtscaledraw.html#a2">setScale</a> (double vmin, double vmax, int maxMajIntv, int maxMinIntv, double step = 0.0, int logarithmic = 0)</td></tr> <tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="class_qwtscaledraw.html#a3">setGeometry</a> (int xorigin, int yorigin, int length, Orientation o)</td></tr> <tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="class_qwtscaledraw.html#a4">setAngleRange</a> (double angle1, double angle2)</td></tr> <tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="class_qwtscaledraw.html#a5">setLabelFormat</a> (char f, int prec)</td></tr> <tr><td nowrap align=right valign=top>const <a class="el" href="class_qwtscalediv.html">QwtScaleDiv</a>& </td><td valign=bottom><a class="el" href="class_qwtscaledraw.html#a6">scaleDiv</a> () const</td></tr> <tr><td nowrap align=right valign=top>Orientation </td><td valign=bottom><a class="el" href="class_qwtscaledraw.html#a7">orientation</a> () const</td></tr> <tr><td nowrap align=right valign=top>QRect </td><td valign=bottom><a class="el" href="class_qwtscaledraw.html#a8">maxBoundingRect</a> (QPainter *p) const</td></tr> <tr><td nowrap align=right valign=top>int </td><td valign=bottom><a class="el" href="class_qwtscaledraw.html#a9">maxWidth</a> (QPainter *p, bool worst = TRUE) const</td></tr> <tr><td nowrap align=right valign=top>int </td><td valign=bottom><a class="el" href="class_qwtscaledraw.html#a10">maxHeight</a> (QPainter *p) const</td></tr> <tr><td nowrap align=right valign=top>int </td><td valign=bottom><a class="el" href="class_qwtscaledraw.html#a11">maxLabelWidth</a> (QPainter *p, int worst = TRUE) const</td></tr> <tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="class_qwtscaledraw.html#a12">labelFormat</a> (char &f, int &prec) const</td></tr> <tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="class_qwtscaledraw.html#a13">draw</a> (QPainter *p) const</td></tr> </table> <hr><a name="_details"></a><h2>Detailed Description</h2> A class for drawing scales. <p> <p> QwtScaleDraw can be used to draw linear or logarithmic scales. A scale has an origin, an orientation and a length, which all can be specified with <a class="el" href="class_qwtscaledraw.html#a3">setGeometry</a>(). <p> After a scale division has been specified as a <a class="el" href="class_qwtscalediv.html">QwtScaleDiv</a> object using <a class="el" href="class_qwtscaledraw.html#a1">setScale</a>(const QwtScaleDiv &s), or determined internally using setScale(double vmin, double vmax, int maxMajIntv, int maxMinIntv, double step = 0.0, int logarithmic = 0), the scale can be drawn with the QwtScaleDiv::draw() member. <p> <hr><h2>Constructor & Destructor Documentation</h2> <a name="a0" doxytag="QwtScaleDraw::QwtScaleDraw"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td nowrap valign="top"><b> QwtScaleDraw::QwtScaleDraw ( </b></td> <td valign="bottom"><b> ) </b></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Constructor. <p> <p> The range of the scale is initialized to [0, 100], the angle range is set to [-135, 135], the geometry is initialized such that the origin is at (0,0), the length is 100, and the orientation is QwtScaleDraw::Bottom. </td> </tr> </table> <hr><h2>Member Function Documentation</h2> <a name="a13" doxytag="QwtScaleDraw::draw"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td nowrap valign="top"><b> void QwtScaleDraw::draw ( </b></td> <td valign="bottom"><b> QPainter * <em>p</em> ) const </b></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Draw the scale. <p> <dl compact><dt> <b>Parameters: </b><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>p</em> </td><td> the painter </td></tr> </table> </dl> </td> </tr> </table> <a name="a12" doxytag="QwtScaleDraw::labelFormat"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td nowrap valign="top"><b> void QwtScaleDraw::labelFormat ( </b></td> <td valign="bottom"><b> char & <em>f</em>, </b></td> </tr> <tr> <td></td> <td><b> int & <em>prec</em> ) const </b></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Format character and precision have the same meaning as for the QString class. <dl compact><dt> <b>Return values: </b><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>f</em> </td><td> format character </td></tr> <tr><td valign=top><em>prec</em> </td><td> </td></tr> </table> </dl><dl compact><dt> <b>Returns: </b><dd> the number format for the major scale labels </dl><dl compact><dt> <b>See also: </b><dd> QString::setNum in the Qt manual </dl> </td> </tr> </table> <a name="a8" doxytag="QwtScaleDraw::maxBoundingRect"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td nowrap valign="top"><b> QRect QwtScaleDraw::maxBoundingRect ( </b></td> <td valign="bottom"><b> QPainter * <em>p</em> ) const </b></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> The bounding rectangle is not very exact for round scales with strange angle ranges. <dl compact><dt> <b>Parameters: </b><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>p</em> </td><td> painter </td></tr> </table> </dl><dl compact><dt> <b>Returns: </b><dd> the maximum bounding rectangle of the scale for a specified painter </dl> </td> </tr> </table> <a name="a10" doxytag="QwtScaleDraw::maxHeight"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td nowrap valign="top"><b> int QwtScaleDraw::maxHeight ( </b></td> <td valign="bottom"><b> QPainter * <em>p</em> ) const </b></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> <dl compact><dt> <b>Parameters: </b><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>p</em> </td><td> painter </td></tr> </table> </dl><dl compact><dt> <b>Returns: </b><dd> the maximum height of the scale for the specified painter </dl> </td> </tr> </table> <a name="a11" doxytag="QwtScaleDraw::maxLabelWidth"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td nowrap valign="top"><b> int QwtScaleDraw::maxLabelWidth ( </b></td> <td valign="bottom"><b> QPainter * <em>p</em>, </b></td> </tr> <tr> <td></td> <td><b> int <em>worst</em> = TRUE ) const </b></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> <dl compact><dt> <b>Parameters: </b><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>p</em> </td><td> painter </td></tr> <tr><td valign=top><em>worst</em> </td><td> If <code>TRUE</code>, take the worst case. If <code>FALSE</code>, take the actual width of the largest label. </td></tr> </table> </dl><dl compact><dt> <b>Returns: </b><dd> the maximum width of a label </dl> </td> </tr> </table> <a name="a9" doxytag="QwtScaleDraw::maxWidth"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td nowrap valign="top"><b> int QwtScaleDraw::maxWidth ( </b></td> <td valign="bottom"><b> QPainter * <em>p</em>, </b></td> </tr> <tr> <td></td> <td><b> bool <em>worst</em> = TRUE ) const </b></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> <dl compact><dt> <b>Parameters: </b><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>p</em> </td><td> painter </td></tr> <tr><td valign=top><em>worst</em> </td><td> if <code>TRUE</code>, assume the worst possible case. If <code>FALSE</code>, calculate the real maximum width, which is more CPU intensive. </td></tr> </table> </dl><dl compact><dt> <b>Returns: </b><dd> the maximum width of the scale for a specified QPainter </dl> </td> </tr> </table> <a name="a7" doxytag="QwtScaleDraw::orientation"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td nowrap valign="top"><b> Orientation QwtScaleDraw::orientation ( </b></td> <td valign="bottom"><b> ) const </b></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> <dl compact><dt> <b>Returns: </b><dd> scale orientation </dl> </td> </tr> </table> <a name="a6" doxytag="QwtScaleDraw::scaleDiv"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td nowrap valign="top"><b> const <a class="el" href="class_qwtscalediv.html">QwtScaleDiv</a> & QwtScaleDraw::scaleDiv ( </b></td> <td valign="bottom"><b> ) const </b></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> <dl compact><dt> <b>Returns: </b><dd> scale division </dl> </td> </tr> </table> <a name="a4" doxytag="QwtScaleDraw::setAngleRange"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td nowrap valign="top"><b> void QwtScaleDraw::setAngleRange ( </b></td> <td valign="bottom"><b> double <em>angle1</em>, </b></td> </tr> <tr> <td></td> <td><b> double <em>angle2</em> ) </b></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Adjust the baseline circle segment for round scales. <p> <p> The baseline will be drawn from min(angle1,angle2) to max(angle1, angle2). The settings have no effect if the scale orientation is not set to QwtScaleDraw::Round. The default setting is [ -135, 135 ]. An angle of 0 degrees corresponds to the 12 o'clock position, and positive angles count in a clockwise direction. <dl compact><dt> <b>Parameters: </b><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>angle1</em> </td><td> </td></tr> <tr><td valign=top><em>angle2</em> </td><td> boundaries of the angle interval in degrees. </td></tr> </table> </dl><dl compact><dt> <b>Warning: </b><dd> <ul> <li>The angle range is limited to [-360, 360] degrees. Angles exceeding this range will be clipped. <li>For angles more than 359 degrees above or below min(angle1, angle2), scale marks will not be drawn. <li>If you need a counterclockwise scale, use QwtScaleDiv::setRange </ul> </dl> </td> </tr> </table> <a name="a3" doxytag="QwtScaleDraw::setGeometry"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td nowrap valign="top"><b> void QwtScaleDraw::setGeometry ( </b></td> <td valign="bottom"><b> int <em>xorigin</em>, </b></td> </tr> <tr> <td></td> <td><b> int <em>yorigin</em>, </b></td> </tr> <tr> <td></td> <td><b> int <em>length</em>, </b></td> </tr> <tr> <td></td> <td><b> Orientation <em>o</em> ) </b></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Specify the geometry of the scale. <p> <p> The parameters xorigin, yorigin and length have different meanings, dependent on the orientation: <dl compact> <dt>QwtScaleDraw::Left <dd>The origin is the topmost point of the baseline. The baseline is a vertical line with the specified length. Scale marks and labels are drawn at the left of the baseline. <dt>QwtScaleDraw::Right <dd>The origin is the topmost point of the baseline. The baseline is a vertical line with the specified length. Scale marks and labels are drawn at the right of the baseline. <dt>QwtScaleDraw::Top <dd>The origin is the leftmost point of the baseline. The baseline is a horizontal line with the specified length. Scale marks and labels are drawn above the baseline. <dt>QwtScaleDraw::Bottom <dd>The origin is the leftmost point of the baseline. The baseline is a horizontal line with the specified length. Scale marks and labels are drawn below the baseline. <dt>QwtScaleDraw::Round <dd>The origin is the top left corner of the bounding rectangle of the baseline circle. The baseline is the segment of a circle with a diameter of the specified length. Scale marks and labels are drawn outside the baseline circle. </dl> <dl compact><dt> <b>Parameters: </b><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>xorigin</em> </td><td> x coordinate of the origin </td></tr> <tr><td valign=top><em>yorigin</em> </td><td> y coordinate of the origin </td></tr> <tr><td valign=top><em>length</em> </td><td> length or diameter of the scale </td></tr> <tr><td valign=top><em>o</em> </td><td> The orientation </td></tr> </table> </dl> </td> </tr> </table> <a name="a5" doxytag="QwtScaleDraw::setLabelFormat"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td nowrap valign="top"><b> void QwtScaleDraw::setLabelFormat ( </b></td> <td valign="bottom"><b> char <em>f</em>, </b></td> </tr> <tr> <td></td> <td><b> int <em>prec</em> ) </b></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Set the number format for the major scale labels. <p> <p> Format character and precision have the same meaning as for the QString class. <dl compact><dt> <b>Parameters: </b><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>f</em> </td><td> format character </td></tr> <tr><td valign=top><em>prec</em> </td><td> precision </td></tr> </table> </dl><dl compact><dt> <b>See also: </b><dd> QString::setNum in the Qt manual </dl> </td> </tr> </table> <a name="a2" doxytag="QwtScaleDraw::setScale"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td nowrap valign="top"><b> void QwtScaleDraw::setScale ( </b></td> <td valign="bottom"><b> double <em>x1</em>, </b></td> </tr> <tr> <td></td> <td><b> double <em>x2</em>, </b></td> </tr> <tr> <td></td> <td><b> int <em>maxMajIntv</em>, </b></td> </tr> <tr> <td></td> <td><b> int <em>maxMinIntv</em>, </b></td> </tr> <tr> <td></td> <td><b> double <em>step</em> = 0.0, </b></td> </tr> <tr> <td></td> <td><b> int <em>logscale</em> = 0 ) </b></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Adjust the range of the scale. <p> <p> If step == 0.0, the step width is calculated automatically dependent on the maximal number of scale ticks. <dl compact><dt> <b>Parameters: </b><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>x1</em> </td><td> value at the left/low endpoint of the scale </td></tr> <tr><td valign=top><em>x2</em> </td><td> value at the right/high endpoint of the scale </td></tr> <tr><td valign=top><em>step</em> </td><td> step size (default : 0.0) </td></tr> <tr><td valign=top><em>logscale</em> </td><td> logarithmic scale (default : 0) </td></tr> </table> </dl> </td> </tr> </table> <a name="a1" doxytag="QwtScaleDraw::setScale"></a><p> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td nowrap valign="top"><b> void QwtScaleDraw::setScale ( </b></td> <td valign="bottom"><b> const <a class="el" href="class_qwtscalediv.html">QwtScaleDiv</a> & <em>s</em> ) </b></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Change the scale division. <p> <dl compact><dt> <b>Parameters: </b><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em>sd</em> </td><td> new scale division </td></tr> </table> </dl> </td> </tr> </table> <hr>The documentation for this class was generated from the following files:<ul> <li>qwt_scldraw.h<li>qwt_scldraw.cpp</ul> <hr><address><small>Generated at Thu Dec 14 00:27:20 2000 for Qwt User's Guide by <a href="http://www.stack.nl/~dimitri/doxygen/index.html"> <img src="doxygen.gif" alt="doxygen" align="middle" border=0 width=110 height=53></a>1.2.3 written by <a href="mailto:dimitri@stack.nl">Dimitri van Heesch</a>, © 1997-2000</small></address> </body> </html>