summaryrefslogtreecommitdiffstats
path: root/src/piechart/qpieslice.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/piechart/qpieslice.cpp')
-rw-r--r--src/piechart/qpieslice.cpp789
1 files changed, 0 insertions, 789 deletions
diff --git a/src/piechart/qpieslice.cpp b/src/piechart/qpieslice.cpp
deleted file mode 100644
index dac41100..00000000
--- a/src/piechart/qpieslice.cpp
+++ /dev/null
@@ -1,789 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2014 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 Enterprise Charts Add-on.
-**
-** $QT_BEGIN_LICENSE$
-** Licensees holding valid Qt Enterprise licenses may use this file in
-** accordance with the Qt Enterprise 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$
-**
-****************************************************************************/
-
-#include "qpieslice.h"
-#include "qpieslice_p.h"
-
-QTCOMMERCIALCHART_BEGIN_NAMESPACE
-
-/*!
- \class QPieSlice
- \inmodule Qt Charts
- \brief Defines a slice in pie series.
-
- This object defines the properties of a single slice in a QPieSeries.
-
- In addition to the obvious value and label properties the user can also control
- the visual appearance of a slice. By modifying the visual appearance also means that
- the user is overriding the default appearance set by the theme.
-
- Note that if the user has customized slices and theme is changed all customizations will be lost.
-
- To enable user interaction with the pie some basic signals are provided about clicking and hovering.
-*/
-
-#ifdef QDOC_QT5
-/*!
- \qmltype PieSlice
- \instantiates QPieSlice
- \inqmlmodule QtCommercial.Chart
-
- \include doc/src/pieslice.qdocinc
-*/
-#else
-/*!
- \qmlclass PieSlice QPieSlice
-
- \include ../doc/src/pieslice.qdocinc
-*/
-#endif
-
-/*!
- \enum QPieSlice::LabelPosition
-
- This enum describes the position of the slice label.
-
- \value LabelOutside Label is outside the slice with an arm.
- \value LabelInsideHorizontal Label is centered inside the slice and laid out horizontally.
- \value LabelInsideTangential Label is centered inside the slice and rotated to be parallel to the tangential of the slice's arc.
- \value LabelInsideNormal Label is centered inside the slice rotated to be parallel to the normal of the slice's arc.
- */
-
-/*!
- \property QPieSlice::label
- Label of the slice.
- \sa labelVisible, labelBrush, labelFont, labelArmLengthFactor
-*/
-/*!
- \qmlproperty string PieSlice::label
- Label (text) of the slice.
-*/
-
-/*!
- \fn void QPieSlice::labelChanged()
- This signal emitted when the slice label has been changed.
- \sa label
-*/
-/*!
- \qmlsignal PieSlice::onLabelChanged()
- This signal emitted when the slice label has been changed.
- \sa label
-*/
-
-/*!
- \property QPieSlice::value
- Value of the slice.
- Note that if users sets a negative value it is converted to a positive value.
- \sa percentage(), QPieSeries::sum()
-*/
-/*!
- \qmlproperty real PieSlice::value
- Value of the slice. Note that if users sets a negative value it is converted to a positive value.
-*/
-
-/*!
- \fn void QPieSlice::valueChanged()
- This signal is emitted when the slice value changes.
- \sa value
-*/
-/*!
- \qmlsignal PieSlice::onValueChanged()
- This signal is emitted when the slice value changes.
- \sa value
-*/
-
-/*!
- \property QPieSlice::labelVisible
- Defines the visibility of slice label. By default the label is not visible.
- \sa label, labelBrush, labelFont, labelArmLengthFactor
-*/
-/*!
- \qmlproperty bool PieSlice::labelVisible
- Defines the visibility of slice label. By default the label is not visible.
-*/
-
-/*!
- \fn void QPieSlice::labelVisibleChanged()
- This signal emitted when visibility of the slice label has changed.
- \sa labelVisible
-*/
-/*!
- \qmlsignal PieSlice::onLabelVisibleChanged()
- This signal emitted when visibility of the slice label has changed.
- \sa labelVisible
-*/
-
-/*!
- \property QPieSlice::exploded
- If set to true the slice is "exploded" away from the pie.
- \sa explodeDistanceFactor
-*/
-/*!
- \qmlproperty bool PieSlice::exploded
- If set to true the slice is "exploded" away from the pie.
- \sa explodeDistanceFactor
-*/
-
-/*!
- \property QPieSlice::pen
- Pen used to draw the slice border.
-*/
-
-/*!
- \fn void QPieSlice::penChanged()
- This signal is emitted when the pen of the slice has changed.
- \sa pen
-*/
-
-/*!
- \property QPieSlice::borderColor
- Color used to draw the slice border.
- This is a convenience property for modifying the slice pen.
- \sa pen, borderWidth
-*/
-/*!
- \qmlproperty color PieSlice::borderColor
- Color used to draw the slice border (pen color).
- \sa borderWidth
-*/
-
-/*!
- \fn void QPieSlice::borderColorChanged()
- This signal is emitted when slice border color changes.
- \sa pen, borderColor
-*/
-/*!
- \qmlsignal PieSlice::onBorderColorChanged()
- This signal is emitted when slice border color changes.
- \sa borderColor
-*/
-
-/*!
- \property QPieSlice::borderWidth
- Width of the slice border.
- This is a convenience property for modifying the slice pen.
- \sa pen, borderColor
-*/
-/*!
- \qmlproperty int PieSlice::borderWidth
- Width of the slice border.
- This is a convenience property for modifying the slice pen.
- \sa borderColor
-*/
-
-/*!
- \fn void QPieSlice::borderWidthChanged()
- This signal is emitted when slice border width changes.
- \sa pen, borderWidth
-*/
-/*!
- \qmlsignal PieSlice::onBorderWidthChanged()
- This signal is emitted when slice border width changes.
- \sa borderWidth
-*/
-
-/*!
- \property QPieSlice::brush
- Brush used to draw the slice.
-*/
-
-/*!
- \fn void QPieSlice::brushChanged()
- This signal is emitted when the brush of the slice has changed.
- \sa brush
-*/
-
-/*!
- \qmlproperty QString PieSlice::brushFilename
- The name of the file used as a brush for the slice.
-*/
-
-/*!
- \property QPieSlice::color
- Fill (brush) color of the slice.
- This is a convenience property for modifying the slice brush.
- \sa brush
-*/
-/*!
- \qmlproperty color PieSlice::color
- Fill (brush) color of the slice.
-*/
-
-/*!
- \fn void QPieSlice::colorChanged()
- This signal is emitted when slice color changes.
- \sa brush
-*/
-/*!
- \qmlsignal PieSlice::onColorChanged()
- This signal is emitted when slice color changes.
-*/
-
-/*!
- \property QPieSlice::labelBrush
- Brush used to draw label and label arm of the slice.
- \sa label, labelVisible, labelFont, labelArmLengthFactor
-*/
-
-/*!
- \fn void QPieSlice::labelBrushChanged()
- This signal is emitted when the label brush of the slice has changed.
- \sa labelBrush
-*/
-
-/*!
- \property QPieSlice::labelColor
- Color used to draw the slice label.
- This is a convenience property for modifying the slice label brush.
- \sa labelBrush
-*/
-/*!
- \qmlproperty color PieSlice::labelColor
- Color used to draw the slice label.
-*/
-
-/*!
- \fn void QPieSlice::labelColorChanged()
- This signal is emitted when slice label color changes.
- \sa labelColor
-*/
-/*!
- \qmlsignal PieSlice::onLabelColorChanged()
- This signal is emitted when slice label color changes.
- \sa labelColor
-*/
-
-/*!
- \property QPieSlice::labelFont
- Font used for drawing label text.
- \sa label, labelVisible, labelArmLengthFactor
-*/
-
-/*!
- \fn void QPieSlice::labelFontChanged()
- This signal is emitted when the label font of the slice has changed.
- \sa labelFont
-*/
-
-/*!
- \qmlproperty Font PieSlice::labelFont
-
- Defines the font used for slice label.
-
- See the Qt documentation for more details of Font.
-
- \sa labelVisible, labelPosition
-*/
-
-/*!
- \property QPieSlice::labelPosition
- Position of the slice label.
- \sa label, labelVisible
-*/
-/*!
- \qmlproperty LabelPosition PieSlice::labelPosition
- Position of the slice label. One of PieSlice.LabelOutside, PieSlice.LabelInsideHorizontal,
- PieSlice.LabelInsideTangential or PieSlice.LabelInsideNormal. By default the position is
- PieSlice.LabelOutside.
- \sa labelVisible
-*/
-
-/*!
- \property QPieSlice::labelArmLengthFactor
- Defines the length of the label arm.
- The factor is relative to pie radius. For example:
- 1.0 means the length is the same as the radius.
- 0.5 means the length is half of the radius.
- By default the arm length is 0.15
- \sa label, labelVisible, labelBrush, labelFont
-*/
-/*!
- \qmlproperty real PieSlice::labelArmLengthFactor
- Defines the length of the label arm.
- The factor is relative to pie radius. For example:
- 1.0 means the length is the same as the radius.
- 0.5 means the length is half of the radius.
- By default the arm length is 0.15
- \sa labelVisible
-*/
-
-/*!
- \property QPieSlice::explodeDistanceFactor
- When the slice is exploded this factor defines how far the slice is exploded away from the pie.
- The factor is relative to pie radius. For example:
- 1.0 means the distance is the same as the radius.
- 0.5 means the distance is half of the radius.
- By default the distance is is 0.15
- \sa exploded
-*/
-/*!
- \qmlproperty real PieSlice::explodeDistanceFactor
- When the slice is exploded this factor defines how far the slice is exploded away from the pie.
- The factor is relative to pie radius. For example:
- 1.0 means the distance is the same as the radius.
- 0.5 means the distance is half of the radius.
- By default the distance is is 0.15
- \sa exploded
-*/
-
-/*!
- \property QPieSlice::percentage
- Percentage of the slice compared to the sum of all slices in the series.
- The actual value ranges from 0.0 to 1.0.
- Updated automatically once the slice is added to the series.
- \sa value, QPieSeries::sum
-*/
-/*!
- \qmlproperty real PieSlice::percentage
- Percentage of the slice compared to the sum of all slices in the series.
- The actual value ranges from 0.0 to 1.0.
- Updated automatically once the slice is added to the series.
-*/
-
-/*!
- \fn void QPieSlice::percentageChanged()
- This signal is emitted when the percentage of the slice has changed.
- \sa percentage
-*/
-/*!
- \qmlsignal void PieSlice::onPercentageChanged()
- This signal is emitted when the percentage of the slice has changed.
- \sa percentage
-*/
-
-/*!
- \property QPieSlice::startAngle
- Defines the starting angle of this slice in the series it belongs to.
- Full pie is 360 degrees where 0 degrees is at 12 a'clock.
- Updated automatically once the slice is added to the series.
-*/
-/*!
- \qmlproperty real PieSlice::startAngle
- Defines the starting angle of this slice in the series it belongs to.
- Full pie is 360 degrees where 0 degrees is at 12 a'clock.
- Updated automatically once the slice is added to the series.
-*/
-
-/*!
- \fn void QPieSlice::startAngleChanged()
- This signal is emitted when the starting angle f the slice has changed.
- \sa startAngle
-*/
-/*!
- \qmlsignal PieSlice::onStartAngleChanged()
- This signal is emitted when the starting angle f the slice has changed.
- \sa startAngle
-*/
-
-/*!
- \property QPieSlice::angleSpan
- Span of the slice in degrees.
- Full pie is 360 degrees where 0 degrees is at 12 a'clock.
- Updated automatically once the slice is added to the series.
-*/
-/*!
- \qmlproperty real PieSlice::angleSpan
- Span of the slice in degrees.
- Full pie is 360 degrees where 0 degrees is at 12 a'clock.
- Updated automatically once the slice is added to the series.
-*/
-
-/*!
- \fn void QPieSlice::angleSpanChanged()
- This signal is emitted when the angle span of the slice has changed.
- \sa angleSpan
-*/
-/*!
- \qmlsignal PieSlice::onAngleSpanChanged()
- This signal is emitted when the angle span of the slice has changed.
- \sa angleSpan
-*/
-
-/*!
- \fn void QPieSlice::clicked()
- This signal is emitted when user has clicked the slice.
- \sa QPieSeries::clicked()
-*/
-/*!
- \qmlsignal PieSlice::onClicked()
- This signal is emitted when user has clicked the slice.
-*/
-
-/*!
- \fn void QPieSlice::hovered(bool state)
- This signal is emitted when user has hovered over or away from the slice.
- \a state is true when user has hovered over the slice and false when hover has moved away from the slice.
- \sa QPieSeries::hovered()
-*/
-/*!
- \qmlsignal PieSlice::onHovered(bool state)
- This signal is emitted when user has hovered over or away from the slice.
- \a state is true when user has hovered over the slice and false when hover has moved away from the slice.
-*/
-
-/*!
- Constructs an empty slice with a \a parent.
- \sa QPieSeries::append(), QPieSeries::insert()
-*/
-QPieSlice::QPieSlice(QObject *parent)
- : QObject(parent),
- d_ptr(new QPieSlicePrivate(this))
-{
-
-}
-
-/*!
- Constructs an empty slice with given \a value, \a label and a \a parent.
- \sa QPieSeries::append(), QPieSeries::insert()
-*/
-QPieSlice::QPieSlice(QString label, qreal value, QObject *parent)
- : QObject(parent),
- d_ptr(new QPieSlicePrivate(this))
-{
- setValue(value);
- setLabel(label);
-}
-
-/*!
- Destroys the slice.
- User should not delete the slice if it has been added to the series.
-*/
-QPieSlice::~QPieSlice()
-{
-
-}
-
-void QPieSlice::setLabel(QString label)
-{
- if (d_ptr->m_data.m_labelText != label) {
- d_ptr->m_data.m_labelText = label;
- emit labelChanged();
- }
-}
-
-QString QPieSlice::label() const
-{
- return d_ptr->m_data.m_labelText;
-}
-
-void QPieSlice::setValue(qreal value)
-{
- value = qAbs(value); // negative values not allowed
- if (!qFuzzyCompare(d_ptr->m_data.m_value, value)) {
- d_ptr->m_data.m_value = value;
- emit valueChanged();
- }
-}
-
-qreal QPieSlice::value() const
-{
- return d_ptr->m_data.m_value;
-}
-
-void QPieSlice::setLabelVisible(bool visible)
-{
- if (d_ptr->m_data.m_isLabelVisible != visible) {
- d_ptr->m_data.m_isLabelVisible = visible;
- emit labelVisibleChanged();
- }
-}
-
-bool QPieSlice::isLabelVisible() const
-{
- return d_ptr->m_data.m_isLabelVisible;
-}
-
-void QPieSlice::setExploded(bool exploded)
-{
- if (d_ptr->m_data.m_isExploded != exploded) {
- d_ptr->m_data.m_isExploded = exploded;
- emit d_ptr->explodedChanged();
- }
-}
-
-QPieSlice::LabelPosition QPieSlice::labelPosition()
-{
- return d_ptr->m_data.m_labelPosition;
-}
-
-void QPieSlice::setLabelPosition(LabelPosition position)
-{
- if (d_ptr->m_data.m_labelPosition != position) {
- d_ptr->m_data.m_labelPosition = position;
- emit d_ptr->labelPositionChanged();
- }
-}
-
-bool QPieSlice::isExploded() const
-{
- return d_ptr->m_data.m_isExploded;
-}
-
-void QPieSlice::setPen(const QPen &pen)
-{
- d_ptr->setPen(pen, false);
-}
-
-QPen QPieSlice::pen() const
-{
- return d_ptr->m_data.m_slicePen;
-}
-
-QColor QPieSlice::borderColor()
-{
- return pen().color();
-}
-
-void QPieSlice::setBorderColor(QColor color)
-{
- QPen p = pen();
- if (color != p.color()) {
- p.setColor(color);
- setPen(p);
- }
-}
-
-int QPieSlice::borderWidth()
-{
- return pen().width();
-}
-
-void QPieSlice::setBorderWidth(int width)
-{
- QPen p = pen();
- if (width != p.width()) {
- p.setWidth(width);
- setPen(p);
- }
-}
-
-void QPieSlice::setBrush(const QBrush &brush)
-{
- d_ptr->setBrush(brush, false);
-}
-
-QBrush QPieSlice::brush() const
-{
- return d_ptr->m_data.m_sliceBrush;
-}
-
-QColor QPieSlice::color()
-{
- return brush().color();
-}
-
-void QPieSlice::setColor(QColor color)
-{
- QBrush b = brush();
-
- if (b == QBrush())
- b.setStyle(Qt::SolidPattern);
- b.setColor(color);
- setBrush(b);
-}
-
-void QPieSlice::setLabelBrush(const QBrush &brush)
-{
- d_ptr->setLabelBrush(brush, false);
-}
-
-QBrush QPieSlice::labelBrush() const
-{
- return d_ptr->m_data.m_labelBrush;
-}
-
-QColor QPieSlice::labelColor()
-{
- return labelBrush().color();
-}
-
-void QPieSlice::setLabelColor(QColor color)
-{
- QBrush b = labelBrush();
- if (color != b.color()) {
- b.setColor(color);
- setLabelBrush(b);
- }
-}
-
-void QPieSlice::setLabelFont(const QFont &font)
-{
- d_ptr->setLabelFont(font, false);
-}
-
-QFont QPieSlice::labelFont() const
-{
- return d_ptr->m_data.m_labelFont;
-}
-
-void QPieSlice::setLabelArmLengthFactor(qreal factor)
-{
- if (!qFuzzyCompare(d_ptr->m_data.m_labelArmLengthFactor, factor)) {
- d_ptr->m_data.m_labelArmLengthFactor = factor;
- emit d_ptr->labelArmLengthFactorChanged();
- }
-}
-
-qreal QPieSlice::labelArmLengthFactor() const
-{
- return d_ptr->m_data.m_labelArmLengthFactor;
-}
-
-void QPieSlice::setExplodeDistanceFactor(qreal factor)
-{
- if (!qFuzzyCompare(d_ptr->m_data.m_explodeDistanceFactor, factor)) {
- d_ptr->m_data.m_explodeDistanceFactor = factor;
- emit d_ptr->explodeDistanceFactorChanged();
- }
-}
-
-qreal QPieSlice::explodeDistanceFactor() const
-{
- return d_ptr->m_data.m_explodeDistanceFactor;
-}
-
-qreal QPieSlice::percentage() const
-{
- return d_ptr->m_data.m_percentage;
-}
-
-qreal QPieSlice::startAngle() const
-{
- return d_ptr->m_data.m_startAngle;
-}
-
-qreal QPieSlice::angleSpan() const
-{
- return d_ptr->m_data.m_angleSpan;
-}
-
-/*!
- Returns the series that this slice belongs to.
-
- \sa QPieSeries::append()
-*/
-QPieSeries *QPieSlice::series() const
-{
- return d_ptr->m_series;
-}
-
-QPieSlicePrivate::QPieSlicePrivate(QPieSlice *parent)
- : QObject(parent),
- q_ptr(parent),
- m_series(0)
-{
-
-}
-
-QPieSlicePrivate::~QPieSlicePrivate()
-{
-
-}
-
-QPieSlicePrivate *QPieSlicePrivate::fromSlice(QPieSlice *slice)
-{
- return slice->d_func();
-}
-
-void QPieSlicePrivate::setPen(const QPen &pen, bool themed)
-{
- if (m_data.m_slicePen != pen) {
-
- QPen oldPen = m_data.m_slicePen;
-
- m_data.m_slicePen = pen;
- m_data.m_slicePen.setThemed(themed);
-
- emit q_ptr->penChanged();
- if (oldPen.color() != pen.color())
- emit q_ptr->borderColorChanged();
- if (oldPen.width() != pen.width())
- emit q_ptr->borderWidthChanged();
- }
-}
-
-void QPieSlicePrivate::setBrush(const QBrush &brush, bool themed)
-{
- if (m_data.m_sliceBrush != brush) {
-
- QBrush oldBrush = m_data.m_sliceBrush;
-
- m_data.m_sliceBrush = brush;
- m_data.m_sliceBrush.setThemed(themed);
-
- emit q_ptr->brushChanged();
- if (oldBrush.color() != brush.color())
- emit q_ptr->colorChanged();
- }
-}
-
-void QPieSlicePrivate::setLabelBrush(const QBrush &brush, bool themed)
-{
- if (m_data.m_labelBrush != brush) {
-
- QBrush oldBrush = m_data.m_labelBrush;
-
- m_data.m_labelBrush = brush;
- m_data.m_labelBrush.setThemed(themed);
-
- emit q_ptr->labelBrushChanged();
- if (oldBrush.color() != brush.color())
- emit q_ptr->labelColorChanged();
- }
-}
-
-void QPieSlicePrivate::setLabelFont(const QFont &font, bool themed)
-{
- if (m_data.m_labelFont != font) {
- m_data.m_labelFont = font;
- m_data.m_labelFont.setThemed(themed);
- emit q_ptr->labelFontChanged();
- }
-}
-
-void QPieSlicePrivate::setPercentage(qreal percentage)
-{
- if (!qFuzzyCompare(m_data.m_percentage, percentage)) {
- m_data.m_percentage = percentage;
- emit q_ptr->percentageChanged();
- }
-}
-
-void QPieSlicePrivate::setStartAngle(qreal angle)
-{
- if (!qFuzzyCompare(m_data.m_startAngle, angle)) {
- m_data.m_startAngle = angle;
- emit q_ptr->startAngleChanged();
- }
-}
-
-void QPieSlicePrivate::setAngleSpan(qreal span)
-{
- if (!qFuzzyCompare(m_data.m_angleSpan, span)) {
- m_data.m_angleSpan = span;
- emit q_ptr->angleSpanChanged();
- }
-}
-
-QTCOMMERCIALCHART_END_NAMESPACE
-
-QTCOMMERCIALCHART_USE_NAMESPACE
-#include "moc_qpieslice.cpp"
-#include "moc_qpieslice_p.cpp"