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 Tue Nov 16 21:12:20 2004 for Qwt User's Guide by doxygen 1.3.8