##// END OF EJS Templates
Bugfixes for layout...
Bugfixes for layout * fix division by zero when delta less then 1 in barcategory axis * fix one frame flash with wrong layout of legend during show event * fix wrong margin size when legend in bottom aligment * adds initlization flag so size hints are always corect * fixes wrong minHeight calcualtion in barcateogry axisY

File last commit:

r1671:86eb2ea7496a
r1837:21f33dedea6d
Show More
pieslicedata_p.h
148 lines | 3.8 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;
Marek Rosa
Added QDonutGroup class
r1671
Marek Rosa
Added initial donut chart support to Pie series
r1670 m_donut = false;
Marek Rosa
Added QDonutGroup class
r1671 m_innerRadius = 0;
Jani Honkonen
Fix setting custom color to pie. Now the pie knows if the color is set by the user.
r691 }
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;
Marek Rosa
Added QDonutGroup class
r1671
Marek Rosa
Added initial donut chart support to Pie series
r1670 bool m_donut;
Marek Rosa
Added QDonutGroup class
r1671 qreal m_innerRadius;
Jani Honkonen
Move PieSliceData to own header
r675 };
QTCOMMERCIALCHART_END_NAMESPACE
#endif // PIESLICEDATA_P_H