From 3e18a7dea072be0da61d18eefdd6b2d382c7dd9b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BE=90=E6=B5=B7?= Date: Tue, 24 Mar 2026 14:18:44 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=B2=92=E5=AD=90=E8=83=BD?= =?UTF-8?q?=E9=87=8F=E6=95=B0=E6=8D=AE=E8=A7=86=E5=9B=BE=E6=98=BE=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/AnalysisTypeDefine.h | 1 + src/MeasureAnalysisProjectModel.cpp | 2 +- src/MeasureAnalysisTreeView.cpp | 20 ++++++++++++++++++++ src/MeasureAnalysisView.cpp | 4 ++++ 4 files changed, 26 insertions(+), 1 deletion(-) diff --git a/src/AnalysisTypeDefine.h b/src/AnalysisTypeDefine.h index 6318f4e..c65e637 100644 --- a/src/AnalysisTypeDefine.h +++ b/src/AnalysisTypeDefine.h @@ -9,6 +9,7 @@ enum class AnalysisType { EfficiencyScale, // 效率刻度 ParticleData, // 粒子数据 AddressCountData, // 粒子道址计数数据 + ParticleEnergyData, // 粒子数据 EnergyCountData, // 能量计数数据 ChannelEnergyCountData, // 通道能量计数数据 CoincidenceParticleEnergyData, // 符合粒子能量数据 diff --git a/src/MeasureAnalysisProjectModel.cpp b/src/MeasureAnalysisProjectModel.cpp index 6d1d01b..c85a11b 100644 --- a/src/MeasureAnalysisProjectModel.cpp +++ b/src/MeasureAnalysisProjectModel.cpp @@ -933,7 +933,7 @@ void MeasureAnalysisProjectModelList::intiProjectNodeStruce(MeasureAnalysisProje state_ok = !pro_model->GetParticleEnergyDataFilename().isEmpty(); status = state_ok ? QStringLiteral(u"有效") : QStringLiteral(u"无效"); - analys_type = QVariant::fromValue(AnalysisType::CoincidenceParticleEnergyData); + analys_type = QVariant::fromValue(AnalysisType::ParticleEnergyData); item_name = QStringLiteral(u"粒子能量数据"); node_item = AddChildNode(analysis_data_item, item_name, status, analys_type, true, state_ok); node_item->setData(project_name, ProjectName); diff --git a/src/MeasureAnalysisTreeView.cpp b/src/MeasureAnalysisTreeView.cpp index 90d04d5..5a148a9 100644 --- a/src/MeasureAnalysisTreeView.cpp +++ b/src/MeasureAnalysisTreeView.cpp @@ -102,6 +102,26 @@ void MeasureAnalysisTreeView::onNodeDoubleClicked(const QModelIndex& index) } } } break; + case AnalysisType::ParticleEnergyData: { + MeasureAnalysisProjectModel* project_model = _model->GetProjectModel(project_name); + if (project_model) { + auto file_name = project_model->GetParticleEnergyDataFilename(); + if ( !file_name.isEmpty() ) { + QMap data_files_set; + data_files_set[QStringLiteral(u"粒子能量数据")] = file_name; + MeasureAnalysisView* view = MeasureAnalysisView::NewAnalyzeView(analysis_type); + if ( view ) { + view->SetProjectName(project_name); + const auto& view_name = QStringLiteral(u"%1[%2]").arg(item_text).arg(project_name); + view->SetViewName(view_name); + view->SetViewDescription(view_name); + view->InitViewWorkspace(project_name); + view->SetAnalyzeDataFilename(data_files_set); + emit currentItemView(view); + } + } + } + } break; case AnalysisType::AddressCountSpectrumView: { MeasureAnalysisProjectModel* project_model = _model->GetProjectModel(project_name); if (project_model) { diff --git a/src/MeasureAnalysisView.cpp b/src/MeasureAnalysisView.cpp index 0f52878..cf72a82 100644 --- a/src/MeasureAnalysisView.cpp +++ b/src/MeasureAnalysisView.cpp @@ -27,6 +27,10 @@ MeasureAnalysisView *MeasureAnalysisView::NewAnalyzeView(AnalysisType view_type) new_view = new MeasureAnalysisDataTableView; new_view->setDeleteOnClose(true); } break; + case AnalysisType::ParticleEnergyData: { + new_view = new MeasureAnalysisDataTableView; + new_view->setDeleteOnClose(true); + } break; case AnalysisType::AddressCountData: { new_view = new MeasureAnalysisDataTableView; new_view->setDeleteOnClose(true);