#include <qsedataset.h>


Signals | |
| void | loadCompleted () |
| void | message (const QString &msg) |
| void | madeProgress (int level) |
| void | dataCleared () |
| void | scanAdded (int n) |
| void | dataChanged () |
Public Member Functions | |
| QseDataSet (const QString &name, QObject *parent=0) | |
| ~QseDataSet () | |
| void | writeScan (int i, const QString &name) |
| void | writeScans (const QString &name) |
| void | removeScan (int i) |
| int | scanCount () const |
| void | clear () |
| int | maxColumnCount () const |
| QseScan * | scan (int n) const |
| QStringList | header () const |
| void | setHeader (const QStringList &hdr) |
| void | appendHeader (const QString &hline) |
| QseScan * | appendScan () |
| void | setDefaultRoles () |
| QString | fileName () const |
| void | setFileName (const QString &name) |
| void | emitLoadCompleted () |
Protected Attributes | |
| QMutex | m_Mutex |
Private Attributes | |
| QStringList | m_Header |
| QList< QseScan * > | m_Scans |
| QList< QseScan * > | m_SpareScans |
| QString | m_FileName |
Definition at line 14 of file qsedataset.h.
| QseDataSet::QseDataSet | ( | const QString & | name, | |
| QObject * | parent = 0 | |||
| ) |
Definition at line 7 of file qsedataset.cpp.
00008 : QObject(parent), 00009 m_Mutex(QMutex::Recursive) 00010 { 00011 setObjectName(name); 00012 }
| QseDataSet::~QseDataSet | ( | ) |
Definition at line 14 of file qsedataset.cpp.
References m_Mutex, m_Scans, m_SpareScans, and scan().
00015 { 00016 QMutexLocker lock(&m_Mutex); 00017 00018 QseScan *scan; 00019 00020 foreach (scan, m_Scans) { 00021 delete scan; 00022 } 00023 00024 foreach (scan, m_SpareScans) { 00025 delete scan; 00026 } 00027 }

| void QseDataSet::writeScan | ( | int | i, | |
| const QString & | name | |||
| ) |
Definition at line 153 of file qsedataset.cpp.
References message(), and scan().
Referenced by writeScans().
00154 { 00155 QFileInfo fileInfo(name); 00156 00157 QDir dir = fileInfo.dir(); 00158 QString base = fileInfo.completeBaseName(); 00159 QString extn = fileInfo.suffix(); 00160 00161 QFileInfo ofile(dir, base+"-"+QString().setNum(i)+"."+extn); 00162 00163 QseScan *s = scan(i); 00164 00165 if (s) { 00166 s -> writeScan(ofile.filePath()); 00167 00168 emit message (QString("Scan %1 saved as %2").arg(i).arg(ofile.filePath())); 00169 } 00170 }

| void QseDataSet::writeScans | ( | const QString & | name | ) |
Definition at line 146 of file qsedataset.cpp.
References scanCount(), and writeScan().

| void QseDataSet::removeScan | ( | int | i | ) |
Definition at line 172 of file qsedataset.cpp.
References dataChanged(), m_Mutex, m_Scans, m_SpareScans, and scanCount().
00173 { 00174 if (i >= 0 && i < scanCount()) { 00175 { 00176 QMutexLocker lock(&m_Mutex); 00177 QseScan *s = m_Scans.takeAt(i); 00178 00179 if (s) { 00180 m_SpareScans.append(s); 00181 } 00182 } 00183 00184 emit dataChanged(); 00185 } 00186 }

| int QseDataSet::scanCount | ( | ) | const |
Definition at line 29 of file qsedataset.cpp.
References m_Mutex, and m_Scans.
Referenced by appendScan(), clear(), QseInputFile::nextInputLine(), QseDataExport::QseDataExport(), removeScan(), SimpleGraphController::removeSelectedScans(), scan(), QseController::setCurrentScan(), setDefaultRoles(), SummaryTableController::updateSummaryTableHeaders(), SummaryTableController::updateSummaryTableScans(), and writeScans().
| void QseDataSet::clear | ( | ) |
Definition at line 43 of file qsedataset.cpp.
References dataChanged(), dataCleared(), m_Header, m_Mutex, m_Scans, m_SpareScans, and scanCount().
Referenced by appendScan().
00044 { 00045 int sz = scanCount(); 00046 00047 { 00048 QMutexLocker lock(&m_Mutex); 00049 00050 for (int i = sz-1; i>=0; i--) { 00051 m_SpareScans.append(m_Scans.takeLast()); 00052 } 00053 00054 m_Header.clear(); 00055 } 00056 00057 emit dataCleared(); 00058 emit dataChanged(); 00059 }

| int QseDataSet::maxColumnCount | ( | ) | const |
Definition at line 73 of file qsedataset.cpp.
References QseScan::columnCount(), m_Mutex, m_Scans, and scan().
Referenced by QseDataSetModel::columnCount(), SummaryTableController::updateSummaryTableColumnInfo(), and SummaryTableController::updateSummaryTableHeaders().
00074 { 00075 QMutexLocker lock(&m_Mutex); 00076 00077 int max=0; 00078 QseScan* scan; 00079 00080 foreach (scan, m_Scans) { 00081 if (scan) { 00082 if (scan->columnCount()>max) { 00083 max = scan->columnCount(); 00084 } 00085 } 00086 } 00087 00088 return max; 00089 }

| QseScan * QseDataSet::scan | ( | int | n | ) | const |
Definition at line 61 of file qsedataset.cpp.
References m_Mutex, m_Scans, and scanCount().
Referenced by appendScan(), SimpleGraphController::currentScan(), QseController::currentScan(), QseGraphScansModel::data(), QseDataSetModel::data(), QseNormalizer::matchesScan(), maxColumnCount(), QseNormalizer::normalizeScan(), QseAverager::normalizeScan(), QseDataExport::QseDataExport(), QseDataReference::QseDataReference(), QseController::readSettings(), QseController::scan(), setDefaultRoles(), QseDataExport::substituteFilenamePatterns(), SummaryTableController::updateSummaryTableColumnInfo(), SummaryTableController::updateSummaryTableScanInfo(), SummaryTableController::updateSummaryTableScans(), writeScan(), and ~QseDataSet().
00062 { 00063 int ns = scanCount(); 00064 00065 if (n >= 0 && n < ns) { 00066 QMutexLocker lock(&m_Mutex); 00067 return m_Scans.at(n); 00068 } else { 00069 return NULL; 00070 } 00071 }

| QStringList QseDataSet::header | ( | ) | const |
Definition at line 116 of file qsedataset.cpp.
References m_Header, and m_Mutex.
Referenced by QseDataExport::applyPressed().
| void QseDataSet::setHeader | ( | const QStringList & | hdr | ) |
Definition at line 123 of file qsedataset.cpp.
References m_Header.
00124 { 00125 m_Header = hdr; 00126 }
| void QseDataSet::appendHeader | ( | const QString & | hline | ) |
Definition at line 128 of file qsedataset.cpp.
References m_Header, and m_Mutex.
Referenced by QseInputFile::nextInputLine().
| QseScan * QseDataSet::appendScan | ( | ) |
Definition at line 91 of file qsedataset.cpp.
References clear(), dataChanged(), m_Mutex, m_Scans, m_SpareScans, scan(), scanAdded(), and scanCount().
Referenced by QseInputFile::nextInputLine().
00092 { 00093 QseScan *scan = NULL; 00094 00095 { 00096 QMutexLocker lock(&m_Mutex); 00097 00098 if (m_SpareScans.size()) { 00099 scan = m_SpareScans.takeLast(); 00100 scan -> clear(); 00101 } else { 00102 scan = new QseScan(""); 00103 } 00104 00105 m_Scans.append(scan); 00106 } 00107 00108 // printf("%s: Append scan %d\n", qPrintable(objectName()), scanCount()-1); 00109 00110 emit scanAdded(scanCount()-1); 00111 emit dataChanged(); 00112 00113 return scan; 00114 }

| void QseDataSet::setDefaultRoles | ( | ) |
Definition at line 135 of file qsedataset.cpp.
References scan(), and scanCount().
00136 { 00137 for (int i=0; i<scanCount(); i++) { 00138 QseScan *s = scan(i); 00139 00140 if (s) { 00141 s -> setDefaultRoles(); 00142 } 00143 } 00144 }

| QString QseDataSet::fileName | ( | ) | const |
Definition at line 188 of file qsedataset.cpp.
References m_FileName.
Referenced by QseDataExport::QseDataExport(), and QseDataExport::substituteFilenamePatterns().
00189 { 00190 return m_FileName; 00191 }
| void QseDataSet::setFileName | ( | const QString & | name | ) |
Definition at line 193 of file qsedataset.cpp.
References m_FileName.
Referenced by QseInputFile::nextDataFile().
00194 { 00195 m_FileName = nam; 00196 }
| void QseDataSet::emitLoadCompleted | ( | ) |
Definition at line 36 of file qsedataset.cpp.
References loadCompleted().
Referenced by QseFileReader::run().
00037 { 00038 // printf("emitLoadCompleted()\n"); 00039 00040 emit loadCompleted(); 00041 }
| void QseDataSet::loadCompleted | ( | ) | [signal] |
Referenced by emitLoadCompleted(), and QseInputFile::nextInputLine().
| void QseDataSet::message | ( | const QString & | msg | ) | [signal] |
Referenced by QseInputFile::nextInputLine(), and writeScan().
| void QseDataSet::madeProgress | ( | int | level | ) | [signal] |
Referenced by QseInputFile::nextInputLine(), and QseInputFile::updateProgress().
| void QseDataSet::dataCleared | ( | ) | [signal] |
Referenced by clear().
| void QseDataSet::scanAdded | ( | int | n | ) | [signal] |
Referenced by appendScan(), and QseInputFile::nextInputLine().
| void QseDataSet::dataChanged | ( | ) | [signal] |
Referenced by appendScan(), clear(), QseInputFile::emitDataChanged(), and removeScan().
QStringList QseDataSet::m_Header [private] |
Definition at line 56 of file qsedataset.h.
Referenced by appendHeader(), clear(), header(), and setHeader().
QList<QseScan*> QseDataSet::m_Scans [private] |
Definition at line 57 of file qsedataset.h.
Referenced by appendScan(), clear(), maxColumnCount(), removeScan(), scan(), scanCount(), and ~QseDataSet().
QList<QseScan*> QseDataSet::m_SpareScans [private] |
Definition at line 58 of file qsedataset.h.
Referenced by appendScan(), clear(), removeScan(), and ~QseDataSet().
QString QseDataSet::m_FileName [private] |
QMutex QseDataSet::m_Mutex [mutable, protected] |
Definition at line 63 of file qsedataset.h.
Referenced by appendHeader(), appendScan(), QseInputFile::atEnd(), clear(), QseInputFile::filePath(), header(), maxColumnCount(), QseInputFile::nextDataFile(), QseInputFile::nextInputLine(), removeScan(), scan(), scanCount(), QseInputFile::updateProgress(), ~QseDataSet(), and QseInputFile::~QseInputFile().
1.5.5