69 lines
2.0 KiB
C++
69 lines
2.0 KiB
C++
#ifndef PARTICLECOUNTPLOTVIEW_H
|
|
#define PARTICLECOUNTPLOTVIEW_H
|
|
|
|
#include <QObject>
|
|
#include <QWidget>
|
|
#include <QDialog>
|
|
#include "MeasureAnalysisView.h"
|
|
#include "DataProcessWorkPool.h"
|
|
|
|
class QDialog;
|
|
class QMenu;
|
|
class CustomQwtPlot;
|
|
class QTableWidget;
|
|
class QTableWidgetItem;
|
|
class CustomQwtPlotXaxisSelector;
|
|
class BatchEnergyScaleDialog;
|
|
class FindPeaksResultDialog;
|
|
|
|
|
|
class ParticleCountPlotView : public MeasureAnalysisView
|
|
{
|
|
Q_OBJECT
|
|
public:
|
|
ParticleCountPlotView(QWidget *parent = nullptr);
|
|
virtual ~ParticleCountPlotView();
|
|
|
|
virtual void InitViewWorkspace(const QString& project_name) override final;
|
|
virtual void SetAnalyzeDataFilename(const QMap<QString, QVariant>& data_files_set);
|
|
|
|
void updateView(const QMap<QString, QVariant>& data_files_set);
|
|
|
|
private:
|
|
void setupMenu();
|
|
void setupPlot();
|
|
void setupPeakResultDlg();
|
|
void setupEnergyScaleDlg();
|
|
void loadDataFromFile(const QString &data_name, const QString& filename);
|
|
void loadPeaksResultToTable(QTableWidget* peaks_result_table);
|
|
void updatePlotPeakInfo(const QVariantMap& peak_infos);
|
|
void onManualPeakRangeSelected(double minX, double maxX);
|
|
QMap<QString, ChannelSelectionData> getSelectedRangeData(double minX, double maxX);
|
|
|
|
private slots:
|
|
void onAutoFindPeaksFinished(bool ok, const QString &project_name, const QVariant& data);
|
|
private slots:
|
|
void onActionCurveShowSetting();
|
|
void onActionFindPeaksResult();
|
|
void onActionAutoFindPeaks();
|
|
void onActionManualFindPeaks();
|
|
void onActionEnergyScale();
|
|
void onActionPlotConfigure();
|
|
signals:
|
|
void applyEnergyScale();
|
|
|
|
private:
|
|
QString _workspace;
|
|
CustomQwtPlot* _plot = nullptr;
|
|
QMenu* _menu = nullptr;
|
|
QDialog* _curve_show_setting_dlg = nullptr;
|
|
QMap<QString, QVariant> _data_files_set_ptr;
|
|
FindPeaksResultDialog* _find_peaks_result_dlg = nullptr;
|
|
CustomQwtPlotXaxisSelector* _data_selector = nullptr;
|
|
BatchEnergyScaleDialog* _batch_energy_scale_dlg = nullptr;
|
|
double _x_max = 0.0f;
|
|
double _y_max = 0.0f;
|
|
};
|
|
|
|
#endif // PARTICLECOUNTPLOTVIEW_H
|