EnergySpectrumAnalyer/src/MeasureAnalysisView.h

59 lines
1.6 KiB
C
Raw Normal View History

2026-03-02 11:07:51 +08:00
#ifndef MEASUREANALYSISVIEW_H
#define MEASUREANALYSISVIEW_H
#include <QDataStream>
#include <QList>
#include <QMap>
#include <QVariantMap>
#include <QWidget>
2026-03-04 16:49:50 +08:00
enum class MeasureAnalysisViewType {
None,
DataTable,
CountSpectrum,
CoincidenceEnergySpectrum3D,
CountingRate,
EnergyPeakFit,
NuclideAnalysis,
ParticleInTime,
ParticleTimeDiff,
CoincidenceEventTime,
CoincidenceEnergySpectrum,
AntiCoincidenceSpectrum
};
2026-03-02 11:07:51 +08:00
class MeasureAnalysisView : public QWidget {
Q_OBJECT
public:
2026-03-04 16:49:50 +08:00
static MeasureAnalysisView* NewAnalyzeView(const QString& view_type_text);
2026-03-04 16:49:50 +08:00
static const QString& GetAnalyzeViewTypeText(MeasureAnalysisViewType type);
2026-03-02 11:07:51 +08:00
private:
2026-03-04 16:49:50 +08:00
static QMap<QString, MeasureAnalysisViewType> _s_analyze_view_type_list;
2026-03-02 11:07:51 +08:00
public:
explicit MeasureAnalysisView(QWidget* parent = nullptr);
2026-03-04 16:49:50 +08:00
MeasureAnalysisViewType GetAnalyzeViewType();
2026-03-02 11:07:51 +08:00
const QString& GetAnalyzeViewTypeText() const;
void SetViewName(const QString& name);
void SetViewDescription(const QString& description);
const QString& GetViewName() const;
const QString& GetViewDescription() const;
2026-03-04 16:17:04 +08:00
virtual void SetAnalyzeDataFilename(const QMap<QString, QVariant>& data_files_set) = 0;
2026-03-02 11:07:51 +08:00
protected:
2026-03-04 16:49:50 +08:00
void setAnalyzeViewType(MeasureAnalysisViewType type);
2026-03-02 11:07:51 +08:00
private:
2026-03-04 16:49:50 +08:00
MeasureAnalysisViewType _view_type;
2026-03-02 11:07:51 +08:00
QString _name;
QString _description;
public:
friend QDataStream& operator<<(QDataStream& out, const MeasureAnalysisView& view);
friend QDataStream& operator>>(QDataStream& in, MeasureAnalysisView& view);
};
#endif // MEASUREANALYSISVIEW_H