Files
Jungfraujoch/viewer/JFJochViewerMenu.h
T
leonarski_fandClaude Opus 4.8 fef9c2f4c3 viewer: load user mask from TIFF (replace or add)
Two Mask-menu entries read a 16-bit TIFF (via ReadTIFFFromString16) and
apply it as the user mask: "replace" overwrites the current mask, "add"
unions the TIFF into it. The TIFF must match the detector dimensions; any
non-zero pixel masks. Both go through UpdateUserMask_i like the other
mask edits.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-19 14:52:21 +02:00

49 lines
1.4 KiB
C++

// SPDX-FileCopyrightText: 2025 Filip Leonarski, Paul Scherrer Institute <filip.leonarski@psi.ch>
// SPDX-License-Identifier: GPL-3.0-only
#pragma once
#include <QMenuBar>
#include "windows/JFJochHelperWindow.h"
class JFJochViewerMenu : public QMenuBar {
Q_OBJECT
QAction *toggleImageWindowAction = nullptr;
QAction *toggleMetadataWindowAction = nullptr;
QAction *toggleSpotWindowAction = nullptr;
QAction *toggleReflectionWindowAction = nullptr;
QAction *toggleProcessingWindowAction = nullptr;
QAction *toggleCalibrationWindowAction = nullptr;
QMenu *windowMenu = nullptr;
public:
explicit JFJochViewerMenu(QWidget *parent = nullptr);
~JFJochViewerMenu() override = default;
void AddWindowEntry(JFJochHelperWindow *window, const QString &name);
signals:
void fileOpenSelected(const QString &filename, qint64 image_number, qint64 summation, bool retry);
void fileCloseSelected();
void saveUserMaskTiffSelected(const QString &filename);
void loadUserMaskTiffSelected(const QString &filename, bool replace);
void uploadUserMaskSelected();
void clearUserMaskSelected();
void openDatasetInfo();
private slots:
void aboutSelected();
void quitSelected();
void openSelected();
void openHttpSelected();
void closeSelected();
void saveUserMaskAsTiffSelected();
void uploadUserMaskAction();
private:
void openLoadUserMaskTiff(bool replace);
};