Files
Jungfraujoch/viewer/windows/JFJochSettingsWindow.h
T
leonarski_fandClaude Opus 4.8 b735aec1c4 viewer: show effective indexing algorithm; disable GPU options without CUDA
- The Indexing tab now shows what the selected algorithm resolves to on this
  machine/dataset ("Effective on this system: ..."), mirroring
  DiffractionExperiment::GetIndexingAlgorithm() so Auto is no longer ambiguous
  (GPU present? unit cell known?). Cell-known state is forwarded from the loaded
  dataset via JFJochSettingsWindow::datasetLoaded.
- FFBIDX and FFT (GPU) radio options are disabled on builds without CUDA, where
  only the FFTW CPU indexer exists.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-22 11:09:21 +02:00

37 lines
1.7 KiB
C++

// SPDX-FileCopyrightText: 2026 Filip Leonarski, Paul Scherrer Institute <filip.leonarski@psi.ch>
// SPDX-License-Identifier: GPL-3.0-only
#pragma once
#include "JFJochHelperWindow.h"
#include "JFJochViewerProcessingWindow.h"
#include "JFJochAzIntWindow.h"
#include "JFJochBraggIntegrationPanel.h"
#include "JFJochScalingPanel.h"
// One tabbed window converging all processing settings: Spot finding & indexing | Azimuthal |
// Bragg integration | Scaling. The first two tabs reuse the existing settings widgets (their
// content is lifted into tabs, keeping all their logic), Bragg + scaling are new. Single source of
// truth for both interactive single-image analysis and processing jobs.
class JFJochSettingsWindow : public JFJochHelperWindow {
Q_OBJECT
JFJochViewerProcessingWindow *m_processing;
JFJochAzIntWindow *m_azint;
JFJochBraggIntegrationPanel *m_bragg;
JFJochScalingPanel *m_scaling;
public:
JFJochSettingsWindow(const SpotFindingSettings &spot, const IndexingSettings &indexing,
const AzimuthalIntegrationSettings &azint, const BraggIntegrationSettings &bragg,
const ScalingSettings &scaling, QWidget *parent = nullptr);
// Forwards the dataset's unit-cell state to the indexing tab (to resolve the Auto algorithm).
void datasetLoaded(std::shared_ptr<const JFJochReaderDataset> in_dataset) override;
signals:
void spotFindingChanged(const SpotFindingSettings &settings, const IndexingSettings &indexing, int64_t max_spots);
void azintChanged(const AzimuthalIntegrationSettings &settings);
void braggChanged(BraggIntegrationSettings settings);
void scalingChanged(ScalingSettings settings);
};