// SPDX-FileCopyrightText: 2025 Filip Leonarski, Paul Scherrer Institute // SPDX-License-Identifier: GPL-3.0-only #ifndef JFJOCHVIEWERMENU_H #define JFJOCHVIEWERMENU_H #include class JFJochViewerMenu : public QMenuBar { Q_OBJECT QAction *toggleImageWindowAction = nullptr; QAction *toggleMetadataWindowAction = nullptr; QAction *toggleSpotWindowAction = nullptr; QAction *toggleReflectionWindowAction = nullptr; QAction *toggleProcessingWindowAction = nullptr; public: explicit JFJochViewerMenu(QWidget *parent = nullptr); ~JFJochViewerMenu() override = default; signals: void fileOpenSelected(const QString &filename, qint64 image_number, qint64 summation); void fileCloseSelected(); void openImageListWindow(); void closeImageListWindow(); void openMetadataWindow(); void closeMetadataWindow(); void openSpotListWindow(); void closeSpotListWindow(); void openReflectionListWindow(); void closeReflectionListWindow(); void openProcessingWindow(); void closeProcessingWindow(); public slots: void imageListWindowClosing(); void metadataWindowClosing(); void spotListWindowClosing(); void reflectionListWindowClosing(); void processingWindowClosing(); private slots: void aboutSelected(); void quitSelected(); void openSelected(); void openHttpSelected(); void closeSelected(); void imageListWindowToggled(bool checked); void metadataWindowToggled(bool checked); void spotListWindowToggled(bool checked); void reflectionListWindowToggled(bool checked); void processingWindowToggled(bool checked); }; #endif //JFJOCHVIEWERMENU_H