Files
Jungfraujoch/viewer/windows/JFJochAzIntWindow.h
T

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