// SPDX-FileCopyrightText: 2025 Filip Leonarski, Paul Scherrer Institute // SPDX-License-Identifier: GPL-3.0-only #ifndef JFJOCH_JFJOCHAZINTWINDOW_H #define JFJOCH_JFJOCHAZINTWINDOW_H #include "JFJochHelperWindow.h" #include "../widgets/SliderPlusBox.h" #include #include #include 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 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