##// END OF EJS Templates
Refactors internals...
Refactors internals * rewrite axisUpdated signal handling * create handlers for each property of axis * decouple chartdataset, presenter, theme * adds theme manager * adds axis add/remove/attach/detach handling * refactors createGraphics * add initializers (graphics,domain,theme,animations) * refactor the way the charts are constructed (decouple form presenter) * fix initialization issues with qchart * refactor domain logic to handle also geometry size for charts * delegate xyseries geometry calculation to domian * fix lazy initialization of animations * remove hadnleGeomoetryChanged * add shared pointers to handle reference count for domain * moves nice number algorithm to domain * adds applyNiceNumbers(), depreciate setNiceNumbers * refactor multiple charts handling * domain is shared object * each domain can have multiple axis for controlling * multiple charts share now the same domain

File last commit:

r2273:1c49aa901cb2
r2273:1c49aa901cb2
Show More
qabstractseries_p.h
99 lines | 2.7 KiB | text/x-c | CLexer
/ src / qabstractseries_p.h
Michal Klocek
Adds big fat pimpl to series classes...
r938 /****************************************************************************
**
** 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$
**
****************************************************************************/
// 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.
Tero Ahola
Renamed QSeries to QAbstractSeries
r988 #ifndef QABSTRACTSERIES_P_H
#define QABSTRACTSERIES_P_H
Michal Klocek
Adds big fat pimpl to series classes...
r938
Tero Ahola
Renamed QSeries to QAbstractSeries
r988 #include "qabstractseries.h"
Michal Klocek
Refactors internals...
r2273 #include "qchart.h"
#include "domain_p.h"
class QGraphicsItem;
Michal Klocek
Adds big fat pimpl to series classes...
r938
QTCOMMERCIALCHART_BEGIN_NAMESPACE
Michal Klocek
Refactor to use qseries private for implmentation interface...
r943 class ChartPresenter;
Michal Klocek
Refactors Chart to ChartElement
r1736 class ChartElement;
Michal Klocek
Adds qlegend pimpl...
r950 class LegendMarker;
class QLegend;
Michal Klocek
Adds if series deleted , remove series from chart
r1062 class ChartDataSet;
Michal Klocek
Adds missing functions to qchart API
r1542 class QAbstractAxis;
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 class QLegendMarker;
Michal Klocek
Refactors internals...
r2273 class ChartTheme;
class ChartAnimation;
class ChartItem;
Michal Klocek
Refactor to use qseries private for implmentation interface...
r943
Tero Ahola
Renamed QSeries to QAbstractSeries
r988 class QAbstractSeriesPrivate : public QObject
Michal Klocek
Adds big fat pimpl to series classes...
r938 {
Michal Klocek
Krazy reported errors...
r974 Q_OBJECT
Michal Klocek
Refactor to use qseries private for implmentation interface...
r943 public:
Tero Ahola
Renamed QSeries to QAbstractSeries
r988 QAbstractSeriesPrivate(QAbstractSeries *q);
~QAbstractSeriesPrivate();
Michal Klocek
Refactor to use qseries private for implmentation interface...
r943
Michal Klocek
Refactors internals...
r2273 virtual void initializeDomain() = 0;
virtual void initializeAxes() = 0;
virtual void initializeTheme(int index, ChartTheme* theme, bool forced = false) = 0;
virtual void initializeGraphics(QGraphicsItem* parent) = 0;
virtual void initializeAnimations(QChart::AnimationOptions options) = 0;
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 virtual QList<QLegendMarker*> createLegendMarkers(QLegend* legend) = 0;
Michal Klocek
Refactors internals...
r2273
Michal Klocek
Adds axis domain intialization
r1695 virtual QAbstractAxis::AxisType defaultAxisType(Qt::Orientation) const = 0;
Michal Klocek
Refactors internals...
r2273 virtual QAbstractAxis* createDefaultAxis(Qt::Orientation) const = 0;
ChartItem* chartItem() { return m_item.data(); }
virtual void setDomain(QSharedPointer<Domain> domain);
QSharedPointer<Domain> domain() { return m_domain; }
QChart* chart() { return m_chart; }
Michal Klocek
Refactor to use qseries private for implmentation interface...
r943
sauimone
legend private implemantation modified.
r2081 Q_SIGNALS:
Michal Klocek
Fixes legend markers updates
r2085 void countChanged();
sauimone
legend private implemantation modified.
r2081
Michal Klocek
Refactor to use qseries private for implmentation interface...
r943 protected:
Tero Ahola
Renamed QSeries to QAbstractSeries
r988 QAbstractSeries *q_ptr;
Jani Honkonen
Implemented QAbstractSeries::chart()...
r1314 QChart *m_chart;
Michal Klocek
Refactors internals...
r2273 QScopedPointer<ChartItem> m_item;
QList<QAbstractAxis*> m_axes;
private:
QSharedPointer<Domain> m_domain;
Michal Klocek
Adds big fat pimpl to series classes...
r938 QString m_name;
Tero Ahola
Visible property to abstract series
r1342 bool m_visible;
Tero Ahola
Added opacity property to QAbstractSeries
r2067 qreal m_opacity;
Michal Klocek
Refactor to use qseries private for implmentation interface...
r943
Tero Ahola
Renamed QSeries to QAbstractSeries
r988 friend class QAbstractSeries;
Michal Klocek
Adds if series deleted , remove series from chart
r1062 friend class ChartDataSet;
Michal Klocek
Refactors internals...
r2273 friend class ChartPresenter;
Michal Klocek
Fixes legend markers updates
r2085 friend class QLegendPrivate;
Michal Klocek
Adds big fat pimpl to series classes...
r938 };
QTCOMMERCIALCHART_END_NAMESPACE
#endif