##// END OF EJS Templates
Wrong name of the project in test.pro
Wrong name of the project in test.pro

File last commit:

r822:924499b21823
r964:3d3abf0fb029
Show More
pieslicedata_p.h
142 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>
Jani Honkonen
Fix setting custom color to pie. Now the pie knows if the color is set by the user.
r691 #include <QDebug>
Jani Honkonen
Move PieSliceData to own header
r675
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