diff options
Diffstat (limited to 'desktop-widgets/statistics/statisticswidget.cpp')
-rw-r--r-- | desktop-widgets/statistics/statisticswidget.cpp | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/desktop-widgets/statistics/statisticswidget.cpp b/desktop-widgets/statistics/statisticswidget.cpp new file mode 100644 index 000000000..3e91fa317 --- /dev/null +++ b/desktop-widgets/statistics/statisticswidget.cpp @@ -0,0 +1,41 @@ +#include "statisticswidget.h" +#include "yearlystatisticsmodel.h" +#include <QModelIndex> + +YearlyStatisticsWidget::YearlyStatisticsWidget(QWidget *parent): + QGraphicsView(parent), + m_model(NULL) +{ +} + +void YearlyStatisticsWidget::setModel(YearlyStatisticsModel *m) +{ + m_model = m; + connect(m, SIGNAL(dataChanged(QModelIndex,QModelIndex)), + this, SLOT(modelDataChanged(QModelIndex,QModelIndex))); + connect(m, SIGNAL(rowsAboutToBeRemoved(QModelIndex,int,int)), + scene(), SLOT(clear())); + connect(m, SIGNAL(rowsInserted(QModelIndex,int,int)), + this, SLOT(modelRowsInserted(QModelIndex,int,int))); + + modelRowsInserted(QModelIndex(),0,m_model->rowCount()-1); +} + +void YearlyStatisticsWidget::modelRowsInserted(const QModelIndex &index, int first, int last) +{ + // stub +} + +void YearlyStatisticsWidget::modelDataChanged(const QModelIndex &topLeft, const QModelIndex& bottomRight) +{ + Q_UNUSED(topLeft); + Q_UNUSED(bottomRight); + scene()->clear(); + modelRowsInserted(QModelIndex(),0,m_model->rowCount()-1); +} + +void YearlyStatisticsWidget::resizeEvent(QResizeEvent *event) +{ + QGraphicsView::resizeEvent(event); + fitInView(sceneRect(), Qt::IgnoreAspectRatio); +} |