qavrg 0.0.28
|
00001 #include "qavrgresultsmodel.h" 00002 #include "qavrgacquisition.h" 00003 #include "qavrgfitter.h" 00004 #include <stdio.h> 00005 00006 QavrgResultsModel::QavrgResultsModel(QavrgAcquisition *acq, QObject *parent) 00007 : QAbstractTableModel(parent), 00008 m_Acquisition(acq) 00009 { 00010 } 00011 00012 void QavrgResultsModel::new_FittingResults() 00013 { 00014 // printf("QavrgResultsModel::new_FittingResults()\n"); 00015 00016 reset(); 00017 } 00018 00019 int QavrgResultsModel::rowCount(const QModelIndex &/*parent*/) const 00020 { 00021 int res = m_Acquisition->resultSize(); 00022 00023 // printf("QavrgResultsModel::rowCount() = %d\n", res); 00024 00025 return res; 00026 } 00027 00028 int QavrgResultsModel::columnCount(const QModelIndex &/*parent*/) const 00029 { 00030 int res = m_Acquisition->get_NChannels(); 00031 00032 // printf("QavrgResultsModel::columnCount() = %d\n", res); 00033 00034 return res; 00035 } 00036 00037 QVariant QavrgResultsModel::data(const QModelIndex &index, int role) const 00038 { 00039 if (!index.isValid()) { 00040 return QVariant(); 00041 } 00042 00043 if (role == Qt::DisplayRole) { 00044 int row = index.row(); 00045 int col = index.column(); 00046 00047 return m_Acquisition -> readResult((int)(col), QavrgFitter::PeakHeight, row); 00048 } 00049 00050 if (role == Qt::TextAlignmentRole) { 00051 int res = Qt::AlignRight | Qt::AlignVCenter; 00052 return res; 00053 } 00054 00055 return QVariant(); 00056 } 00057 00058 QVariant QavrgResultsModel::headerData (int section, Qt::Orientation orientation, int role) const 00059 { 00060 if (role == Qt::DisplayRole) { 00061 const char * labels[] = {"Baseline","Slope","Peak"}; 00062 00063 if (orientation == Qt::Horizontal) { 00064 return tr("Ch%1.%2").arg((int)(section)).arg(labels[QavrgFitter::PeakHeight]); 00065 } else { 00066 return tr("%1 [%2,%3]").arg(section).arg(m_Acquisition->orbitNumber(section)).arg(m_Acquisition->bucketNumber(section)); 00067 } 00068 } 00069 00070 return QVariant(); 00071 }