diff --git a/src/data/xlsxhandler.cpp b/src/data/xlsxhandler.cpp index f211818..5d52585 100644 --- a/src/data/xlsxhandler.cpp +++ b/src/data/xlsxhandler.cpp @@ -6,6 +6,9 @@ namespace AnaOpRecorder = AnalysisOperationRecorder; using AnaOpRecorderOperation = AnalysisOperationRecorder::AnalysisOperation; +using AnalysisMode = Global::AnalysisMode; + + QString XlsxHandler::_currentFilePath; void XlsxHandler::test() @@ -292,7 +295,7 @@ void XlsxHandler::writeAnalysisOperation(const QString filePath) QString analysisOpName; switch(ao.mode){ - case Global::NumericalLabel: + case AnalysisMode::NumericalLabel: { analysisOpName = AnalysisOperationRecorder::NumericalLabelStr; break; @@ -406,6 +409,12 @@ QXlsx::Document* XlsxHandler::openXlsxFile(const QString& sourceFilePath) { void XlsxHandler::readAnalysisOperation(QXlsx::Worksheet *sheet, int &startLineIndex) { + QXlsx::Cell *cell = sheet->cellAt(startLineIndex, 2); + if (!cell) { + logde << "Cell does not exist."; + return; + } + int size = sheet->cellAt(startLineIndex++, 2)->value().toInt(); logde<<"ana op size:"<cellAt(startLineIndex, 2)->value().toDouble(); ao.x2 = sheet->cellAt(startLineIndex, 3)->value().toDouble(); - AnaOpRecorder::_fileAnanlysisOperationVtr.push_back(ao); + AnaOpRecorder::_ananlysisOperationVtr.push_back(ao); startLineIndex++; diff --git a/src/global.h b/src/global.h index e7938fa..4e8f634 100644 --- a/src/global.h +++ b/src/global.h @@ -7,6 +7,19 @@ #include "protocol.h" +#if 0 +enum AnalysisMode{ + Null, + NumericalLabel, + StartPoint, + StopPoint, + PeakSynthesisAnalysis, + GlassTransition, + OnsetTemperaturePoint, + EndsetTemperaturePoint +}; +#endif + namespace Global { const QString ConSoftVersion = "0.9.7.1"; @@ -43,7 +56,6 @@ enum AnalysisMode{ OnsetTemperaturePoint, EndsetTemperaturePoint }; - enum Mode{ Analysis, ConnectedToDev, @@ -123,86 +135,9 @@ QString converDoubleToStr(const double); void quadraticLeastSquaresFit(double x[], double y[], int n, double coeff[]); double findNegativeStartPoint(double m, double b, double start, double end); -} -#if 0 -class Global:public QObject -{ - Q_OBJECT -public: - Global(); - static Global* instance(); - - enum Mode{ - Analysis, - ConnectedToDev, - DeliveredData, - ExperimentStart - }; - - void setMode(const Mode); - Mode getMode(){return _mode;} - - enum DeviceConnectionStatus{ - Disconnected, - Connected - }; - -#if 0 - void setDeviceConnectionStatus(const DeviceConnectionStatus); - DeviceConnectionStatus getDeviceConnectionStatus(){return _deviceConnectStatus;} -#endif - - struct ExperimentData { - float runTime; - float sampleTemp; - float dsc; - }; - - // struct ExpeInfo - // { - // QString sampleName; - // float sampleWeight; - // QString date; - // QString userName; - // }; - - enum TestType{ - OIT, - NoneOIT - }; - - struct ExperimentInfo{ - // experiment info - QString sampleName; - QString sampleWeight; - QString date; - QString experimentor; - // phase info - TestType testType; - GasType initialAtmosPhere; - int phaseSize; - - QVector phaseVtr; - }; - - ExperimentInfo _experimentInfo; - - struct PhaseTotalInfo{ - int phaseIndex; // from 1 to 6. - Phase phase; - QVector dataVtr; - }; - - QVector>> _curveDataVtr; - -signals: - void sigModeModify(const Mode); - void sigDeviceConnnectionStatusModify(const DeviceConnectionStatus); -public slots: -private: - Mode _mode; - DeviceConnectionStatus _deviceConnectStatus; }; -#endif + + + #endif // GLOBAL_H diff --git a/src/ui/analysisoperationrecorder.h b/src/ui/analysisoperationrecorder.h index 587635c..c776cd9 100644 --- a/src/ui/analysisoperationrecorder.h +++ b/src/ui/analysisoperationrecorder.h @@ -2,8 +2,11 @@ #define ANALYSISOPERATIONRECORDER_H #include "centralwidget.h" +#include "global.h" namespace AnalysisOperationRecorder { +using AnalysisMode = Global::AnalysisMode; + const QString NumericalLabelStr("NumericalLabel"); const QString StartPointStr("StartPoint"); const QString StopPointStr("StopPoint"); @@ -26,7 +29,7 @@ enum AnalysisMode{ #endif struct AnalysisOperation{ - CentralWidget::AnalysisMode mode; + AnalysisMode mode; double x1,x2; }; diff --git a/src/ui/centralwidget.cpp b/src/ui/centralwidget.cpp index d393126..03e46e0 100644 --- a/src/ui/centralwidget.cpp +++ b/src/ui/centralwidget.cpp @@ -15,7 +15,6 @@ namespace AnaOpRecorder = AnalysisOperationRecorder; using AnaOpRecorderOperation = AnalysisOperationRecorder::AnalysisOperation; -//using AnaOpAnalysisMode = AnalysisOperationRecorder::AnalysisMode; CentralWidget::CentralWidget(QWidget *parent) : QWidget(parent) @@ -158,7 +157,7 @@ void CentralWidget::switchAxisMode() _customPlot->replot(); } -void CentralWidget::setAnalysisMode(const CentralWidget::AnalysisMode mode) +void CentralWidget::setAnalysisMode(const AnalysisMode mode) { _analysisMode = mode; @@ -264,7 +263,7 @@ void CentralWidget::slotRecvAnalysisFileName(const QString &filePath) for(int i = 0;i < cfd.phaseTotalVtr.size();i++){ Global::PhaseTotalInfo& pti = cfd.phaseTotalVtr[i]; - // logde<<"data Vtr size:"< 0){ + for(AnaOpRecorder::AnalysisOperation& ao + :AnalysisOperationRecorder::_ananlysisOperationVtr){ + loadAnalysisData(ao.mode,ao.x1,ao.x2); + } } // Refresh ui. _customPlot->rescaleAxes(); @@ -496,7 +497,7 @@ void CentralWidget::slotAnalysisSettingConfirm() slotAnalysisSettingApply(); - setAnalysisMode(CentralWidget::AnalysisMode::Null); + setAnalysisMode(AnalysisMode::Null); _line1->setVisible(false); _line2->setVisible(false); @@ -516,7 +517,7 @@ void CentralWidget::slotAnalysisSettingCancel() { clearData(ClearDataMode::Undo); - setAnalysisMode(CentralWidget::AnalysisMode::Null); + setAnalysisMode(AnalysisMode::Null); _line1->setVisible(false); _line2->setVisible(false); @@ -1130,11 +1131,11 @@ void CentralWidget::loadAnalysisData(const CentralWidget::AnalysisMode mode, con if(_analysisMode == AnalysisMode::StartPoint){ point = startEndPointPair.first; str = PointCalculate::textFormatStartPoint(point); - ao.mode = AnalysisMode::StartPoint; + ao.mode = Global::AnalysisMode::StartPoint; }else{ point = startEndPointPair.second; str = PointCalculate::textFormatEndPoint(point); - ao.mode = AnalysisMode::StopPoint; + ao.mode = Global::AnalysisMode::StopPoint; } drawText(point,str); diff --git a/src/ui/centralwidget.h b/src/ui/centralwidget.h index d54dcb3..e120c5b 100644 --- a/src/ui/centralwidget.h +++ b/src/ui/centralwidget.h @@ -11,11 +11,13 @@ #include "filemanager.h" #include "pointcalculate.h" #include "localcustomplot.h" +#include "analysisoperationrecorder.h" class CentralWidget:public QWidget { Q_OBJECT public: +#if 0 enum AnalysisMode{ Null, NumericalLabel, @@ -26,6 +28,11 @@ public: OnsetTemperaturePoint, EndsetTemperaturePoint }; +#endif + + using AnalysisMode = Global::AnalysisMode; + + CentralWidget(QWidget *parent = nullptr); ~CentralWidget();