00001 #include "qsenormalizerui.h"
00002 #include "qsenormalizer.h"
00003 #include "qsenormalizermodel.h"
00004 #include "qsegraphcontroller.h"
00005 #include "qsedatasetmodel.h"
00006 #include "qsegraphscansmodel.h"
00007
00008 QseNormalizerUI::QseNormalizerUI
00009 (QseNormalizer* normalizer, QWidget* parent)
00010 : QseEXAFSOperatorUI(normalizer, parent),
00011 m_Normalizer(normalizer),
00012
00013 m_NormalizerModel(NULL),
00014 m_ScanPatternEditor(this, &m_Normalizer->m_ScanPattern, NULL),
00015 m_EnergyPatternEditor(this, &m_Normalizer->m_EnergyPattern, NULL),
00016 m_DetectorPatternEditor(this, &m_Normalizer->m_DetectorPattern, NULL),
00017 m_NormalizationPatternEditor(this, &m_Normalizer->m_NormalizationPattern, NULL),
00018 m_SecondsPatternEditor(this, &m_Normalizer->m_SecondsPattern, NULL),
00019 m_MinScanRowCountEditor(this, &m_Normalizer->m_MinScanRowCount, NULL),
00020 m_MaxScanRowCountEditor(this, &m_Normalizer->m_MaxScanRowCount, NULL),
00021 m_MinScanColumnCountEditor(this, &m_Normalizer->m_MinScanColumnCount, NULL),
00022 m_MaxScanColumnCountEditor(this, &m_Normalizer->m_MaxScanColumnCount, NULL),
00023 m_InputEnergyUnitsEditor(this, &m_Normalizer->m_InputEnergyUnits, NULL),
00024 m_OutputEnergyUnitsEditor(this, &m_Normalizer->m_OutputEnergyUnits, NULL)
00025 {
00026 setupUi(this);
00027
00028 m_ScanPatternEditor.setEditors
00029 (scanPatternEdit,scanRegexp,patternApply,patternCancel);
00030 m_EnergyPatternEditor.setEditors
00031 (energyPatternEdit,energyRegexp,patternApply,patternCancel);
00032 m_DetectorPatternEditor.setEditors
00033 (detectorPatternEdit,detectorRegexp,patternApply,patternCancel);
00034 m_NormalizationPatternEditor.setEditors
00035 (normalizationPatternEdit,normalizationRegexp,patternApply,patternCancel);
00036 m_SecondsPatternEditor.setEditors
00037 (secondsPatternEdit,secondsRegexp,patternApply,patternCancel);
00038 m_MinScanRowCountEditor.setEditors
00039 (minScanRowCount,patternApply,patternCancel);
00040 m_MaxScanRowCountEditor.setEditors
00041 (maxScanRowCount,patternApply,patternCancel);
00042 m_MinScanColumnCountEditor.setEditors
00043 (minScanColumnCount,patternApply,patternCancel);
00044 m_MaxScanColumnCountEditor.setEditors
00045 (maxScanColumnCount,patternApply,patternCancel);
00046 m_InputEnergyUnitsEditor.setEditors
00047 (inputUnits,patternApply,patternCancel);
00048 m_OutputEnergyUnitsEditor.setEditors
00049 (outputUnits,patternApply,patternCancel);
00050
00051 connect(patternApply, SIGNAL(clicked()), this, SLOT(dialogApply()));
00052 connect(patternCancel, SIGNAL(clicked()), this, SLOT(dialogCancel()));
00053 connect(normalizeButton, SIGNAL(clicked()), this, SLOT(normalize()));
00054
00055
00056
00057
00058
00059
00060
00061 m_NormalizerModel = new QseNormalizerModel(m_Normalizer, m_NormalizerTable, this);
00062 m_NormalizerTable -> setModel(m_NormalizerModel);
00063
00064
00065 }
00066
00067 void QseNormalizerUI::dialogApply()
00068 {
00069 if (editorValidate()) {
00070 editorApply();
00071
00072 patternApply -> setEnabled(false);
00073 patternCancel-> setEnabled(false);
00074 normalizeButton-> setEnabled(true);
00075
00076 m_NormalizerModel -> operationCompleted();
00077 }
00078 }
00079
00080 void QseNormalizerUI::dialogCancel()
00081 {
00082 editorCancel();
00083
00084 patternApply -> setEnabled(false);
00085 patternCancel-> setEnabled(false);
00086 normalizeButton-> setEnabled(true);
00087
00088 m_NormalizerModel -> operationCompleted();
00089 }
00090
00091 void QseNormalizerUI::normalize()
00092 {
00093 dialogApply();
00094
00095 m_Normalizer -> exec();
00096 }