##// END OF EJS Templates

File last commit:

r223:c82178b4ef05
r238:7ad0e7194aa9 merge
Show More
qchart.h
84 lines | 1.9 KiB | text/x-c | CLexer
#ifndef CHART_H
#define CHART_H
#include <qchartglobal.h>
#include <qchartseries.h>
#include <QGraphicsWidget>
#include <QLinearGradient>
#include <QFont>
class QGraphicsSceneResizeEvent;
QTCOMMERCIALCHART_BEGIN_NAMESPACE
class AxisItem;
class QChartSeries;
class PlotDomain;
class BarPresenter;
class QChartAxis;
class ChartTheme;
class ChartItem;
class ChartDataSet;
class ChartPresenter;
/*!
* TODO: define the responsibilities
*/
class QTCOMMERCIALCHART_EXPORT QChart : public QGraphicsWidget
{
Q_OBJECT
public:
enum ChartTheme {
/*! The default theme follows the GUI style of the Operating System */
ChartThemeDefault,
ChartThemeVanilla,
ChartThemeIcy,
ChartThemeGrayscale,
ChartThemeScientific,
//ChartThemeUnnamed1
};
public:
QChart(QGraphicsItem *parent = 0, Qt::WindowFlags wFlags = 0);
~QChart();
void addSeries(QChartSeries* series,QChartAxis *axisY=0);
void removeSeries(QChartSeries* series);
void setMargin(int margin);
int margin() const;
void setChartTheme(QChart::ChartTheme theme);
QChart::ChartTheme chartTheme() const;
void setChartTitle(const QString& title);
void setChartTitleFont(const QFont& font);
void setChartBackgroundBrush(const QBrush& brush);
void setChartBackgroundPen(const QPen& pen);
void zoomIn();
void zoomIn(const QRectF& rect);
void zoomOut();
void zoomReset();
QChartAxis* axisX() const;
QChartAxis* axisY() const;
protected:
void resizeEvent(QGraphicsSceneResizeEvent *event);
private:
inline void createChartBackgroundItem();
inline void createChartTitleItem();
private:
Q_DISABLE_COPY(QChart)
QGraphicsRectItem* m_backgroundItem;
QGraphicsTextItem* m_titleItem;
QRectF m_rect;
ChartDataSet *m_dataset;
ChartPresenter *m_presenter;
};
QTCOMMERCIALCHART_END_NAMESPACE
#endif