KD Chart API Documentation  3.1
KDChartMeasure.h
Go to the documentation of this file.
1 /****************************************************************************
2 **
3 ** This file is part of the KD Chart library.
4 **
5 ** SPDX-FileCopyrightText: 2001 Klarälvdalens Datakonsult AB, a KDAB Group company <info@kdab.com>
6 **
7 ** SPDX-License-Identifier: MIT
8 **
9 ****************************************************************************/
10 
11 #ifndef KDCHARTMEASURE_H
12 #define KDCHARTMEASURE_H
13 
14 #include "KDChartEnums.h"
15 #include "KDChartGlobal.h"
16 #include <QDebug>
17 #include <QStack>
18 #include <Qt>
19 
26 QT_BEGIN_NAMESPACE
27 class QObject;
28 class QPaintDevice;
29 QT_END_NAMESPACE
30 
31 namespace KDChart {
32 
39 class KDCHART_EXPORT Measure
40 {
41 public:
42  Measure();
43  /*implicit*/ Measure(qreal value,
46  Measure(const Measure &);
47  Measure &operator=(const Measure &);
48 
49  void setValue(qreal val)
50  {
51  mValue = val;
52  }
53  qreal value() const
54  {
55  return mValue;
56  }
57 
59  {
60  mMode = mode;
61  }
63  {
64  return mMode;
65  }
66 
71  void setRelativeMode(const QObject *area,
73  {
75  mArea = area;
76  mOrientation = orientation;
77  }
78 
89  void setAbsoluteValue(qreal val)
90  {
92  mValue = val;
93  }
94 
99  void setReferenceArea(const QObject *area)
100  {
101  mArea = area;
102  }
107  const QObject *referenceArea() const
108  {
109  return mArea;
110  }
111 
113  {
114  mOrientation = orientation;
115  }
117  {
118  return mOrientation;
119  }
120 
125  qreal calculatedValue(const QObject *autoArea, KDChartEnums::MeasureOrientation autoOrientation) const;
126  qreal calculatedValue(const QSizeF &autoSize, KDChartEnums::MeasureOrientation autoOrientation) const;
127  const QSizeF sizeOfArea(const QObject *area) const;
128 
129  bool operator==(const Measure &) const;
130  bool operator!=(const Measure &other) const
131  {
132  return !operator==(other);
133  }
134 
135 private:
136  qreal mValue = 0.0;
138  const QObject *mArea = nullptr;
140 }; // End of class Measure
141 
154 {
155 public:
156  static GlobalMeasureScaling *instance();
157 
159  virtual ~GlobalMeasureScaling();
160 
161 public:
166  static void setFactors(qreal factorX, qreal factorY);
167 
172  static void resetFactors();
173 
177  static const QPair<qreal, qreal> currentFactors();
178 
182  static void setPaintDevice(QPaintDevice *paintDevice);
183 
187  static QPaintDevice *paintDevice();
188 
189 private:
190  QStack<QPair<qreal, qreal>> mFactors;
191  QPaintDevice *m_paintDevice = nullptr;
192 };
193 }
194 
195 #if !defined(QT_NO_DEBUG_STREAM)
196 KDCHART_EXPORT QDebug operator<<(QDebug, const KDChart::Measure &);
197 #endif /* QT_NO_DEBUG_STREAM */
198 
199 #endif // KDCHARTMEASURE_H
Definition of global enums.
Contains KDChart macros.
KDCHART_EXPORT QDebug operator<<(QDebug, const KDChart::Measure &)
@ MeasureCalculationModeRelative
Definition: KDChartEnums.h:216
@ MeasureCalculationModeAbsolute
Definition: KDChartEnums.h:215
@ MeasureCalculationModeAuto
Definition: KDChartEnums.h:217
@ MeasureOrientationAuto
Definition: KDChartEnums.h:287
static const QPair< qreal, qreal > currentFactors()
static void setFactors(qreal factorX, qreal factorY)
static GlobalMeasureScaling * instance()
static void setPaintDevice(QPaintDevice *paintDevice)
static QPaintDevice * paintDevice()
Measure is used to specify relative and absolute sizes in KDChart, e.g. font sizes.
void setAbsoluteValue(qreal val)
void setValue(qreal val)
const QObject * referenceArea() const
void setReferenceOrientation(KDChartEnums::MeasureOrientation orientation)
bool operator!=(const Measure &other) const
qreal value() const
void setReferenceArea(const QObject *area)
void setCalculationMode(KDChartEnums::MeasureCalculationMode mode)
void setRelativeMode(const QObject *area, KDChartEnums::MeasureOrientation orientation)
KDChartEnums::MeasureOrientation referenceOrientation() const
KDChartEnums::MeasureCalculationMode calculationMode() const
bool operator==(const TickInfo &, const TickInfo &)

© 2001 Klarälvdalens Datakonsult AB (KDAB)
"The Qt, C++ and OpenGL Experts"
https://www.kdab.com/
https://www.kdab.com/development-resources/qt-tools/kd-chart/
Generated by doxygen 1.9.1