调整视图类型定义

This commit is contained in:
徐海 2026-03-04 16:49:50 +08:00
parent 91a5e30917
commit fdfd8611f4
4 changed files with 63 additions and 54 deletions

View File

@ -38,7 +38,7 @@ TreeWidget::TreeWidget(QWidget* parent)
case TreeItemType::ParticleData:
case TreeItemType::ParticleCountData:
case TreeItemType::ConformParticleData: {
const QString view_type_text = MeasureAnalysisView::GetAnalyzeViewTypeText(MeasureAnalysisView::ViewType::DataTable);
const QString view_type_text = MeasureAnalysisView::GetAnalyzeViewTypeText(MeasureAnalysisViewType::DataTable);
item->NewAnalyzeView(item->GetName(), item->GetDescription(), view_type_text);
MeasureAnalysisView* view = item->GetAnalyzeView(true);
if (view) {
@ -118,7 +118,7 @@ void TreeWidget::SetConnectActions(MeasureAnalysisActions* const actions_analyze
});
connect(actions_analyze, &MeasureAnalysisActions::addMeasureAnalysisProject, [this]() {
emit newMeasureAnalysisProject();
});
connect(actions_analyze, &MeasureAnalysisActions::rmMeasureAnalysisProject, [this]() {
removeAnalyzeItem();
@ -127,16 +127,21 @@ void TreeWidget::SetConnectActions(MeasureAnalysisActions* const actions_analyze
});
connect(actions_analyze, &MeasureAnalysisActions::addAnalyzeView, [this]() {
QString project_name = QString();
MeasureAnalysisViewType view_type = MeasureAnalysisViewType::None;
QTreeWidgetItem* current_item = this->currentItem();
if (!current_item) {
return;
}
TreeItem*
emit newMeasureAnalysisView(MeasureAnalysisView::GetAnalyzeViewTypeText(view_type));
});
connect(actions_analyze, &MeasureAnalysisActions::rmAnalyzeView, [this]() {
removeAnalyzeItem();
});
connect(actions_analyze, &MeasureAnalysisActions::modifyAnalyzeView, [this]() {
TreeItem* item = dynamic_cast<TreeItem*>(this->currentItem());
if (item && (TreeItemType::AnalyzeView == item->GetType())) {
}
});
}

View File

@ -27,7 +27,6 @@ public:
private:
TreeMeasureAnalysisProjectItem* getProjectItem(TreeItem* item);
private slots:
// void onFinishedSeparateEveryChannelParticleData(const QString& project_name);
void onFinishedParticleSortData(const QString& project_name);
@ -37,6 +36,9 @@ signals:
void currentItemViewWidget(MeasureAnalysisView* view);
void removeItemViewFromStack(MeasureAnalysisView* view);
void newMeasureAnalysisProject();
void newMeasureAnalysisView(const QString& project_name, const QString& view_type);
private:
void setCurrentItemHighlight();
void removeAnalyzeItem();

View File

@ -2,68 +2,68 @@
#include <QMap>
#include "MeasureAnalysisDataTableView.h"
QMap<QString, MeasureAnalysisView::ViewType> MeasureAnalysisView::_s_analyze_view_type_list {
QMap<QString, MeasureAnalysisViewType> MeasureAnalysisView::_s_analyze_view_type_list {
{ QStringLiteral(u"数据表视图"),
MeasureAnalysisView::ViewType::DataTable },
MeasureAnalysisViewType::DataTable },
{ QStringLiteral(u"计数谱视图"),
MeasureAnalysisView::ViewType::CountSpectrum },
MeasureAnalysisViewType::CountSpectrum },
{ QStringLiteral(u"符合能谱谱三维分析视图"),
MeasureAnalysisView::ViewType::CoincidenceEnergySpectrum3D },
MeasureAnalysisViewType::CoincidenceEnergySpectrum3D },
{ QStringLiteral(u"计数率分析视图"),
MeasureAnalysisView::ViewType::CountingRate },
MeasureAnalysisViewType::CountingRate },
{ QStringLiteral(u"峰拟合分析视图"),
MeasureAnalysisView::ViewType::EnergyPeakFit },
MeasureAnalysisViewType::EnergyPeakFit },
{ QStringLiteral(u"核素分析视图"),
MeasureAnalysisView::ViewType::NuclideAnalysis },
MeasureAnalysisViewType::NuclideAnalysis },
{ QStringLiteral(u"粒子入射时间分析视图"),
MeasureAnalysisView::ViewType::ParticleInTime },
MeasureAnalysisViewType::ParticleInTime },
{ QStringLiteral(u"粒子时间差分析视图"),
MeasureAnalysisView::ViewType::ParticleTimeDiff },
MeasureAnalysisViewType::ParticleTimeDiff },
{ QStringLiteral(u"符合事件时间分析视图"),
MeasureAnalysisView::ViewType::CoincidenceEventTime },
MeasureAnalysisViewType::CoincidenceEventTime },
{ QStringLiteral(u"符合能谱分析视图"),
MeasureAnalysisView::ViewType::CoincidenceEnergySpectrum },
MeasureAnalysisViewType::CoincidenceEnergySpectrum },
{ QStringLiteral(u"反符合能谱分析视图"),
MeasureAnalysisView::ViewType::AntiCoincidenceSpectrum }
MeasureAnalysisViewType::AntiCoincidenceSpectrum }
};
MeasureAnalysisView *MeasureAnalysisView::NewAnalyzeView(const QString& view_type_text)
{
MeasureAnalysisView* new_view = nullptr;
if (_s_analyze_view_type_list.contains(view_type_text)) {
ViewType view_type = _s_analyze_view_type_list[view_type_text];
MeasureAnalysisViewType view_type = _s_analyze_view_type_list[view_type_text];
switch (view_type) {
case ViewType::DataTable: {
case MeasureAnalysisViewType::DataTable: {
new_view = new MeasureAnalysisDataTableView;
} break;
case ViewType::CountSpectrum: {
case MeasureAnalysisViewType::CountSpectrum: {
new_view = new MeasureAnalysisDataTableView;
} break;
case ViewType::CoincidenceEnergySpectrum3D: {
case MeasureAnalysisViewType::CoincidenceEnergySpectrum3D: {
new_view = new MeasureAnalysisDataTableView;
} break;
case ViewType::CountingRate: {
case MeasureAnalysisViewType::CountingRate: {
new_view = new MeasureAnalysisDataTableView;
} break;
case ViewType::EnergyPeakFit: {
case MeasureAnalysisViewType::EnergyPeakFit: {
new_view = new MeasureAnalysisDataTableView;
} break;
case ViewType::NuclideAnalysis: {
case MeasureAnalysisViewType::NuclideAnalysis: {
new_view = new MeasureAnalysisDataTableView;
} break;
case ViewType::ParticleInTime: {
case MeasureAnalysisViewType::ParticleInTime: {
new_view = new MeasureAnalysisDataTableView;
} break;
case ViewType::ParticleTimeDiff: {
case MeasureAnalysisViewType::ParticleTimeDiff: {
new_view = new MeasureAnalysisDataTableView;
} break;
case ViewType::CoincidenceEventTime: {
case MeasureAnalysisViewType::CoincidenceEventTime: {
new_view = new MeasureAnalysisDataTableView;
} break;
case ViewType::CoincidenceEnergySpectrum: {
case MeasureAnalysisViewType::CoincidenceEnergySpectrum: {
new_view = new MeasureAnalysisDataTableView;
} break;
case ViewType::AntiCoincidenceSpectrum: {
case MeasureAnalysisViewType::AntiCoincidenceSpectrum: {
new_view = new MeasureAnalysisDataTableView;
} break;
default:
@ -73,7 +73,7 @@ MeasureAnalysisView *MeasureAnalysisView::NewAnalyzeView(const QString& view_typ
return new_view;
}
const QString &MeasureAnalysisView::GetAnalyzeViewTypeText(ViewType type)
const QString &MeasureAnalysisView::GetAnalyzeViewTypeText(MeasureAnalysisViewType type)
{
QString view_type_text;
auto it_type = MeasureAnalysisView::_s_analyze_view_type_list.constBegin();
@ -90,10 +90,10 @@ const QString &MeasureAnalysisView::GetAnalyzeViewTypeText(ViewType type)
MeasureAnalysisView::MeasureAnalysisView(QWidget* parent)
: QWidget { parent }
{
_view_type = ViewType::None;
_view_type = MeasureAnalysisViewType::None;
}
MeasureAnalysisView::ViewType MeasureAnalysisView::GetAnalyzeViewType()
MeasureAnalysisViewType MeasureAnalysisView::GetAnalyzeViewType()
{
return _view_type;
}
@ -131,7 +131,7 @@ const QString &MeasureAnalysisView::GetViewDescription() const
return this->_description;
}
void MeasureAnalysisView::setAnalyzeViewType(ViewType type)
void MeasureAnalysisView::setAnalyzeViewType(MeasureAnalysisViewType type)
{
_view_type = type;
}

View File

@ -7,10 +7,7 @@
#include <QVariantMap>
#include <QWidget>
class MeasureAnalysisView : public QWidget {
Q_OBJECT
public:
enum class ViewType {
enum class MeasureAnalysisViewType {
None,
DataTable,
CountSpectrum,
@ -24,15 +21,20 @@ public:
CoincidenceEnergySpectrum,
AntiCoincidenceSpectrum
};
class MeasureAnalysisView : public QWidget {
Q_OBJECT
public:
static MeasureAnalysisView* NewAnalyzeView(const QString& view_type_text);
static const QString& GetAnalyzeViewTypeText(ViewType type);
static const QString& GetAnalyzeViewTypeText(MeasureAnalysisViewType type);
private:
static QMap<QString, ViewType> _s_analyze_view_type_list;
static QMap<QString, MeasureAnalysisViewType> _s_analyze_view_type_list;
public:
explicit MeasureAnalysisView(QWidget* parent = nullptr);
ViewType GetAnalyzeViewType();
MeasureAnalysisViewType GetAnalyzeViewType();
const QString& GetAnalyzeViewTypeText() const;
void SetViewName(const QString& name);
void SetViewDescription(const QString& description);
@ -41,10 +43,10 @@ public:
virtual void SetAnalyzeDataFilename(const QMap<QString, QVariant>& data_files_set) = 0;
protected:
void setAnalyzeViewType(ViewType type);
void setAnalyzeViewType(MeasureAnalysisViewType type);
private:
ViewType _view_type;
MeasureAnalysisViewType _view_type;
QString _name;
QString _description;