##// END OF EJS Templates
For BarChart labels for legend are now taken from model's headerData (row or column)
For BarChart labels for legend are now taken from model's headerData (row or column)

File last commit:

r996:ce5f1c868418
r1012:63ded67c2d2b
Show More
pieslicedata_p.h
141 lines | 3.5 KiB | text/x-c | CLexer
Jani Honkonen
Add license headers
r794 /****************************************************************************
**
** Copyright (C) 2012 Digia Plc
** All rights reserved.
** For any questions to Digia, please use contact form at http://qt.digia.com
**
** This file is part of the Qt Commercial Charts Add-on.
**
** $QT_BEGIN_LICENSE$
** Licensees holding valid Qt Commercial licenses may use this file in
** accordance with the Qt Commercial License Agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and Digia.
**
** If you have questions regarding the use of this file, please use
** contact form at http://qt.digia.com
** $QT_END_LICENSE$
**
****************************************************************************/
Jani Honkonen
Move PieSliceData to own header
r675 #ifndef PIESLICEDATA_P_H
#define PIESLICEDATA_P_H
Jani Honkonen
Refactoring QPieSlice private implementation. Removes the useless QPieSlicePrivate layer and uses PieSliceData directly.
r818 #include "qchartglobal.h"
#include "qpieslice.h"
Jani Honkonen
Move PieSliceData to own header
r675 #include <QPen>
#include <QBrush>
QTCOMMERCIALCHART_BEGIN_NAMESPACE
Jani Honkonen
Fix setting custom color to pie. Now the pie knows if the color is set by the user.
r691 template <class T>
class Themed : public T
{
public:
Themed():m_isThemed(true) {}
inline T &operator=(const T &other) { return T::operator =(other); }
Jani Honkonen
Add license headers
r794 inline bool operator!=(const T &other) const { return T::operator !=(other); }
inline bool operator!=(const Themed &other) const
Jani Honkonen
Fix setting custom color to pie. Now the pie knows if the color is set by the user.
r691 {
if (T::operator !=(other))
return true;
if (m_isThemed != other.m_isThemed)
return true;
return false;
}
inline void setThemed(bool state) { m_isThemed = state; }
inline bool isThemed() const { return m_isThemed; }
private:
bool m_isThemed;
};
Jani Honkonen
Move PieSliceData to own header
r675 class PieSliceData
{
public:
PieSliceData()
{
m_value = 0;
Jani Honkonen
Fix setting custom color to pie. Now the pie knows if the color is set by the user.
r691
Jani Honkonen
Move PieSliceData to own header
r675 m_isExploded = false;
m_explodeDistanceFactor = 0.15;
Jani Honkonen
Fix setting custom color to pie. Now the pie knows if the color is set by the user.
r691
m_isLabelVisible = false;
Jani Honkonen
Move PieSliceData to own header
r675 m_labelArmLengthFactor = 0.15;
Jani Honkonen
Fix setting custom color to pie. Now the pie knows if the color is set by the user.
r691
m_percentage = 0;
m_radius = 0;
m_startAngle = 0;
m_angleSpan = 0;
}
Jani Honkonen
Add license headers
r794 bool operator!=(const PieSliceData &other) const
Jani Honkonen
Fix setting custom color to pie. Now the pie knows if the color is set by the user.
r691 {
Jani Honkonen
Use qFuzzyIsNull to compare (in)equality of real values
r768 if (!qFuzzyIsNull(m_value - other.m_value))
Jani Honkonen
Fix setting custom color to pie. Now the pie knows if the color is set by the user.
r691 return true;
if (m_slicePen != other.m_slicePen ||
m_sliceBrush != other.m_sliceBrush)
return true;
if (m_isExploded != other.m_isExploded ||
Jani Honkonen
Fix issues with comparing equality of floating values in pie
r765 !qFuzzyIsNull(m_explodeDistanceFactor - other.m_explodeDistanceFactor))
Jani Honkonen
Fix setting custom color to pie. Now the pie knows if the color is set by the user.
r691 return true;
if (m_isLabelVisible != other.m_isLabelVisible ||
m_labelText != other.m_labelText ||
m_labelFont != other.m_labelFont ||
Jani Honkonen
Fix issues with comparing equality of floating values in pie
r765 !qFuzzyIsNull(m_labelArmLengthFactor - other.m_labelArmLengthFactor) ||
Jani Honkonen
Get pie slice label font and pen from theme
r714 m_labelPen != other.m_labelPen)
Jani Honkonen
Fix setting custom color to pie. Now the pie knows if the color is set by the user.
r691 return true;
Jani Honkonen
Fix issues with comparing equality of floating values in pie
r765 if (!qFuzzyIsNull(m_percentage - other.m_percentage) ||
Jani Honkonen
Fix setting custom color to pie. Now the pie knows if the color is set by the user.
r691 m_center != other.m_center ||
Jani Honkonen
Fix issues with comparing equality of floating values in pie
r765 !qFuzzyIsNull(m_radius - other.m_radius) ||
!qFuzzyIsNull(m_startAngle - other.m_startAngle) ||
!qFuzzyIsNull(m_angleSpan - other.m_angleSpan))
Jani Honkonen
Fix setting custom color to pie. Now the pie knows if the color is set by the user.
r691 return true;
return false;
Jani Honkonen
Move PieSliceData to own header
r675 }
Jani Honkonen
Refactoring QPieSlice private implementation. Removes the useless QPieSlicePrivate layer and uses PieSliceData directly.
r818 void emitChangedSignal(QPieSlice *s)
{
emit s->changed();
}
Jani Honkonen
Polish QPieSlice API by removing the DataPtr stuff
r822 static PieSliceData &data(QPieSlice *slice)
{
Q_ASSERT(slice);
return *slice->d;
}
Jani Honkonen
Move PieSliceData to own header
r675 qreal m_value;
Jani Honkonen
Fix setting custom color to pie. Now the pie knows if the color is set by the user.
r691 Themed<QPen> m_slicePen;
Themed<QBrush> m_sliceBrush;
Jani Honkonen
Move PieSliceData to own header
r675
bool m_isExploded;
qreal m_explodeDistanceFactor;
Jani Honkonen
Fix setting custom color to pie. Now the pie knows if the color is set by the user.
r691 bool m_isLabelVisible;
Jani Honkonen
Move PieSliceData to own header
r675 QString m_labelText;
Jani Honkonen
Fix setting custom color to pie. Now the pie knows if the color is set by the user.
r691 Themed<QFont> m_labelFont;
Jani Honkonen
Move PieSliceData to own header
r675 qreal m_labelArmLengthFactor;
Jani Honkonen
Get pie slice label font and pen from theme
r714 Themed<QPen> m_labelPen;
Jani Honkonen
Move PieSliceData to own header
r675
qreal m_percentage;
QPointF m_center;
qreal m_radius;
qreal m_startAngle;
qreal m_angleSpan;
};
QTCOMMERCIALCHART_END_NAMESPACE
#endif // PIESLICEDATA_P_H