EnergySpectrumAnalyer/src/MeasureAnalysisView.h
2026-03-11 13:59:46 +08:00

59 lines
1.6 KiB
C++

#ifndef MEASUREANALYSISVIEW_H
#define MEASUREANALYSISVIEW_H
#include <QDataStream>
#include <QList>
#include <QMap>
#include <QVariantMap>
#include <QWidget>
#include "AnalysisTypeDefine.h"
class MeasureAnalysisView : public QWidget {
Q_OBJECT
public:
static MeasureAnalysisView* NewAnalyzeView(AnalysisType view_type);
public:
enum ViewType {
None,
ConfigFrame,
DataTable,
PlotFrame
};
explicit MeasureAnalysisView(QWidget* parent = nullptr);
void SetProjectName(const QString& project_name);
const QString& GetProjectName() const;
AnalysisType GetAnalyzeType();
bool IsDeleteOnClose();
ViewType GetViewType();
void SetViewName(const QString& name);
void SetViewDescription(const QString& description);
const QString& GetViewName() const;
const QString& GetViewDescription() const;
virtual void InitViewWorkspace(const QString& project_name) = 0;
virtual void SetAnalyzeDataFilename(const QMap<QString, QVariant>& data_files_set) = 0;
protected:
void setAnalyzeType(AnalysisType type);
void setDeleteOnClose(bool del);
void setViewType(ViewType view_type);
private:
QString _project_name;
bool _delete_on_close = true;
AnalysisType _analysis_type = AnalysisType::None;
ViewType _view_type = ViewType::None;
QString _name;
QString _description;
public:
friend QDataStream& operator<<(QDataStream& out, const MeasureAnalysisView& view);
friend QDataStream& operator>>(QDataStream& in, MeasureAnalysisView& view);
};
#endif // MEASUREANALYSISVIEW_H