// SPDX-FileCopyrightText: 2025 Filip Leonarski, Paul Scherrer Institute // SPDX-License-Identifier: GPL-3.0-only #pragma once #include #include #include #include "../common/BrokerStatus.h" #include "JFJochImageReadingWorker.h" class JFJochViewerStatusBar : public QStatusBar { Q_OBJECT // Permanent (right-side) widgets. These are created once and never shown/hidden or resized, // so the status bar never reflows; when not applicable they are just blanked in place. QProgressBar *state_box; // Jungfraujoch state text, progress drawn as the bar fill QLabel *rate_label; // effective live update rate JFJochImageReadingWorker::AutoloadMode autoload_mode = JFJochImageReadingWorker::AutoloadMode::None; int64_t total_images = 0; int64_t current_image = 0; public: explicit JFJochViewerStatusBar(QWidget *parent = nullptr); public slots: void display(QString input); void setBrokerStatus(BrokerStatus status); void setHttpConnection(bool connected, QString addr); void setAutoloadMode(JFJochImageReadingWorker::AutoloadMode mode); void setImageNumber(int64_t total_images, int64_t current_image); void setLiveRate(double hz); };