##// END OF EJS Templates
Integrated scatter series...
Integrated scatter series Also implemented optional drawing algorithm of series that uses only paint method of QGraphicsItems.

File last commit:

r38:67e4c740a645
r38:67e4c740a645
Show More
qchartwidget.cpp
76 lines | 1.8 KiB | text/x-c | CppLexer
#include "qchartwidget.h"
#include "qchartseries.h"
#include <QGraphicsView>
#include <QGraphicsScene>
#include <QResizeEvent>
QTCOMMERCIALCHART_BEGIN_NAMESPACE
class QChartWidgetPrivate
{
public:
QChartWidgetPrivate(QChartWidget *parent) :
m_view(0),
m_scene(0),
m_chart(0)
{
m_scene = new QGraphicsScene();
m_view = new QGraphicsView(parent);
m_view->setScene(m_scene);
m_chart = new QChart();
m_scene->addItem(m_chart);
m_view->show();
}
~QChartWidgetPrivate() {
}
QGraphicsView *m_view;
QGraphicsScene *m_scene;
QChart* m_chart;
};
///////////////////////////////////////////////////////////////////////////////////////////////////
QChartWidget::QChartWidget(QWidget *parent) :
QWidget(parent),
d_ptr(new QChartWidgetPrivate(this))
{
setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
}
QChartWidget::~QChartWidget()
{
delete d_ptr;
}
void QChartWidget::resizeEvent(QResizeEvent *event)
{
Q_D(QChartWidget);
d->m_view->resize(size().width(),size().height());
d->m_scene->setSceneRect(0,0,size().width(),size().height());
d->m_chart->setSize(size());
QWidget::resizeEvent(event);
}
QSize QChartWidget::sizeHint() const
{
// TODO: calculate size hint based on contents?
return QSize(100, 100);
}
void QChartWidget::addSeries(QChartSeries* series)
{
Q_D(QChartWidget);
d->m_chart->addSeries(series);
}
QChartSeries* QChartWidget::createSeries(QList<qreal> x, QList<qreal> y, QChartSeries::QChartSeriesType type)
{
Q_D(QChartWidget);
return d->m_chart->createSeries(x, y, type);
}
#include "moc_qchartwidget.cpp"
QTCOMMERCIALCHART_END_NAMESPACE