00001 #ifndef QSEAVERAGERROLE_H 00002 #define QSEAVERAGERROLE_H 00003 00004 #include <QObject> 00005 #include <QRegExp> 00006 00007 class QseAverager; 00008 class QseScan; 00009 class QseColumn; 00010 class ColoredTableItem; 00011 00012 class QseAveragerRole : public QObject 00013 { 00014 Q_OBJECT; 00015 00016 public: 00017 QseAveragerRole(QObject *parent = NULL); 00018 ~QseAveragerRole(); 00019 00020 int matchesScan(const QseScan *s); 00021 int matchesEnergyColumn(const QseColumn *c); 00022 int matchesDetectorColumn(const QseColumn *c); 00023 int matchesNormalizationColumn(const QseColumn *c); 00024 int matchesSecondsColumn(const QseColumn *c); 00025 00026 QString scanPattern(); 00027 QString energyPattern(); 00028 QString detectorPattern(); 00029 QString normalizationPattern(); 00030 QString secondsPattern(); 00031 QString minScanRowCount(); 00032 QString maxScanRowCount(); 00033 int inputEnergyUnits(); 00034 int outputEnergyUnits(); 00035 00036 bool scanRegexp(); 00037 bool energyRegexp(); 00038 bool detectorRegexp(); 00039 bool normalizationRegexp(); 00040 bool secondsRegexp(); 00041 00042 ColoredTableItem *styledScanItem(QseScan *scan); 00043 ColoredTableItem *styledColumnItem(QseColumn *col); 00044 00045 double energyScalingRatio(); 00046 00047 public slots: 00048 void setScanPattern(const QString &pattern); 00049 void setEnergyPattern(const QString &pattern); 00050 void setDetectorPattern(const QString &pattern); 00051 void setNormalizationPattern(const QString &pattern); 00052 void setSecondsPattern(const QString &pattern); 00053 void setMinScanRowCount(const QString &ct); 00054 void setMaxScanRowCount(const QString &ct); 00055 void setInputEnergyUnits(int n); 00056 void setOutputEnergyUnits(int n); 00057 00058 void setScanRegexp(bool); 00059 void setEnergyRegexp(bool); 00060 void setDetectorRegexp(bool); 00061 void setNormalizationRegexp(bool); 00062 void setSecondsRegexp(bool); 00063 00064 signals: 00065 void changed(); 00066 00067 private: 00068 QseAverager *m_Averager; 00069 QRegExp m_ScanPattern; 00070 QRegExp m_EnergyPattern; 00071 QRegExp m_DetectorPattern; 00072 QRegExp m_NormalizationPattern; 00073 QRegExp m_SecondsPattern; 00074 00075 QString m_MinScanRowCount; 00076 QString m_MaxScanRowCount; 00077 00078 int m_InputEnergyUnits; 00079 int m_OutputEnergyUnits; 00080 }; 00081 00082 #endif
1.5.5