47 lines
1.1 KiB
C++
47 lines
1.1 KiB
C++
// SPDX-FileCopyrightText: 2025 Filip Leonarski, Paul Scherrer Institute <filip.leonarski@psi.ch>
|
|
// SPDX-License-Identifier: GPL-3.0-only
|
|
|
|
#ifndef JFJOCH_JFJOCHAZINTWINDOW_H
|
|
#define JFJOCH_JFJOCHAZINTWINDOW_H
|
|
|
|
#include "JFJochHelperWindow.h"
|
|
#include "../widgets/SliderPlusBox.h"
|
|
#include <QCheckBox>
|
|
#include <QRadioButton>
|
|
#include <QLabel>
|
|
|
|
class JFJochAzIntWindow : public JFJochHelperWindow {
|
|
Q_OBJECT
|
|
|
|
AzimuthalIntegrationSettings m_settings;
|
|
|
|
SliderPlusBox *m_qSpacing;
|
|
SliderPlusBox *m_lowQ;
|
|
SliderPlusBox *m_highQ;
|
|
|
|
QCheckBox *m_solidAngleCheckBox;
|
|
QCheckBox *m_polarizationCheckBox;
|
|
|
|
QButtonGroup *m_azimuthalBinsGroup;
|
|
QList<QRadioButton*> m_azimuthalBinButtons;
|
|
|
|
QLabel *m_errorLabel;
|
|
|
|
bool m_lowQError = false;
|
|
bool m_highQError = false;
|
|
bool m_qSpacingError = false;
|
|
|
|
void UpdateErrorLabel();
|
|
void ApplyToSettings();
|
|
void Update();
|
|
public:
|
|
explicit JFJochAzIntWindow(
|
|
const AzimuthalIntegrationSettings &settings,
|
|
QWidget *parent = nullptr
|
|
);
|
|
|
|
signals:
|
|
void settingsChanged(const AzimuthalIntegrationSettings &settings);
|
|
};
|
|
|
|
#endif //JFJOCH_JFJOCHAZINTWINDOW_H
|