00001 #ifndef QSEDATASET_H 00002 #define QSEDATASET_H 00003 00004 #include <QObject> 00005 #include <QList> 00006 #include <QFile> 00007 #include <QStringList> 00008 #include <QApplication> 00009 #include <QMutex> 00010 #include <QList> 00011 00012 #include "qsescan.h" 00013 00014 class QseDataSet : public QObject 00015 { 00016 Q_OBJECT; 00017 00018 public: 00019 QseDataSet(const QString& name, QObject *parent = 0); 00020 ~QseDataSet(); 00021 00022 void writeScan(int i, const QString &name); 00023 void writeScans(const QString &name); 00024 00025 void removeScan(int i); 00026 00027 int scanCount() const; 00028 void clear(); 00029 00030 int maxColumnCount() const; 00031 00032 QseScan* scan(int n) const; 00033 00034 QStringList header() const; 00035 void setHeader(const QStringList& hdr); 00036 void appendHeader(const QString& hline); 00037 00038 QseScan *appendScan(); 00039 00040 void setDefaultRoles(); 00041 00042 QString fileName() const; 00043 void setFileName(const QString &name); 00044 00045 void emitLoadCompleted(); 00046 00047 signals: 00048 void loadCompleted(); 00049 void message(const QString& msg); 00050 void madeProgress(int level); 00051 void dataCleared(); 00052 void scanAdded(int n); 00053 void dataChanged(); 00054 00055 private: 00056 QStringList m_Header; 00057 QList<QseScan*> m_Scans; 00058 QList<QseScan*> m_SpareScans; 00059 00060 QString m_FileName; 00061 00062 protected: 00063 mutable QMutex m_Mutex; 00064 }; 00065 00066 #endif
1.5.5