File indexing completed on 2024-04-28 15:29:29
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() 0047 { 0048 delete d; 0049 } 0050 0051 QPointF KPlotPoint::position() const 0052 { 0053 return d->point; 0054 } 0055 0056 void KPlotPoint::setPosition(const QPointF &pos) 0057 { 0058 d->point = pos; 0059 } 0060 0061 double KPlotPoint::x() const 0062 { 0063 return d->point.x(); 0064 } 0065 0066 void KPlotPoint::setX(double x) 0067 { 0068 d->point.setX(x); 0069 } 0070 0071 double KPlotPoint::y() const 0072 { 0073 return d->point.y(); 0074 } 0075 0076 void KPlotPoint::setY(double y) 0077 { 0078 d->point.setY(y); 0079 } 0080 0081 QString KPlotPoint::label() const 0082 { 0083 return d->label; 0084 } 0085 0086 void KPlotPoint::setLabel(const QString &label) 0087 { 0088 d->label = label; 0089 } 0090 0091 double KPlotPoint::barWidth() const 0092 { 0093 return d->barWidth; 0094 } 0095 0096 void KPlotPoint::setBarWidth(double w) 0097 { 0098 d->barWidth = w; 0099 }