Files
BeetRound/libs/BeetRoundCore/model/modelsummary.cpp

49 lines
2.1 KiB
C++

#include "modelsummary.h"
#include "tablemodel.h"
ModelSummary::ModelSummary(std::shared_ptr<TableModel> model, QObject* parent)
: QObject(parent)
, m_model(model) {
Q_ASSERT(model);
connect(m_model.get(), &TableModel::rowCountChanged, this, &ModelSummary::rowCountChanged);
// TODO ? use existing model signals (dataChanged(role),...) instead of special signals
connect(m_model.get(), &TableModel::nExpectedBiddingsChanged, this,
&ModelSummary::nExpectedBiddingsChanged);
connect(m_model.get(), &TableModel::nTotalExpectedSharesChanged, this,
&ModelSummary::nTotalExpectedSharesChanged);
connect(m_model.get(), &TableModel::nPlacedBiddingsChanged, this,
&ModelSummary::nPlacedBiddingsChanged);
connect(m_model.get(), &TableModel::biddingSumChanged, this, &ModelSummary::biddingSumChanged);
connect(m_model.get(), &TableModel::biddingAverageChanged, this,
&ModelSummary::biddingAverageChanged);
}
ModelSummary::~ModelSummary() {}
int ModelSummary::rowCount() const {
const int nRows = m_model->rowCount();
return nRows;
}
QBindable<int> ModelSummary::bindableRowCount() {
m_rowCount = m_model->rowCount();
return &m_rowCount;
}
qreal ModelSummary::nTotalExpectedShares() const { return m_model->nTotalExpectedShares(); }
int ModelSummary::nExpectedBiddings() const { return m_model->nExpectedBiddings(); }
int ModelSummary::nPlacedBiddings1() const { return m_model->nPlacedBiddings1(); }
int ModelSummary::nPlacedBiddings2() const { return m_model->nPlacedBiddings2(); }
int ModelSummary::nPlacedBiddings3() const { return m_model->nPlacedBiddings3(); }
int ModelSummary::biddingSum1() const { return m_model->biddingSum1(); }
int ModelSummary::biddingSum2() const { return m_model->biddingSum2(); }
int ModelSummary::biddingSum3() const { return m_model->biddingSum3(); }
qreal ModelSummary::biddingAverage1() const { return m_model->biddingAverage1(); }
qreal ModelSummary::biddingAverage2() const { return m_model->biddingAverage2(); }
qreal ModelSummary::biddingAverage3() const { return m_model->biddingAverage3(); }