EnergySpectrumAnalyer/src/MeasureAnalysisView.cpp

189 lines
5.4 KiB
C++
Raw Normal View History

2026-03-02 11:07:51 +08:00
#include "MeasureAnalysisView.h"
#include "ConformityAnalysis.h"
#include "CountRateAnalysisView.h"
#include "MeasureDeviceParamsConfigView.h"
#include "EnergyCountPeakFitView.h"
#include "EnergyCountPlotView.h"
2026-03-02 11:07:51 +08:00
#include "MeasureAnalysisDataTableView.h"
#include "ParticleCountPlotView.h"
2026-03-25 12:05:36 +08:00
#include "ParticleInjectTimeAnalysisView.h"
#include "ParticleTimeDifferenceView.h"
#include <QMap>
MeasureAnalysisView* MeasureAnalysisView::NewAnalyzeView(AnalysisType view_type)
2026-03-02 11:07:51 +08:00
{
MeasureAnalysisView* new_view = nullptr;
switch (view_type) {
case AnalysisType::Project: {
// new_view = new MeasureAnalysisDataTableView;
// new_view->setDeleteOnClose(true);
} break;
case AnalysisType::DeviceParamsCfg: {
new_view = new MeasureDeviceParamsConfigView;
new_view->setDeleteOnClose(true);
} break;
case AnalysisType::EnergyScale: {
// new_view = new MeasureAnalysisDataTableView;
// new_view->setDeleteOnClose(true);
} break;
case AnalysisType::EfficiencyScale: {
// new_view = new MeasureAnalysisDataTableView;
// new_view->setDeleteOnClose(true);
} break;
case AnalysisType::ParticleData: {
new_view = new MeasureAnalysisDataTableView;
new_view->setDeleteOnClose(true);
} break;
2026-03-24 14:18:44 +08:00
case AnalysisType::ParticleEnergyData: {
new_view = new MeasureAnalysisDataTableView;
new_view->setDeleteOnClose(true);
} break;
case AnalysisType::AddressCountData: {
new_view = new MeasureAnalysisDataTableView;
new_view->setDeleteOnClose(true);
} break;
case AnalysisType::EnergyCountData: {
new_view = new MeasureAnalysisDataTableView;
new_view->setDeleteOnClose(true);
} break;
case AnalysisType::ChannelEnergyCountData: {
new_view = new MeasureAnalysisDataTableView;
new_view->setDeleteOnClose(true);
} break;
case AnalysisType::CoincidenceParticleEnergyData: {
new_view = new MeasureAnalysisDataTableView;
new_view->setDeleteOnClose(true);
} break;
case AnalysisType::AddressCountSpectrumView: {
new_view = new ParticleCountPlotView;
new_view->setDeleteOnClose(false);
} break;
case AnalysisType::EnergyCountSpectrumView: {
new_view = new EnergyCountPlotView;
new_view->setDeleteOnClose(false);
} break;
case AnalysisType::CoincidenceParticleEnergySpectrum2DView: {
// new_view = new MeasureAnalysisDataTableView;
// new_view->setDeleteOnClose(false);
} break;
case AnalysisType::CoincidenceParticleEnergySpectrum3DView: {
new_view = new ConformityAnalysis;
new_view->setDeleteOnClose(false);
} break;
case AnalysisType::CountingRateView: {
new_view = new CountRateAnalysisView;
new_view->setDeleteOnClose(false);
} break;
case AnalysisType::EnergyPeakFitView: {
new_view = new EnergyCountPeakFitView;
new_view->setDeleteOnClose(false);
} break;
case AnalysisType::NuclideAnalysisView: {
// new_view = new MeasureAnalysisDataTableView;
// new_view->setDeleteOnClose(false);
} break;
case AnalysisType::ParticleInTimeView: {
2026-03-25 12:05:36 +08:00
new_view = new ParticleInjectTimeAnalysisView;
2026-03-24 10:30:26 +08:00
new_view->setDeleteOnClose(false);
} break;
case AnalysisType::ParticleTimeDiffView: {
new_view = new ParticleTimeDifferenceView;
new_view->setDeleteOnClose(false);
} break;
case AnalysisType::CoincidenceEventTimeView: {
// new_view = new MeasureAnalysisParticleCountPlotView;
// new_view->setDeleteOnClose(false);
} break;
case AnalysisType::CoincidenceParticleEnergySpectrumView: {
// new_view = new MeasureAnalysisDataTableView;
// new_view->setDeleteOnClose(false);
} break;
case AnalysisType::AntiCoincidenceSpectrumView: {
// new_view = new MeasureAnalysisDataTableView;
// new_view->setDeleteOnClose(false);
} break;
default:
break;
}
if (new_view) {
new_view->setAnalyzeType(view_type);
2026-03-02 11:07:51 +08:00
}
return new_view;
}
MeasureAnalysisView::MeasureAnalysisView(QWidget* parent)
: QWidget { parent }
2026-03-02 11:07:51 +08:00
{
_analysis_type = AnalysisType::None;
2026-03-02 11:07:51 +08:00
}
void MeasureAnalysisView::SetProjectName(const QString& project_name)
2026-03-11 13:59:46 +08:00
{
_project_name = project_name;
}
const QString& MeasureAnalysisView::GetProjectName() const
2026-03-11 13:59:46 +08:00
{
return _project_name;
}
AnalysisType MeasureAnalysisView::GetAnalyzeType()
2026-03-02 11:07:51 +08:00
{
return _analysis_type;
2026-03-02 11:07:51 +08:00
}
bool MeasureAnalysisView::IsDeleteOnClose()
2026-03-02 11:07:51 +08:00
{
return _delete_on_close;
2026-03-02 11:07:51 +08:00
}
MeasureAnalysisView::ViewType MeasureAnalysisView::GetViewType()
2026-03-02 11:07:51 +08:00
{
return _view_type;
2026-03-02 11:07:51 +08:00
}
void MeasureAnalysisView::SetViewName(const QString& name)
2026-03-02 11:07:51 +08:00
{
this->_name = name;
}
void MeasureAnalysisView::SetViewDescription(const QString& description)
2026-03-02 11:07:51 +08:00
{
this->_description = description;
}
const QString& MeasureAnalysisView::GetViewName() const
2026-03-02 11:07:51 +08:00
{
return this->_name;
}
const QString& MeasureAnalysisView::GetViewDescription() const
2026-03-02 11:07:51 +08:00
{
return this->_description;
}
void MeasureAnalysisView::setAnalyzeType(AnalysisType type)
{
_analysis_type = type;
}
void MeasureAnalysisView::setDeleteOnClose(bool del)
{
_delete_on_close = del;
}
void MeasureAnalysisView::setViewType(ViewType view_type)
2026-03-02 11:07:51 +08:00
{
_view_type = view_type;
2026-03-02 11:07:51 +08:00
}
QDataStream& operator<<(QDataStream& out, const MeasureAnalysisView& view)
{
return out;
}
QDataStream& operator>>(QDataStream& in, MeasureAnalysisView& view)
{
return in;
}