00001
00002
00003
00004
00005
00006
00007
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
00178
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 }