EnergySpectrumAnalyer/src/MeasureAnalysisView.h

57 lines
1.5 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>
class MeasureAnalysisView : public QWidget {
Q_OBJECT
public:
enum class ViewType {
None,
DataTable,
CountSpectrum,
CoincidenceEnergySpectrum3D,
CountingRate,
EnergyPeakFit,
NuclideAnalysis,
ParticleInTime,
ParticleTimeDiff,
CoincidenceEventTime,
CoincidenceEnergySpectrum,
AntiCoincidenceSpectrum
};
static std::shared_ptr<MeasureAnalysisView> NewAnalyzeView(const QString& view_type_text);
static const QString& GetAnalyzeViewTypeText(ViewType type);
private:
static QMap<QString, ViewType> _s_analyze_view_type_list;
public:
explicit MeasureAnalysisView(QWidget* parent = nullptr);
ViewType GetAnalyzeViewType();
const QString& GetAnalyzeViewTypeText() const;
void SetViewName(const QString& name);
void SetViewDescription(const QString& description);
const QString& GetViewName() const;
const QString& GetViewDescription() const;
virtual void SetAnalyzeDataFilename(const QMap<QString, QString>& data_files_set) = 0;
2026-03-02 11:07:51 +08:00
protected:
void setAnalyzeViewType(ViewType type);
private:
ViewType _view_type;
QString _name;
QString _description;
public:
friend QDataStream& operator<<(QDataStream& out, const MeasureAnalysisView& view);
friend QDataStream& operator>>(QDataStream& in, MeasureAnalysisView& view);
};
#endif // MEASUREANALYSISVIEW_H