QseScanAveragerModel Class Reference

#include <qsescanaveragermodel.h>

Inheritance diagram for QseScanAveragerModel:

Inheritance graph
[legend]
Collaboration diagram for QseScanAveragerModel:

Collaboration graph
[legend]

List of all members.

Public Slots

void operationCompleted ()
void dataChanged ()
void dataCleared ()
void scanAdded (int n)

Public Member Functions

 QseScanAveragerModel (QseScanAverager *averager, QTableView *table, QObject *parent=0)
int rowCount (const QModelIndex &parent=QModelIndex()) const
int columnCount (const QModelIndex &parent=QModelIndex()) const
QVariant data (const QModelIndex &index, int role) const
QVariant headerData (int section, Qt::Orientation orientation, int role=Qt::DisplayRole) const

Private Types

typedef QAbstractTableModel inherited

Private Attributes

QseScanAveragerm_ScanAverager
QTableView * m_TableView
int m_PrevRowCount
int m_PrevColumnCount


Detailed Description

Definition at line 9 of file qsescanaveragermodel.h.


Member Typedef Documentation

Definition at line 11 of file qsescanaveragermodel.h.


Constructor & Destructor Documentation

QseScanAveragerModel::QseScanAveragerModel ( QseScanAverager averager,
QTableView *  table,
QObject parent = 0 
)

Definition at line 9 of file qsescanaveragermodel.cpp.

References QseScanAveragerUI::m_ScanAverager.

00010   : inherited(parent),
00011     m_ScanAverager(scanaverager),
00012     m_TableView(table),
00013     m_PrevRowCount(0),
00014     m_PrevColumnCount(0)
00015 {
00016   connect(m_ScanAverager -> inputData(), SIGNAL(operationCompleted()),
00017     this,                        SLOT(operationCompleted()));
00018 
00019 //   connect(m_ScanAverager -> inputData(), SIGNAL(dataChanged()),
00020 //    this,                        SLOT(dataChanged()));
00021 
00022 //   connect(m_ScanAverager -> inputData(), SIGNAL(dataCleared()),
00023 //    this,                        SLOT(dataCleared()));
00024 
00025 //   connect(m_ScanAverager -> inputData(), SIGNAL(dataChanged()),
00026 //    this,                        SIGNAL(modelReset()));
00027 }


Member Function Documentation

int QseScanAveragerModel::rowCount ( const QModelIndex &  parent = QModelIndex()  )  const

Definition at line 30 of file qsescanaveragermodel.cpp.

References m_PrevRowCount, and m_ScanAverager.

00031 {
00032   if (parent.column() > 0) {
00033     return 0;
00034   }
00035 
00036   int res = m_ScanAverager -> inputData() -> scanCount();
00037 
00038 //   if (res > m_PrevRowCount) {
00039 //     printf("QseScanAveragerModel::rowCount(%d>%d)\n", res, m_PrevRowCount);
00040 //   } else if (res < m_PrevRowCount) {
00041 //     printf("QseScanAveragerModel::rowCount(%d<%d)\n", res, m_PrevRowCount);    
00042 //   }
00043 
00044   m_PrevRowCount = res;
00045 
00046   return res;
00047 }

int QseScanAveragerModel::columnCount ( const QModelIndex &  parent = QModelIndex()  )  const

Definition at line 50 of file qsescanaveragermodel.cpp.

References m_PrevColumnCount.

Referenced by data().

00051 {
00052   int res = 3 //  + m_ScanAverager -> inputData() -> maxColumnCount()
00053     ;
00054 
00055 //   printf("QseScanAveragerModel::columnCount = %d\n", res);
00056 
00057 //   if (res > m_PrevColumnCount) {
00058 //     printf("QseScanAveragerModel::columnCount(%d>%d)\n", res, m_PrevColumnCount);
00059 //   } else if (res < m_PrevColumnCount) {
00060 //     printf("QseScanAveragerModel::columnCount(%d<%d)\n", res, m_PrevColumnCount);    
00061 //   }
00062 
00063   m_PrevColumnCount = res;
00064   
00065   return res;
00066 }

QVariant QseScanAveragerModel::data ( const QModelIndex &  index,
int  role 
) const

Definition at line 69 of file qsescanaveragermodel.cpp.

References QseScan::column(), columnCount(), and m_ScanAverager.

00070 {
00071 //   printf("QseScanAveragerModel::data(%d,%d,%d)\n", index.row(), index.column(), role);
00072 
00073   if (!index.isValid()) {
00074     return QVariant();
00075   }
00076 
00077   if (role == Qt::DisplayRole) {
00078 
00079     int row = index.row();
00080     int col = index.column();
00081 
00082     QseScan *scan = m_ScanAverager -> inputData() -> scan(row);
00083 
00084     switch (col) {
00085     case 0:
00086       return scan -> name();
00087       break;
00088     case 1:
00089       return scan -> maxRowCount();
00090       break;
00091     case 2:
00092       return scan -> columnCount();
00093       break;
00094     default:
00095       QseColumn *c = scan->column(col-3);
00096       
00097       if (c) {
00098   return c -> name();
00099       } else {
00100   return QVariant();
00101       }
00102     }
00103   } else {
00104     return QVariant();
00105   }
00106 }

Here is the call graph for this function:

QVariant QseScanAveragerModel::headerData ( int  section,
Qt::Orientation  orientation,
int  role = Qt::DisplayRole 
) const

Definition at line 110 of file qsescanaveragermodel.cpp.

00111 {
00112   if (orientation == Qt::Horizontal && role == Qt::DisplayRole) {
00113     switch (section) {
00114     case 0:
00115       return "Scan Name";
00116       break;
00117     case 1:
00118       return "Rows";
00119       break;
00120     case 2:
00121       return "Columns";
00122       break;
00123     default:
00124       return tr("Col %1").arg(section-3);
00125     }
00126   }
00127 
00128   if (orientation == Qt::Vertical && role == Qt::DisplayRole) {
00129     return section;
00130   }
00131 
00132   return QVariant();
00133 }

void QseScanAveragerModel::operationCompleted (  )  [slot]

Definition at line 136 of file qsescanaveragermodel.cpp.

References m_TableView.

00137 {
00138 //   printf("QseScanAveragerModel::operationCompleted\n");
00139 
00140   reset();
00141 
00142   m_TableView -> resizeRowsToContents();
00143   m_TableView -> resizeColumnsToContents();
00144 }

void QseScanAveragerModel::dataChanged (  )  [slot]

Definition at line 147 of file qsescanaveragermodel.cpp.

References m_TableView.

00148 {
00149   reset();
00150 
00151   m_TableView -> resizeRowsToContents();
00152   m_TableView -> resizeColumnsToContents();
00153 }

void QseScanAveragerModel::dataCleared (  )  [slot]

Definition at line 156 of file qsescanaveragermodel.cpp.

00157 {
00158   reset();
00159 }

void QseScanAveragerModel::scanAdded ( int  n  )  [slot]

Definition at line 162 of file qsescanaveragermodel.cpp.

00163 {
00164 }


Member Data Documentation

Definition at line 31 of file qsescanaveragermodel.h.

Referenced by data(), and rowCount().

QTableView* QseScanAveragerModel::m_TableView [private]

Definition at line 32 of file qsescanaveragermodel.h.

Referenced by dataChanged(), and operationCompleted().

int QseScanAveragerModel::m_PrevRowCount [mutable, private]

Definition at line 33 of file qsescanaveragermodel.h.

Referenced by rowCount().

Definition at line 34 of file qsescanaveragermodel.h.

Referenced by columnCount().


The documentation for this class was generated from the following files:

Generated on Fri Aug 8 13:55:55 2008 for QSE by  doxygen 1.5.6