subsurface/qt-ui/statistics/statisticswidget.cpp
Tomaz Canabrava 18da0b1911 Implement the modelDataChanged to repopulate the widget on Statistics
The modelDataChanged method will remove all items and recreate everything
*right* now we will never use it, because we are not triggering any
changes on the model, but simply deleting and recreating it everytime
we open the dialog. to be changed in the future.

Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-08-25 14:00:38 -07:00

39 lines
1.1 KiB
C++

#include "statisticswidget.h"
#include "models.h"
#include <QModelIndex>
YearlyStatisticsWidget::YearlyStatisticsWidget(QWidget *parent): QGraphicsView(parent)
{
}
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);
}