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 }