subsurface/qt-ui/statistics/statisticswidget.cpp
Tomaz Canabrava 4a6a9a6706 Use scene()->clear() instead of manually clearing the scene.
When there's a rowsAboutToBeRemoevd, remove all items from
the scene() by calling scene()->clear(), instead of creating
a method just for that.

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

36 lines
1,006 B
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)
{
// stub
}
void YearlyStatisticsWidget::resizeEvent(QResizeEvent *event)
{
QGraphicsView::resizeEvent(event);
fitInView(sceneRect(), Qt::IgnoreAspectRatio);
}