##// END OF EJS Templates
Adding PIMPL to pie
Adding PIMPL to pie

File last commit:

r666:6018938e3db4
r669:e937078a314e
Show More
qchart.h
124 lines | 3.0 KiB | text/x-c | CLexer
#ifndef QCHART_H
#define QCHART_H
#include <qchartglobal.h>
#include <qseries.h>
#include <QGraphicsWidget>
#include <QLinearGradient>
#include <QFont>
class QGraphicsSceneResizeEvent;
QTCOMMERCIALCHART_BEGIN_NAMESPACE
class AxisItem;
class QSeries;
class PlotDomain;
class BarChartItem;
class QChartAxis;
class ChartTheme;
class ChartItem;
class ChartDataSet;
class ChartPresenter;
class QLegend;
class ChartBackground;
class QTCOMMERCIALCHART_EXPORT QChart : public QGraphicsWidget
{
Q_OBJECT
public:
enum ChartTheme {
ChartThemeDefault,
ChartThemeLight,
ChartThemeBlueCerulean,
ChartThemeDark,
ChartThemeBrownSand,
ChartThemeBlueNcs,
ChartThemeVanilla,
ChartThemeIcy,
ChartThemeGrayscale,
ChartThemeScientific,
ChartThemeCount
};
enum AnimationOption {
NoAnimation = 0x0,
GridAxisAnimations = 0x1,
SeriesAnimations =0x2,
AllAnimations = 0x3
};
Q_DECLARE_FLAGS(AnimationOptions, AnimationOption)
public:
QChart(QGraphicsItem *parent = 0, Qt::WindowFlags wFlags = 0);
~QChart();
void addSeries(QSeries* series, QChartAxis* axisY = 0);
void removeSeries(QSeries* series); //returns ownership , deletes axis if no series attached
void removeAllSeries(); // deletes series and axis
void setChartTheme(QChart::ChartTheme theme);
QChart::ChartTheme chartTheme() const;
void setTitle(const QString& title);
QString title() const;
void setTitleFont(const QFont& font);
QFont titleFont() const;
void setTitleBrush(const QBrush &brush);
QBrush titleBrush() const;
void setBackgroundBrush(const QBrush& brush);
QBrush backgroundBrush() const;
void setBackgroundPen(const QPen& pen);
QPen backgroundPen() const;
void setBackgroundVisible(bool visible);
bool isBackgroundVisible() const;
void setAnimationOptions(AnimationOptions options);
AnimationOptions animationOptions() const;
void zoomIn();
void zoomIn(const QRectF& rect);
void zoomOut();
void zoomReset();
void scrollLeft();
void scrollRight();
void scrollUp();
void scrollDown();
QChartAxis* axisX() const;
QChartAxis* axisY() const;
QLegend* legend() const;
int padding() const;
protected:
void resizeEvent(QGraphicsSceneResizeEvent *event);
private:
inline void createChartBackgroundItem();
inline void createChartTitleItem();
void setPadding(int padding);
void setBackgroundPadding(int padding);
void setBackgroundDiameter(int diameter);
void updateLayout();
private:
Q_DISABLE_COPY(QChart)
ChartBackground* m_backgroundItem;
QGraphicsSimpleTextItem* m_titleItem;
QRectF m_rect;
QLegend* m_legend;
ChartDataSet *m_dataset;
ChartPresenter *m_presenter;
int m_padding;
int m_backgroundPadding;
};
QTCOMMERCIALCHART_END_NAMESPACE
Q_DECLARE_OPERATORS_FOR_FLAGS(QTCOMMERCIALCHART_NAMESPACE::QChart::AnimationOptions)
#endif