Branch: master

c62b282d 2015-09-12 21:06:19 Timothy Pearson
Save sweep parameters in waveform file
Minor update to control lockout rules
M clients/tde/src/part/companalyzer/part.cpp
M clients/tde/src/part/companalyzer/part.h
diff --git a/clients/tde/src/part/companalyzer/part.cpp b/clients/tde/src/part/companalyzer/part.cpp
index 66eb188..8762616 100755
--- a/clients/tde/src/part/companalyzer/part.cpp
+++ b/clients/tde/src/part/companalyzer/part.cpp
@@ -544,6 +544,10 @@
 	return m_sweepEnd;
 }
 
+double CompAnalyzerWorker::sweepStepFrequency() {
+	return m_sweepStep;
+}
+
 void CompAnalyzerWorker::setSweepStepFrequency(double hz) {
 	m_sweepStep = hz;
 }
@@ -713,6 +717,7 @@
 		m_base->sweepStartFrequencyBox->setEnabled(false);
 		m_base->sweepEndFrequencyBox->setEnabled(false);
 		m_base->sweepStepFrequencyBox->setEnabled(false);
+		m_base->waveformRecall->setEnabled(false);
 	}
 	else {
 		if (m_base->sweepEndFrequencyBox->floatValue() > m_base->sweepStartFrequencyBox->floatValue()) {
@@ -740,6 +745,7 @@
 		m_base->sweepStartFrequencyBox->setEnabled(true);
 		m_base->sweepEndFrequencyBox->setEnabled(true);
 		m_base->sweepStepFrequencyBox->setEnabled(true);
+		m_base->waveformRecall->setEnabled(true);
 	}
 
 	if (m_base->autoSave->isOn()) {
@@ -1236,6 +1242,9 @@
 		ds << m_hdivs;
 		ds << m_vdivs;
 		ds << m_maxNumberOfTraces;
+		ds << m_worker->sweepStartFrequency();
+		ds << m_worker->sweepEndFrequency();
+		ds << m_worker->sweepStepFrequency();
 		for (int traceno=0; traceno<m_maxNumberOfTraces; traceno++) {
 			TQ_UINT8 boolValue;
 			boolValue = m_channelActive[traceno];
@@ -1266,10 +1275,16 @@
 		if (magicNumber == WAVEFORM_MAGIC_NUMBER) {
 			ds >> version;
 			if (version == WAVEFORM_FILE_VERSION) {
+				double sweepStartFrequency;
+				double sweepEndFrequency;
+				double sweepStepFrequency;
 				ds >> m_sensorList;
 				ds >> m_hdivs;
 				ds >> m_vdivs;
 				ds >> m_maxNumberOfTraces;
+				ds >> sweepStartFrequency;
+				ds >> sweepEndFrequency;
+				ds >> sweepStepFrequency;
 				for (int traceno=0; traceno<m_maxNumberOfTraces; traceno++) {
 					TQ_UINT8 boolValue;
 					ds >> boolValue;
@@ -1302,6 +1317,9 @@
 				TQString notes;
 				ds >> notes;
 				m_base->userNotes->setText(notes);
+				m_base->sweepStartFrequencyBox->setFloatValue(sweepStartFrequency / 1000000.0);
+				m_base->sweepEndFrequencyBox->setFloatValue(sweepEndFrequency / 1000000.0);
+				m_base->sweepStepFrequencyBox->setFloatValue(sweepStepFrequency / 1000000.0);
 			}
 			else {
 				KMessageBox::error(0, i18n("<qt>The selected waveform file version does not match this client</qt>"), i18n("Invalid File"));
diff --git a/clients/tde/src/part/companalyzer/part.h b/clients/tde/src/part/companalyzer/part.h
index 7dfdd32..517e81d 100644
--- a/clients/tde/src/part/companalyzer/part.h
+++ b/clients/tde/src/part/companalyzer/part.h
@@ -146,6 +146,7 @@
 			void setSweepStepFrequency(double hz);
 			double sweepStartFrequency();
 			double sweepEndFrequency();
+			double sweepStepFrequency();
 			unsigned int sweepStepNumber();
 
 		private: