##// END OF EJS Templates
Optimize polar chart radius calculation a bit....
Optimize polar chart radius calculation a bit. Current algorithm still results in an occasional extra unneeded iteration, as it uses only crude approximation for radius reduction. However, any speedup gained by accurately calculating needed reduction would be very minor compared to approximations used, so it doesn't seem worth the effort to figure out the complex math. Change-Id: If670a1b058a85cd0305b93f62e6388b463bafd0d Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>

File last commit:

r2498:e824058bc192
r2542:189023d9a551
Show More
qchart.h
169 lines | 5.3 KiB | text/x-c | CLexer
Michal Klocek
Polishing qchart class
r742 /****************************************************************************
**
Miikka Heikkinen
Fixed the copyright year 2012 -> 2013
r2432 ** Copyright (C) 2013 Digia Plc
Michal Klocek
Polishing qchart class
r742 ** 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$
**
****************************************************************************/
Tero Ahola
Started documenting QChart
r264 #ifndef QCHART_H
#define QCHART_H
Michal Klocek
adds missing files form previous commit
r12
Tero Ahola
Renamed QSeries to QAbstractSeries
r988 #include <QAbstractSeries>
Michal Klocek
Adds AxisY(series) getter
r899 #include <QLegend>
Michal Klocek
Adds layout support for charts....
r115 #include <QGraphicsWidget>
Michal Klocek
Implements minimumMargins...
r1883 #include <QMargins>
Michal Klocek
adds missing files form previous commit
r12
Michal Klocek
Adds layout support for charts....
r115 class QGraphicsSceneResizeEvent;
Tero Ahola
Renamed to QtCommercialChart
r30 QTCOMMERCIALCHART_BEGIN_NAMESPACE
Michal Klocek
adds missing files form previous commit
r12
Tero Ahola
Renamed QSeries to QAbstractSeries
r988 class QAbstractSeries;
Michal Klocek
Refactors QAxis to QAbstractAxis...
r1541 class QAbstractAxis;
sauimone
framework for legend
r524 class QLegend;
Jani Honkonen
Some fixes for Qt5, vs2010 build and qml
r2277 class QChartPrivate;
Michal Klocek
Refactor current draft to fit int current design specs...
r21
Michal Klocek
Adds layout support for charts....
r115 class QTCOMMERCIALCHART_EXPORT QChart : public QGraphicsWidget
Tero Ahola
Integrated scatter series...
r38 {
Tero Ahola
Resizing of QGraphicItems now possible by resize signal from QChart
r48 Q_OBJECT
Tero Ahola
Added property definitions to QChart
r1524 Q_PROPERTY(QChart::ChartTheme theme READ theme WRITE setTheme)
Q_PROPERTY(QString title READ title WRITE setTitle)
Q_PROPERTY(bool backgroundVisible READ isBackgroundVisible WRITE setBackgroundVisible)
Q_PROPERTY(bool dropShadowEnabled READ isDropShadowEnabled WRITE setDropShadowEnabled)
Q_PROPERTY(QChart::AnimationOptions animationOptions READ animationOptions WRITE setAnimationOptions)
Tero Ahola
Restored minimumMargins property to QChart
r2369 Q_PROPERTY(QMargins minimumMargins READ minimumMargins WRITE setMinimumMargins)
Michal Klocek
Refactors layout...
r1965 Q_PROPERTY(QMargins margins READ margins WRITE setMargins)
Miikka Heikkinen
Add Polar chart support...
r2483 Q_PROPERTY(QChart::ChartType chartType READ chartType)
Miikka Heikkinen
Add API to specify plot area background....
r2498 Q_PROPERTY(bool plotAreaBackgroundVisible READ isPlotAreaBackgroundVisible WRITE setPlotAreaBackgroundVisible)
Tero Ahola
QML api to use chart theme enum of QChart
r836 Q_ENUMS(ChartTheme)
Tero Ahola
Added animation configuration to QML chart api
r1094 Q_ENUMS(AnimationOption)
Miikka Heikkinen
Add Polar chart support...
r2483 Q_ENUMS(ChartType)
Tero Ahola
QML api to use chart theme enum of QChart
r836
Tero Ahola
Draft implementation for setting color themes for a chart
r64 public:
Miikka Heikkinen
Add Polar chart support...
r2483 enum ChartType {
ChartTypeUndefined = 0,
ChartTypeCartesian,
ChartTypePolar
};
Michal Klocek
Adds animation settings handling
r298 enum ChartTheme {
Tero Ahola
Removed default theme, now using light as the default
r853 ChartThemeLight = 0,
Tero Ahola
Three more themes
r651 ChartThemeBlueCerulean,
ChartThemeDark,
ChartThemeBrownSand,
ChartThemeBlueNcs,
Tero Ahola
Added Icy Blue and High Contrast theme
r757 ChartThemeHighContrast,
Michal Klocek
Removes chartThemecount from enum values
r930 ChartThemeBlueIcy
Tero Ahola
Draft implementation for setting color themes for a chart
r64 };
Michal Klocek
Polishing qchart class
r742 enum AnimationOption {
Michal Klocek
Adds animation settings handling
r298 NoAnimation = 0x0,
GridAxisAnimations = 0x1,
Jani Honkonen
astyle and manual coding style fixes for src-folder
r2097 SeriesAnimations = 0x2,
Michal Klocek
Adds animation settings handling
r298 AllAnimations = 0x3
Michal Klocek
Polishing qchart class
r742 };
Q_DECLARE_FLAGS(AnimationOptions, AnimationOption)
Michal Klocek
Adds animation settings handling
r298
Michal Klocek
adds missing files form previous commit
r12 public:
Michal Klocek
adds QChartView PIMPL, refactor public API
r746 explicit QChart(QGraphicsItem *parent = 0, Qt::WindowFlags wFlags = 0);
Tero Ahola
Resizing of QGraphicItems now possible by resize signal from QChart
r48 ~QChart();
Michal Klocek
adds missing files form previous commit
r12
Michal Klocek
Refactors QAxis to QAbstractAxis...
r1541 void addSeries(QAbstractSeries *series);
Tero Ahola
Renamed QSeries to QAbstractSeries
r988 void removeSeries(QAbstractSeries *series);
Michal Klocek
Adds PIMPL to qchart
r740 void removeAllSeries();
Jani Honkonen
more coding style fixes for src-folder...
r2104 QList<QAbstractSeries *> series() const;
Michal Klocek
adds missing files form previous commit
r12
Tero Ahola
Documented the new functionality in QChart
r2360 // *** deprecated ***
Jani Honkonen
more coding style fixes for src-folder...
r2104 void setAxisX(QAbstractAxis *axis, QAbstractSeries *series = 0);
void setAxisY(QAbstractAxis *axis, QAbstractSeries *series = 0);
QAbstractAxis *axisX(QAbstractSeries *series = 0) const;
QAbstractAxis *axisY(QAbstractSeries *series = 0) const;
Tero Ahola
Documented the new functionality in QChart
r2360 // ******************
Michal Klocek
Refactors internals...
r2273
Miikka Heikkinen
Add Polar chart support...
r2483 void addAxis(QAbstractAxis *axis, Qt::Alignment alignment);
Michal Klocek
Refactors internals...
r2273 void removeAxis(QAbstractAxis *axis);
QList<QAbstractAxis*> axes(Qt::Orientations orientation = Qt::Horizontal|Qt::Vertical, QAbstractSeries *series = 0) const;
Michal Klocek
Adds missing functions to qchart API
r1542
Michal Klocek
Refactor QChart API...
r1577 void createDefaultAxes();
Michal Klocek
Adds PIMPL to qchart
r740 void setTheme(QChart::ChartTheme theme);
QChart::ChartTheme theme() const;
Michal Klocek
Adds pimpl to qchart class
r28
Jani Honkonen
more coding style fixes for src-folder...
r2104 void setTitle(const QString &title);
Michal Klocek
Adds force option to chartTheme...
r645 QString title() const;
Jani Honkonen
more coding style fixes for src-folder...
r2104 void setTitleFont(const QFont &font);
Michal Klocek
Adds force option to chartTheme...
r645 QFont titleFont() const;
void setTitleBrush(const QBrush &brush);
QBrush titleBrush() const;
Michal Klocek
Increses margins prescision
r874
sauimone
improved legend layout
r783 void setBackgroundBrush(const QBrush &brush);
Michal Klocek
Adds force option to chartTheme...
r645 QBrush backgroundBrush() const;
sauimone
improved legend layout
r783 void setBackgroundPen(const QPen &pen);
Michal Klocek
Adds force option to chartTheme...
r645 QPen backgroundPen() const;
Tero Ahola
Default to true in boolean setters
r987 void setBackgroundVisible(bool visible = true);
Michal Klocek
Adds force option to chartTheme...
r645 bool isBackgroundVisible() const;
Michal Klocek
Change background gradient to use ObjectBoundingMode...
r122
Tero Ahola
Minor modifications to properties of abstract, area and bar series
r1462 void setDropShadowEnabled(bool enabled = true);
bool isDropShadowEnabled() const;
Michal Klocek
Adds animation settings handling
r298 void setAnimationOptions(AnimationOptions options);
AnimationOptions animationOptions() const;
Michal Klocek
Add zoom support...
r67 void zoomIn();
void zoomOut();
Michal Klocek
Refactors internals...
r2273
void zoomIn(const QRectF &rect);
Jani Honkonen
Add gestures support for zoomlinechart example...
r1187 void zoom(qreal factor);
Michal Klocek
Refactors internals...
r2273
Michal Klocek
Changes to qchart qabstractseries API
r1553 void scroll(qreal dx, qreal dy);
Michal Klocek
Add zoom support...
r67
Jani Honkonen
more coding style fixes for src-folder...
r2104 QLegend *legend() const;
Michal Klocek
Refactors layout managment...
r1534
Jani Honkonen
Fix BC: QChart::setMinimumMargins and QChart::minimumMargins are in v1.1.0 so they have to stay.
r2272 void setMinimumMargins(const QMargins& margins);
QMargins minimumMargins() const;
Jani Honkonen
more coding style fixes for src-folder...
r2104 void setMargins(const QMargins &margins);
Michal Klocek
Refactors layout...
r1965 QMargins margins() const;
Michal Klocek
Implements minimumMargins...
r1883
Michal Klocek
Adds plotArea()...
r1648 QRectF plotArea() const;
Miikka Heikkinen
Add API to specify plot area background....
r2498 void setPlotAreaBackgroundBrush(const QBrush &brush);
QBrush plotAreaBackgroundBrush() const;
void setPlotAreaBackgroundPen(const QPen &pen);
QPen plotAreaBackgroundPen() const;
void setPlotAreaBackgroundVisible(bool visible = true);
bool isPlotAreaBackgroundVisible() const;
sauimone
legend pos to theme example, legend padding
r803
Marek Rosa
Mapping functions added to QChart. Callout example updated
r2344 QPointF mapToValue(const QPointF &position, QAbstractSeries *series = 0);
QPointF mapToPosition(const QPointF &value, QAbstractSeries *series = 0);
Miikka Heikkinen
Add Polar chart support...
r2483 ChartType chartType() const;
Michal Klocek
Adds PIMPL to qchart
r740 protected:
Miikka Heikkinen
Add Polar chart support...
r2483 explicit QChart(QChart::ChartType type, QGraphicsItem *parent, Qt::WindowFlags wFlags);
Michal Klocek
Adds PIMPL to qchart
r740 QScopedPointer<QChartPrivate> d_ptr;
Michal Klocek
Fix attempt to wrong graphics items hadnling
r790 friend class QLegend;
Tero Ahola
QML ChartView signals seriesAdded and seriesRemoved
r2068 friend class DeclarativeChart;
Michal Klocek
Refactors internals...
r2273 friend class ChartDataSet;
friend class ChartPresenter;
friend class ChartThemeManager;
friend class QAbstractSeries;
Tero Ahola
Internal review: Removed extra semicolons
r760 Q_DISABLE_COPY(QChart)
Michal Klocek
adds missing files form previous commit
r12 };
Tero Ahola
Renamed to QtCommercialChart
r30 QTCOMMERCIALCHART_END_NAMESPACE
Michal Klocek
adds missing files form previous commit
r12
Michal Klocek
Adds animation settings handling
r298 Q_DECLARE_OPERATORS_FOR_FLAGS(QTCOMMERCIALCHART_NAMESPACE::QChart::AnimationOptions)
Jani Honkonen
Spit&polish public headers
r2046 #endif // QCHART_H