##// END OF EJS Templates
Fix crash when removing pie series from chart...
Fix crash when removing pie series from chart Connections cleanup in PieChartItem destructor didn't account for the possibility of series already having been destroyed. Changed m_series to QPointer so that it'll notice when series gets destroyed, and also added cleaning of slices to series destructor. Task-number: QTRD-1946 Change-Id: I651347bfcfbe7cd78dd26220a811fea5c8071fce Reviewed-by: Mika Salmela Reviewed-by: Mika Salmela <mika.salmela@digia.com>

File last commit:

r2432:53927f716a3d
r2475:9e35a3a169ed
Show More
qpieseries_p.h
93 lines | 2.6 KiB | text/x-c | CLexer
Jani Honkonen
Add license headers
r794 /****************************************************************************
**
Miikka Heikkinen
Fixed the copyright year 2012 -> 2013
r2432 ** Copyright (C) 2013 Digia Plc
Jani Honkonen
Add license headers
r794 ** 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$
**
****************************************************************************/
Marek Rosa
License added to several files
r1365 // 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.
Michal Klocek
Adds big fat pimpl to series classes...
r938 #ifndef QPIESERIES_P_H
#define QPIESERIES_P_H
Jani Honkonen
Adding PIMPL to pie
r669
#include "qpieseries.h"
Tero Ahola
Renamed QSeries to QAbstractSeries
r988 #include "qabstractseries_p.h"
Jani Honkonen
Adding PIMPL to pie
r669
QTCOMMERCIALCHART_BEGIN_NAMESPACE
Jani Honkonen
API review changes for pie
r1009 class QLegendPrivate;
Jani Honkonen
Adding PIMPL to pie
r669
Tero Ahola
Renamed QSeries to QAbstractSeries
r988 class QPieSeriesPrivate : public QAbstractSeriesPrivate
Jani Honkonen
Adding PIMPL to pie
r669 {
Q_OBJECT
public:
QPieSeriesPrivate(QPieSeries *parent);
~QPieSeriesPrivate();
Michal Klocek
Refactors internals...
r2273 void initializeDomain();
void initializeAxes();
void initializeGraphics(QGraphicsItem* parent);
void initializeAnimations(QtCommercialChart::QChart::AnimationOptions options);
void initializeTheme(int index, ChartTheme* theme, bool forced = false);
sauimone
Added createLegendMarkers to private series. This will replace old createLegendMarker method. Notice the s in new method name. PIMPL for QLegendMarker. Newlegend example updated a bit
r2163 QList<QLegendMarker *> createLegendMarkers(QLegend *legend);
Michal Klocek
Refactors internals...
r2273
Michal Klocek
Adds axis domain intialization
r1695 QAbstractAxis::AxisType defaultAxisType(Qt::Orientation orientation) const;
Michal Klocek
Refactors internals...
r2273 QAbstractAxis* createDefaultAxis(Qt::Orientation orientation) const;
Michal Klocek
Refactor to use qseries private for implmentation interface...
r943
Jani Honkonen
Adding PIMPL to pie
r669 void updateDerivativeData();
Marek Rosa
Inner pie (donut) size cannot be smaller than the outer pie size
r1741 void setSizes(qreal innerSize, qreal outerSize);
Jani Honkonen
Adding PIMPL to pie
r669
Jani Honkonen
more coding style fixes for src-folder...
r2104 static QPieSeriesPrivate *fromSeries(QPieSeries *series);
Jani Honkonen
pie: added everything as a property in QPieSlice...
r1274
signals:
void calculatedDataChanged();
Tero Ahola
Removed a few signals from QPieSeries API
r1482 void pieSizeChanged();
void pieStartAngleChanged();
void pieEndAngleChanged();
void horizontalPositionChanged();
void verticalPositionChanged();
Jani Honkonen
API review changes for pie
r1009
Jani Honkonen
Add mousebuttons to pie clicked signals
r707 public Q_SLOTS:
Jani Honkonen
pie: added everything as a property in QPieSlice...
r1274 void sliceValueChanged();
Jani Honkonen
API review changes for pie
r1009 void sliceClicked();
void sliceHovered(bool state);
Jani Honkonen
Adding PIMPL to pie
r669
Jani Honkonen
pie: added everything as a property in QPieSlice...
r1274 private:
Jani Honkonen
more coding style fixes for src-folder...
r2104 QList<QPieSlice *> m_slices;
Jani Honkonen
Adding PIMPL to pie
r669 qreal m_pieRelativeHorPos;
qreal m_pieRelativeVerPos;
qreal m_pieRelativeSize;
qreal m_pieStartAngle;
qreal m_pieEndAngle;
Jani Honkonen
Rename pie series total() -> sum() to be consistent with bar series.
r939 qreal m_sum;
Marek Rosa
Donut support simplified. Examples updated
r1838 qreal m_holeRelativeSize;
Jani Honkonen
Adding PIMPL to pie
r669
Michal Klocek
Refactors internals...
r2273 public:
Jani Honkonen
API review changes for pie
r1009 friend class QLegendPrivate;
Michal Klocek
Adds big fat pimpl to series classes...
r938 Q_DECLARE_PUBLIC(QPieSeries)
Jani Honkonen
Adding PIMPL to pie
r669 };
QTCOMMERCIALCHART_END_NAMESPACE
Michal Klocek
Adds big fat pimpl to series classes...
r938 #endif // QPIESERIES_P_H