56 lines
1.4 KiB
C++
56 lines
1.4 KiB
C++
#ifndef BATCHENERGYSCALEDIALOG_H
|
|
#define BATCHENERGYSCALEDIALOG_H
|
|
|
|
#include <QDialog>
|
|
|
|
class QAbstractTableModel;
|
|
class EnergyScaleDataModel;
|
|
|
|
namespace Ui {
|
|
class BatchEnergyScaleDialog;
|
|
}
|
|
|
|
class BatchEnergyScaleDialog : public QDialog
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
explicit BatchEnergyScaleDialog(QWidget *parent = nullptr);
|
|
~BatchEnergyScaleDialog();
|
|
|
|
void SetProjectName(const QString& project_name);
|
|
void SetChannelNameList(const QStringList& ch_name_list);
|
|
void SetPeakResultDataModel(QAbstractTableModel *peaks_result_model);
|
|
void SetViewWorkspace(const QString& workspace);
|
|
void LoadEnergyScaleData();
|
|
|
|
public slots:
|
|
void onSelectedScaleRange(double min, double max);
|
|
void onFitBtnClickedProcess();
|
|
private slots:
|
|
void onEnergyScaleFitFinished(bool ok, const QString& project_name, const QVariant &data);
|
|
|
|
private:
|
|
void insertSetEnergyValueToFilter(double energy);
|
|
void updateSetEnergyFilter();
|
|
void applyEnergyScaleFitResultData();
|
|
void energyScaleDataChanged(const QStringList& channel_name_list);
|
|
|
|
signals:
|
|
void applyEnergyScale(const QString& project_name);
|
|
void close();
|
|
|
|
protected:
|
|
void closeEvent(QCloseEvent *e);
|
|
|
|
private:
|
|
Ui::BatchEnergyScaleDialog *ui;
|
|
QString _project_name;
|
|
QStringList _channel_name_list;
|
|
QString _workspace;
|
|
QAbstractTableModel* _peaks_result_model;
|
|
std::unique_ptr<EnergyScaleDataModel> _energy_scale_data_model;
|
|
};
|
|
|
|
#endif // BATCHENERGYSCALEDIALOG_H
|