##// END OF EJS Templates
Combines color,axis,custom into one example
Combines color,axis,custom into one example

File last commit:

r765:eecdecc834b2
r767:ab751f5c733f
Show More
pieslicedata_p.h
110 lines | 2.5 KiB | text/x-c | CLexer
Jani Honkonen
Move PieSliceData to own header
r675 #ifndef PIESLICEDATA_P_H
#define PIESLICEDATA_P_H
#include <qchartglobal.h>
#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); }
inline bool operator!=(const T &other) { return T::operator !=(other); }
inline bool operator!=(const Themed &other)
{
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;
}
bool operator!=(const PieSliceData &other)
{
if (m_value != other.m_value)
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 }
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