File indexing completed on 2024-04-28 03:56:42

0001 /*  -*- C++ -*-
0002     This file is part of the KDE libraries
0003     SPDX-FileCopyrightText: 2003 Jason Harris <kstars@30doradus.org>
0004 
0005     SPDX-License-Identifier: LGPL-2.0-or-later
0006 */
0007 
0008 #include "kplotpoint.h"
0009 
0010 #include <QPointF>
0011 #include <QtAlgorithms>
0012 
0013 class KPlotPoint::Private
0014 {
0015 public:
0016     Private(KPlotPoint *qq, const QPointF &p, const QString &l, double bw)
0017         : q(qq)
0018         , point(p)
0019         , label(l)
0020         , barWidth(bw)
0021     {
0022     }
0023 
0024     KPlotPoint *q;
0025 
0026     QPointF point;
0027     QString label;
0028     double barWidth;
0029 };
0030 
0031 KPlotPoint::KPlotPoint()
0032     : d(new Private(this, QPointF(), QString(), 0.0))
0033 {
0034 }
0035 
0036 KPlotPoint::KPlotPoint(double x, double y, const QString &label, double barWidth)
0037     : d(new Private(this, QPointF(x, y), label, barWidth))
0038 {
0039 }
0040 
0041 KPlotPoint::KPlotPoint(const QPointF &p, const QString &label, double barWidth)
0042     : d(new Private(this, p, label, barWidth))
0043 {
0044 }
0045 
0046 KPlotPoint::~KPlotPoint() = default;
0047 
0048 QPointF KPlotPoint::position() const
0049 {
0050     return d->point;
0051 }
0052 
0053 void KPlotPoint::setPosition(const QPointF &pos)
0054 {
0055     d->point = pos;
0056 }
0057 
0058 double KPlotPoint::x() const
0059 {
0060     return d->point.x();
0061 }
0062 
0063 void KPlotPoint::setX(double x)
0064 {
0065     d->point.setX(x);
0066 }
0067 
0068 double KPlotPoint::y() const
0069 {
0070     return d->point.y();
0071 }
0072 
0073 void KPlotPoint::setY(double y)
0074 {
0075     d->point.setY(y);
0076 }
0077 
0078 QString KPlotPoint::label() const
0079 {
0080     return d->label;
0081 }
0082 
0083 void KPlotPoint::setLabel(const QString &label)
0084 {
0085     d->label = label;
0086 }
0087 
0088 double KPlotPoint::barWidth() const
0089 {
0090     return d->barWidth;
0091 }
0092 
0093 void KPlotPoint::setBarWidth(double w)
0094 {
0095     d->barWidth = w;
0096 }