##// END OF EJS Templates
PieModelMapper properties first and count moved to Vertical and Horizontal mappers with more descriptive names
PieModelMapper properties first and count moved to Vertical and Horizontal mappers with more descriptive names

File last commit:

r1450:7bf1a442df6a
r1499:436d384fa943
Show More
pieslicedata_p.h
142 lines | 3.7 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$
**
****************************************************************************/
unknown
Added missing warning about private implementation
r1366 // W A R N I N G
// -------------
//
// This file is not part of the QtCommercial Chart API. It exists purely as an
// implementation detail. This header file may change from version to
// version without notice, or even be removed.
//
// We mean it.
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
pie: add label position to slice
r1450 m_labelPosition = QPieSlice::LabelOutside;
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
pie: add label position to slice
r1450 m_labelPosition != other.m_labelPosition ||
Jani Honkonen
Fix issues with comparing equality of floating values in pie
r765 !qFuzzyIsNull(m_labelArmLengthFactor - other.m_labelArmLengthFactor) ||
Tero Ahola
Use labelBrush instead of labelPen for text labels
r1307 m_labelBrush != other.m_labelBrush)
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
pie: add label position to slice
r1450 QPieSlice::LabelPosition m_labelPosition;
Jani Honkonen
Move PieSliceData to own header
r675 qreal m_labelArmLengthFactor;
Tero Ahola
Use labelBrush instead of labelPen for text labels
r1307 Themed<QBrush> m_labelBrush;
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