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

qwt_plot_axis.cpp

00001 /* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
00002  * Qwt Widget Library
00003  * Copyright (C) 1997   Josef Wilgen
00004  * Copyright (C) 2002   Uwe Rathmann
00005  * 
00006  * This library is free software; you can redistribute it and/or
00007  * modify it under the terms of the Qwt License, Version 1.0
00008  *****************************************************************************/
00009 
00010 #include "qwt_plot.h"
00011 #include "qwt_scale.h"
00012 #include "qwt_math.h"
00013 
00018 const QwtScale *QwtPlot::axis(int axis) const
00019 {
00020     return axisEnabled(axis) ? d_scale[axis] : 0;
00021 }
00022 
00027 bool QwtPlot::axisAutoScale(int axis) const
00028 {
00029     if (axisValid(axis))
00030         return d_as[axis].autoScale();
00031     else
00032         return FALSE;
00033     
00034 }
00035 
00040 bool QwtPlot::axisEnabled(int axis) const
00041 {
00042     if (axisValid(axis))
00043         return d_axisEnabled[axis];
00044     else
00045         return FALSE;
00046 }
00047 
00052 QFont QwtPlot::axisFont(int axis) const
00053 {
00054     if (axisValid(axis))
00055         return d_scale[axis]->font();
00056     else
00057         return QFont();
00058     
00059 }
00060 
00068 bool QwtPlot::axisMargins(int axis, double &mlo, double &mhi) const
00069 {
00070     int rv = FALSE;
00071     
00072     if (axisValid(axis))
00073     {
00074         mlo = d_as[axis].loMargin();
00075         mhi = d_as[axis].hiMargin();
00076         rv = TRUE;
00077     }
00078     
00079     return rv;
00080 }
00081 
00086 int QwtPlot::axisMaxMajor(int axis) const
00087 {
00088     if (axisValid(axis))
00089         return d_as[axis].maxMajor();
00090     else
00091         return 0;
00092 }
00093 
00098 int QwtPlot::axisMaxMinor(int axis) const
00099 {
00100     if (axisValid(axis))
00101         return d_as[axis].maxMinor();
00102     else
00103         return 0;
00104 }
00105 
00111 int QwtPlot::axisOptions(int axis) const
00112 {
00113     if (axisValid(axis))
00114         return d_as[axis].options();
00115     else
00116         return 0;
00117 }
00118 
00127 double QwtPlot::axisReference(int axis) const
00128 {
00129     if (axisValid(axis))
00130         return d_as[axis].reference();
00131     else
00132         return 0.0;
00133 }
00134 
00140 const QwtScaleDiv *QwtPlot::axisScale(int axis) const
00141 {
00142     if (!axisValid(axis))
00143         return NULL;
00144 
00145     return &d_as[axis].scaleDiv();
00146 }
00147 
00154 const QwtScaleDraw *QwtPlot::axisScaleDraw(int axis) const
00155 {
00156     if (!axisValid(axis))
00157         return NULL;
00158 
00159     return d_scale[axis]->scaleDraw();
00160 }
00161 
00170 void QwtPlot::axisLabelFormat(int axis, char &f, 
00171     int &prec, int &fieldwidth) const
00172 {
00173     if (axisValid(axis))
00174         d_scale[axis]->labelFormat(f, prec, fieldwidth);
00175     else
00176     {
00177                 // to do something useful for a bad call we
00178                 // return the default values of QwtScaleDraw
00179         f = 'g'; 
00180         prec = 4;
00181         fieldwidth = 0;
00182     }
00183 }
00184 
00189 QString QwtPlot::axisTitle(int axis) const
00190 {
00191     if (axisValid(axis))
00192         return d_scale[axis]->title();
00193     else
00194         return QString::null;
00195 }
00196 
00201 QFont QwtPlot::axisTitleFont(int axis) const
00202 {
00203     if (axisValid(axis))
00204         return d_scale[axis]->titleFont();
00205     else
00206         return QFont();
00207 }
00208 
00214 int QwtPlot::axisTitleAlignment(int axis) const
00215 {
00216     if (axisValid(axis))
00217         return d_scale[axis]->titleAlignment();
00218     else
00219         return 0;
00220 }
00221 
00229 void QwtPlot::changeAxisOptions(int axis, int opt, bool value)
00230 {
00231     if (axisValid(axis))
00232     {
00233         d_as[axis].changeOptions(opt, value);
00234         autoRefresh();
00235     }
00236 }
00237 
00238 
00251 void QwtPlot::enableAxis(int axis, bool tf)
00252 {
00253     if (axisValid(axis))
00254     {
00255         d_axisEnabled[axis] = tf;
00256         updateLayout();
00257     }
00258 }
00259 
00268 double QwtPlot::invTransform(int axis, int pos) const
00269 {
00270     if (axisValid(axis))
00271        return(canvasMap(axis).invTransform(pos));
00272     else
00273        return 0.0;
00274 }
00275 
00276 
00284 int QwtPlot::transform(int axis, double value) const
00285 {
00286     if (axisValid(axis))
00287        return(canvasMap(axis).transform(value));
00288     else
00289        return 0;
00290     
00291 }
00292 
00300 void QwtPlot::setAxisFont(int axis, const QFont &f)
00301 {
00302     if (axisValid(axis))
00303         d_scale[axis]->setFont(f);
00304 }
00305 
00315 void QwtPlot::setAxisMargins(int axis, double mlo, double mhi)
00316 {
00317     if (axisValid(axis))
00318     {
00319         d_as[axis].setMargins(mlo, mhi);
00320         autoRefresh();
00321     }
00322 }
00323 
00330 void QwtPlot::setAxisOptions(int axis, int opt)
00331 {
00332     if (axisValid(axis))
00333     {
00334         d_as[axis].setOptions(opt);
00335         autoRefresh();
00336     }
00337 }
00338 
00339 
00349 void QwtPlot::setAxisAutoScale(int axis)
00350 {
00351     if (axisValid(axis))
00352     {
00353         d_as[axis].setAutoScale();
00354         autoRefresh();
00355     }
00356 }
00357 
00367 void QwtPlot::setAxisScale(int axis, double min, double max, double step)
00368 {
00369     if (axisValid(axis))
00370     {
00371         d_as[axis].setScale(min,max,step);
00372         autoRefresh();
00373     }
00374     
00375 }
00376 
00392 void QwtPlot::setAxisScaleDraw(int axis, QwtScaleDraw *scaleDraw)
00393 {
00394     if (axisValid(axis))
00395     {
00396         d_scale[axis]->setScaleDraw(scaleDraw);
00397         autoRefresh();
00398     }
00399 }
00400 
00409 void QwtPlot::setAxisLabelFormat(int axis, char f, int prec, int fieldwidth)
00410 {
00411     if (axisValid(axis))
00412         d_scale[axis]->setLabelFormat(f, prec, fieldwidth);
00413 }
00414 
00421 void QwtPlot::setAxisLabelAlignment(int axis, int alignment)
00422 {
00423     if (axisValid(axis))
00424         d_scale[axis]->setLabelAlignment(alignment);
00425 }
00426 
00434 void QwtPlot::setAxisLabelRotation(int axis, double rotation)
00435 {
00436     if (axisValid(axis))
00437         d_scale[axis]->setLabelRotation(rotation);
00438 }
00439 
00445 void QwtPlot::setAxisTitleFont(int axis, const QFont &f)
00446 {
00447     if (axisValid(axis))
00448         d_scale[axis]->setTitleFont(f);
00449 }
00450 
00457 void QwtPlot::setAxisTitleAlignment(int axis, int align)
00458 {
00459     if (axisValid(axis))
00460         d_scale[axis]->setTitleAlignment(align);
00461 }
00462 
00463 
00470 void QwtPlot::setAxisMaxMinor(int axis, int maxMinor)
00471 {
00472     if (axisValid(axis))
00473     {
00474         d_as[axis].setMaxMinor(maxMinor);
00475         autoRefresh();
00476     }
00477 }
00478 
00485 void QwtPlot::setAxisMaxMajor(int axis, int maxMajor)
00486 {
00487     if (axisValid(axis))
00488     {
00489         d_as[axis].setMaxMajor(maxMajor);
00490         autoRefresh();
00491     }
00492 }
00493 
00502 void QwtPlot::setAxisReference(int axis, double value)
00503 {
00504     if (axisValid(axis))
00505     {
00506         d_as[axis].setReference(value);
00507         autoRefresh();
00508     }
00509 }
00510 
00516 void QwtPlot::setAxisTitle(int axis, const QString &t)
00517 {
00518     if (axisValid(axis))
00519         d_scale[axis]->setTitle(t);
00520 }

Generated on Sun Nov 21 11:12:43 2004 for Qwt User's Guide by doxygen 1.3.5