2511-eiger-mask #2

Merged
leonarski_f merged 69 commits from 2511-eiger-mask into main 2025-11-09 12:42:28 +01:00
9 changed files with 189 additions and 140 deletions
Showing only changes of commit c19803ad69 - Show all commits

View File

@@ -14,8 +14,6 @@ ADD_EXECUTABLE(jfjoch_viewer jfjoch_viewer.cpp JFJochViewerWindow.cpp JFJochView
JFJochViewerImage.h
JFJochImageReadingWorker.cpp
JFJochImageReadingWorker.h
JFJochViewerToolbar.cpp
JFJochViewerToolbar.h
JFJochViewerDatasetInfo.cpp
JFJochViewerDatasetInfo.h
JFJochViewerSidePanel.cpp
@@ -62,6 +60,10 @@ ADD_EXECUTABLE(jfjoch_viewer jfjoch_viewer.cpp JFJochViewerWindow.cpp JFJochView
JFJochViewerImageROIStatistics_Box.h
JFJochViewerImageROIStatistics_Circle.cpp
JFJochViewerImageROIStatistics_Circle.h
JFJochViewerToolbarImage.cpp
JFJochViewerToolbarImage.h
JFJochViewerToolbarDisplay.cpp
JFJochViewerToolbarDisplay.h
)
TARGET_LINK_LIBRARIES(jfjoch_viewer Qt6::Core Qt6::Gui Qt6::Widgets Qt6::Charts Qt6::DBus

View File

@@ -36,15 +36,15 @@ void JFJochImageReadingWorker::LoadFile(const QString &filename, qint64 image_nu
total_images = http_reader.GetNumberOfImages();
dataset = http_reader.GetDataset();
if (image_number < 0)
emit setToolbarMode(JFJochViewerToolbar::ToolbarMode::Autoload);
emit setToolbarMode(JFJochViewerToolbarImage::ToolbarMode::Autoload);
else
emit setToolbarMode(JFJochViewerToolbar::ToolbarMode::None);
emit setToolbarMode(JFJochViewerToolbarImage::ToolbarMode::None);
} else {
http_mode = false;
file_reader.ReadFile(filename.toStdString());
total_images = file_reader.GetNumberOfImages();
dataset = file_reader.GetDataset();
emit setToolbarMode(JFJochViewerToolbar::ToolbarMode::None);
emit setToolbarMode(JFJochViewerToolbarImage::ToolbarMode::None);
}
current_image.reset();
current_summation = 1;

View File

@@ -10,7 +10,7 @@
#include <QRect>
#include <QMutex>
#include "JFJochViewerToolbar.h"
#include "JFJochViewerToolbarImage.h"
#include "../reader/JFJochHDF5Reader.h"
#include "../common/Logger.h"
@@ -65,7 +65,7 @@ signals:
void imageLoaded(std::shared_ptr<const JFJochReaderImage>);
void imageStatsUpdated(std::shared_ptr<const JFJochReaderImage>);
void imageNumberChanged(int64_t total_images, int64_t current_image);
void setToolbarMode(JFJochViewerToolbar::ToolbarMode input);
void setToolbarMode(JFJochViewerToolbarImage::ToolbarMode input);
void setRings(const QVector<float> &v);
public:
JFJochImageReadingWorker(const SpotFindingSettings &settings, const DiffractionExperiment& experiment, QObject *parent = nullptr);

View File

@@ -0,0 +1,76 @@
// SPDX-FileCopyrightText: 2025 Filip Leonarski, Paul Scherrer Institute <filip.leonarski@psi.ch>
// SPDX-License-Identifier: GPL-3.0-only
#include "JFJochViewerToolbarDisplay.h"
#include <QLabel>
#include "../common/ColorScale.h"
JFJochViewerToolbarDisplay::JFJochViewerToolbarDisplay(QWidget *parent)
: QToolBar(parent) {
addWidget(new QLabel("<b>Foreground </b>&nbsp;&nbsp;"));
foreground_slider = new SliderPlusBox(1, 65000, 1.0, 1, this,
SliderPlusBox::ScaleType::Logarithmic);
foreground_slider->setValue(10);
addWidget(foreground_slider);
auto_foreground_button = new QPushButton("Auto");
auto_foreground_button->setCheckable(true);
auto_foreground_button->setChecked(auto_foreground);
addWidget(auto_foreground_button);
addWidget(new QLabel("&nbsp;&nbsp;<b>Color map</b>&nbsp;&nbsp;"));
// Initialize QComboBox with the options
color_map_select = new QComboBox(this);
color_map_select->addItem("Viridis", static_cast<int>(ColorScaleEnum::Viridis));
color_map_select->addItem("Heat", static_cast<int>(ColorScaleEnum::Heat));
color_map_select->addItem("Indigo", static_cast<int>(ColorScaleEnum::Indigo));
color_map_select->addItem("B/W", static_cast<int>(ColorScaleEnum::BW));
color_map_select->setCurrentIndex(static_cast<int>(ColorScaleEnum::Indigo));
addWidget(color_map_select);
addWidget(new QLabel("&nbsp;&nbsp;<b>Background </b>&nbsp;&nbsp;"));
background_slider = new SliderPlusBox(-30000, 30000, 1.0, 1, this,
SliderPlusBox::ScaleType::Linear);
background_slider->setValue(0);
addWidget(background_slider);
auto *stretch = new QWidget(this);
stretch->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred);
addWidget(stretch);
connect(foreground_slider, &SliderPlusBox::valueChanged, this, &JFJochViewerToolbarDisplay::foregroundSet);
connect(background_slider, &SliderPlusBox::valueChanged, this, &JFJochViewerToolbarDisplay::backgroundSet);
connect(color_map_select, QOverload<int>::of(&QComboBox::currentIndexChanged),
this, &JFJochViewerToolbarDisplay::colorComboBoxSet);
connect(auto_foreground_button, &QPushButton::clicked, this, &JFJochViewerToolbarDisplay::autoForegroundButtonPressed);
}
void JFJochViewerToolbarDisplay::foregroundSet(double val) {
if (auto_foreground) {
auto_foreground = false;
auto_foreground_button->setChecked(false);
emit setAutoForeground(false);
}
emit setForeground(static_cast<float>(val));
}
void JFJochViewerToolbarDisplay::backgroundSet(double val) {
emit setBackground(static_cast<float>(val));
}
void JFJochViewerToolbarDisplay::updateForeground(float val) {
QSignalBlocker blocker(foreground_slider);
foreground_slider->setValue(val);
}
void JFJochViewerToolbarDisplay::colorComboBoxSet(int val) {
emit colorMapChanged(val);
}
void JFJochViewerToolbarDisplay::autoForegroundButtonPressed() {
auto_foreground = !auto_foreground;
auto_foreground_button->setChecked(auto_foreground);
emit setAutoForeground(auto_foreground);
}

View File

@@ -0,0 +1,42 @@
// SPDX-FileCopyrightText: 2025 Filip Leonarski, Paul Scherrer Institute <filip.leonarski@psi.ch>
// SPDX-License-Identifier: GPL-3.0-only
#ifndef JFJOCH_JFJOCHVIEWERTOOLBARDISPLAY_H
#define JFJOCH_JFJOCHVIEWERTOOLBARDISPLAY_H
#include <QToolBar>
#include "widgets/SliderPlusBox.h"
#include <QPushButton>
#include <QComboBox>
class JFJochViewerToolbarDisplay : public QToolBar {
Q_OBJECT
bool auto_foreground = false;
SliderPlusBox *background_slider;
SliderPlusBox *foreground_slider;
QPushButton *auto_foreground_button;
QComboBox *color_map_select;
public:
JFJochViewerToolbarDisplay(QWidget *parent = nullptr);
signals:
void setForeground(float val);
void setBackground(float val);
void colorMapChanged(int val);
void setAutoForeground(bool val);
public slots:
void updateForeground(float val);
private slots:
void foregroundSet(double val);
void backgroundSet(double val);
void colorComboBoxSet(int val);
void autoForegroundButtonPressed();
};
#endif //JFJOCH_JFJOCHVIEWERTOOLBARDISPLAY_H

View File

@@ -1,20 +1,10 @@
// SPDX-FileCopyrightText: 2025 Filip Leonarski, Paul Scherrer Institute <filip.leonarski@psi.ch>
// SPDX-License-Identifier: GPL-3.0-only
#include "JFJochViewerToolbar.h"
#include "../common/ColorScale.h"
#include <QPushButton>
#include <QSlider>
#include <QLabel>
#include <QLineEdit>
#include <QIntValidator>
#include "JFJochViewerToolbarImage.h"
#include <QTimer>
#include <cmath>
#include "widgets/NumericComboBox.h"
JFJochViewerToolbar::JFJochViewerToolbar(QWidget *parent) : QToolBar(parent) {
JFJochViewerToolbarImage::JFJochViewerToolbarImage(QWidget *parent) : QToolBar(parent) {
image_count_in_dataset = 0;
auto title = new QLabel("<b>Image number</b> ", this);
@@ -51,12 +41,12 @@ JFJochViewerToolbar::JFJochViewerToolbar(QWidget *parent) : QToolBar(parent) {
addWidget(new QLabel(" Jump:", this));
jump = new NumericComboBox({1, 2, 5, 10, 20, 100, 500}, 1, 999, this);
connect(jump, &NumericComboBox::valueChanged, this, &JFJochViewerToolbar::setImageJump);
connect(jump, &NumericComboBox::valueChanged, this, &JFJochViewerToolbarImage::setImageJump);
addWidget(jump);
addWidget(new QLabel(" Sum:", this));
auto sum = new NumericComboBox({1, 2, 5, 10, 20, 50, 100}, 1, 10000, this);
connect(sum, &NumericComboBox::valueChanged, this, &JFJochViewerToolbar::setSummation);
connect(sum, &NumericComboBox::valueChanged, this, &JFJochViewerToolbarImage::setSummation);
addWidget(sum);
image_number_slider = new QSlider(Qt::Horizontal, this);
@@ -77,59 +67,28 @@ JFJochViewerToolbar::JFJochViewerToolbar(QWidget *parent) : QToolBar(parent) {
autoload_button->setCheckable(true);
addWidget(autoload_button);
connect(movie_button, &QPushButton::clicked, this, &JFJochViewerToolbar::movieButtonPressed);
connect(autoload_button, &QPushButton::clicked, this, &JFJochViewerToolbar::autoloadButtonPressed);
connect(movie_timer, &QTimer::timeout, this, &JFJochViewerToolbar::movieTimerTimeout);
connect(movie_button, &QPushButton::clicked, this, &JFJochViewerToolbarImage::movieButtonPressed);
connect(autoload_button, &QPushButton::clicked, this, &JFJochViewerToolbarImage::autoloadButtonPressed);
connect(movie_timer, &QTimer::timeout, this, &JFJochViewerToolbarImage::movieTimerTimeout);
auto *stretch = new QWidget(this);
stretch->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred);
addWidget(stretch);
addSeparator();
addWidget(new QLabel("<b>Foreground </b>&nbsp;&nbsp;"));
foreground_slider = new SliderPlusBox(1, 30000, 1.0, 1, this,
SliderPlusBox::ScaleType::Logarithmic);
foreground_slider->setValue(10);
addWidget(foreground_slider);
auto_foreground_button = new QPushButton("Auto");
auto_foreground_button->setCheckable(true);
auto_foreground_button->setChecked(auto_foreground);
addWidget(auto_foreground_button);
addWidget(new QLabel("&nbsp;&nbsp;<b>Color map</b>&nbsp;&nbsp;"));
// Initialize QComboBox with the options
color_map_select = new QComboBox(this);
color_map_select->addItem("Viridis", static_cast<int>(ColorScaleEnum::Viridis));
color_map_select->addItem("Heat", static_cast<int>(ColorScaleEnum::Heat));
color_map_select->addItem("Indigo", static_cast<int>(ColorScaleEnum::Indigo));
color_map_select->addItem("B/W", static_cast<int>(ColorScaleEnum::BW));
color_map_select->setCurrentIndex(static_cast<int>(ColorScaleEnum::Indigo));
addWidget(color_map_select);
auto *stretch_2 = new QWidget(this);
stretch_2->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred);
addWidget(stretch_2);
setImageNumber(0, 0);
connect(left_button, &QPushButton::clicked, this, &JFJochViewerToolbar::leftButtonPressed);
connect(right_button, &QPushButton::clicked, this, &JFJochViewerToolbar::rightButtonPressed);
connect(leftmost_button, &QPushButton::clicked, this, &JFJochViewerToolbar::leftmostButtonPressed);
connect(rightmost_button, &QPushButton::clicked, this, &JFJochViewerToolbar::rightmostButtonPressed);
connect(left_button, &QPushButton::clicked, this, &JFJochViewerToolbarImage::leftButtonPressed);
connect(right_button, &QPushButton::clicked, this, &JFJochViewerToolbarImage::rightButtonPressed);
connect(leftmost_button, &QPushButton::clicked, this, &JFJochViewerToolbarImage::leftmostButtonPressed);
connect(rightmost_button, &QPushButton::clicked, this, &JFJochViewerToolbarImage::rightmostButtonPressed);
connect(current_image_edit, &QLineEdit::editingFinished, this, &JFJochViewerToolbar::editFinalized);
connect(image_number_slider, &QSlider::sliderPressed, this, &JFJochViewerToolbar::imageNumberSliderPressed);
connect(image_number_slider, &QSlider::sliderReleased, this, &JFJochViewerToolbar::imageNumberSliderReleased);
connect(image_number_slider, &QSlider::sliderMoved, this, &JFJochViewerToolbar::imageNumberSliderMoved);
connect(foreground_slider, &SliderPlusBox::valueChanged, this, &JFJochViewerToolbar::foregroundSet);
connect(color_map_select, QOverload<int>::of(&QComboBox::currentIndexChanged),
this, &JFJochViewerToolbar::colorComboBoxSet);
connect(auto_foreground_button, &QPushButton::clicked, this, &JFJochViewerToolbar::autoForegroundButtonPressed);
connect(current_image_edit, &QLineEdit::editingFinished, this, &JFJochViewerToolbarImage::editFinalized);
connect(image_number_slider, &QSlider::sliderPressed, this, &JFJochViewerToolbarImage::imageNumberSliderPressed);
connect(image_number_slider, &QSlider::sliderReleased, this, &JFJochViewerToolbarImage::imageNumberSliderReleased);
connect(image_number_slider, &QSlider::sliderMoved, this, &JFJochViewerToolbarImage::imageNumberSliderMoved);
}
void JFJochViewerToolbar::updateButtons() {
void JFJochViewerToolbarImage::updateButtons() {
if (image_count_in_dataset > 0) {
current_image_edit->setDisabled(false);
current_image_edit->setText(QString::number(curr_image));
@@ -160,7 +119,7 @@ void JFJochViewerToolbar::updateButtons() {
total_number_label->setText("/" + QString::number(image_count_in_dataset - 1));
}
void JFJochViewerToolbar::setImageNumber(int64_t total_images, int64_t current_image) {
void JFJochViewerToolbarImage::setImageNumber(int64_t total_images, int64_t current_image) {
if (image_count_in_dataset != total_images && mode == ToolbarMode::Movie) {
mode = ToolbarMode::None;
updateAutoload();
@@ -171,7 +130,7 @@ void JFJochViewerToolbar::setImageNumber(int64_t total_images, int64_t current_i
updateButtons();
}
void JFJochViewerToolbar::leftButtonPressed() {
void JFJochViewerToolbarImage::leftButtonPressed() {
if (curr_image >= jump_value) {
emit loadImage(curr_image - jump_value, sum);
mode = ToolbarMode::None;
@@ -179,7 +138,7 @@ void JFJochViewerToolbar::leftButtonPressed() {
}
}
void JFJochViewerToolbar::rightButtonPressed() {
void JFJochViewerToolbarImage::rightButtonPressed() {
if (curr_image < image_count_in_dataset - jump_value) {
emit loadImage(curr_image + jump_value, sum);
mode = ToolbarMode::None;
@@ -187,38 +146,38 @@ void JFJochViewerToolbar::rightButtonPressed() {
}
}
void JFJochViewerToolbar::rightmostButtonPressed() {
void JFJochViewerToolbarImage::rightmostButtonPressed() {
emit loadImage(image_count_in_dataset - 1, sum);
mode = ToolbarMode::None;
updateAutoload();
}
void JFJochViewerToolbar::leftmostButtonPressed() {
void JFJochViewerToolbarImage::leftmostButtonPressed() {
emit loadImage(0, sum);
mode = ToolbarMode::None;
updateAutoload();
}
void JFJochViewerToolbar::imageNumberSliderPressed() {
void JFJochViewerToolbarImage::imageNumberSliderPressed() {
image_number_slider_manual = true;
mode = ToolbarMode::None;
updateAutoload();
}
void JFJochViewerToolbar::imageNumberSliderReleased() {
void JFJochViewerToolbarImage::imageNumberSliderReleased() {
image_number_slider_manual = false;
int val = image_number_slider->value();
emit loadImage(val, sum);
}
void JFJochViewerToolbar::imageNumberSliderMoved(int val) {
void JFJochViewerToolbarImage::imageNumberSliderMoved(int val) {
if (!image_number_slider_timer->isActive()) {
emit loadImage(val, sum);
image_number_slider_timer->start(300);
}
}
void JFJochViewerToolbar::editFinalized() {
void JFJochViewerToolbarImage::editFinalized() {
bool ok;
int editedValue = current_image_edit->text().toInt(&ok);
@@ -229,32 +188,15 @@ void JFJochViewerToolbar::editFinalized() {
}
}
void JFJochViewerToolbar::foregroundSet(double val) {
if (auto_foreground) {
auto_foreground = false;
auto_foreground_button->setChecked(false);
emit setAutoForeground(false);
}
emit setForeground(static_cast<float>(val));
}
void JFJochViewerToolbar::updateForeground(float val) {
QSignalBlocker blocker(foreground_slider);
foreground_slider->setValue(val);
}
void JFJochViewerToolbar::colorComboBoxSet(int val) {
emit colorMapChanged(val);
}
void JFJochViewerToolbar::setImageJump(int val) {
void JFJochViewerToolbarImage::setImageJump(int val) {
jump_value = val;
updateButtons();
mode = ToolbarMode::None;
updateAutoload();
}
void JFJochViewerToolbar::setSummation(int val) {
void JFJochViewerToolbarImage::setSummation(int val) {
sum = val;
jump_value = val;
jump->setValue(val);
@@ -266,7 +208,7 @@ void JFJochViewerToolbar::setSummation(int val) {
updateAutoload();
}
void JFJochViewerToolbar::autoloadButtonPressed() {
void JFJochViewerToolbarImage::autoloadButtonPressed() {
if (mode == ToolbarMode::Autoload)
mode = ToolbarMode::None;
else
@@ -274,7 +216,7 @@ void JFJochViewerToolbar::autoloadButtonPressed() {
updateAutoload();
}
void JFJochViewerToolbar::movieButtonPressed() {
void JFJochViewerToolbarImage::movieButtonPressed() {
if (mode == ToolbarMode::Movie)
mode = ToolbarMode::None;
else
@@ -282,7 +224,7 @@ void JFJochViewerToolbar::movieButtonPressed() {
updateAutoload();
}
void JFJochViewerToolbar::movieTimerTimeout() {
void JFJochViewerToolbarImage::movieTimerTimeout() {
switch (mode) {
case ToolbarMode::Autoload:
emit loadImage(-1, 1);
@@ -299,7 +241,7 @@ void JFJochViewerToolbar::movieTimerTimeout() {
}
}
void JFJochViewerToolbar::updateAutoload() {
void JFJochViewerToolbarImage::updateAutoload() {
switch (mode) {
case ToolbarMode::None:
autoload_button->setChecked(false);
@@ -326,13 +268,7 @@ void JFJochViewerToolbar::updateAutoload() {
}
}
void JFJochViewerToolbar::setAutoloadMode(JFJochViewerToolbar::ToolbarMode input) {
void JFJochViewerToolbarImage::setAutoloadMode(JFJochViewerToolbarImage::ToolbarMode input) {
mode = input;
updateAutoload();
}
void JFJochViewerToolbar::autoForegroundButtonPressed() {
auto_foreground = !auto_foreground;
auto_foreground_button->setChecked(auto_foreground);
emit setAutoForeground(auto_foreground);
}

View File

@@ -1,21 +1,20 @@
// SPDX-FileCopyrightText: 2025 Filip Leonarski, Paul Scherrer Institute <filip.leonarski@psi.ch>
// SPDX-License-Identifier: GPL-3.0-only
#ifndef JFJOCH_JFJOCHVIEWERTOOLBAR_H
#define JFJOCH_JFJOCHVIEWERTOOLBAR_H
#ifndef JFJOCH_JFJOCHVIEWERTOOLBARIMAGE_H
#define JFJOCH_JFJOCHVIEWERTOOLBARIMAGE_H
#include <QToolBar>
#include <QLabel>
#include <QLineEdit>
#include <QIntValidator>
#include <QPushButton>
#include <QSlider>
#include <QComboBox>
#include "widgets/SliderPlusBox.h"
#include <QTimer>
#include "widgets/NumberLineEdit.h"
#include "widgets/NumericComboBox.h"
class JFJochViewerToolbar : public QToolBar {
Q_OBJECT
class JFJochViewerToolbarImage : public QToolBar {
Q_OBJECT
public:
enum class ToolbarMode {Autoload, Movie, None};
@@ -25,8 +24,6 @@ private:
size_t image_count_in_dataset;
int64_t curr_image;
bool auto_foreground = false;
int jump_value = 1;
int sum = 1;
@@ -43,11 +40,6 @@ private:
QTimer *image_number_slider_timer;
bool image_number_slider_manual = false;
SliderPlusBox *foreground_slider;
QPushButton *auto_foreground_button;
QComboBox *color_map_select;
QPushButton *movie_button;
QPushButton *autoload_button;
@@ -60,15 +52,10 @@ private:
void updateAutoload();
signals:
void loadImage(int64_t number, int summation);
void setForeground(float val);
void colorMapChanged(int val);
void setAutoForeground(bool val);
public:
explicit JFJochViewerToolbar(QWidget *parent = nullptr);
explicit JFJochViewerToolbarImage(QWidget *parent = nullptr);
public slots:
void setImageNumber(int64_t total_images, int64_t current_image);
void updateForeground(float val);
void setAutoloadMode(ToolbarMode input);
private slots:
void leftButtonPressed();
@@ -81,15 +68,12 @@ private slots:
void imageNumberSliderMoved(int val);
void imageNumberSliderReleased();
void foregroundSet(double val);
void colorComboBoxSet(int val);
void setImageJump(int val);
void setSummation(int val);
void movieButtonPressed();
void autoloadButtonPressed();
void movieTimerTimeout();
void autoForegroundButtonPressed();
};
#endif //JFJOCH_JFJOCHVIEWERTOOLBAR_H
#endif //JFJOCH_JFJOCHVIEWERTOOLBARIMAGE_H

View File

@@ -22,8 +22,11 @@ JFJochViewerWindow::JFJochViewerWindow(QWidget *parent, bool dbus, const QString
menuBar = new JFJochViewerMenu(this);
setMenuBar(menuBar);
toolBar = new JFJochViewerToolbar(this);
addToolBar(toolBar);
toolBarImage = new JFJochViewerToolbarImage(this);
addToolBar(toolBarImage);
toolBarDisplay = new JFJochViewerToolbarDisplay(this);
addToolBar(toolBarDisplay);
auto statusbar = new JFJochViewerStatusBar(this);
setStatusBar(statusbar);
@@ -150,22 +153,25 @@ JFJochViewerWindow::JFJochViewerWindow(QWidget *parent, bool dbus, const QString
connect(reading_worker, &JFJochImageReadingWorker::imageStatsUpdated,
side_panel, &JFJochViewerSidePanel::loadImage);
connect(reading_worker, &JFJochImageReadingWorker::imageNumberChanged, toolBar,
&JFJochViewerToolbar::setImageNumber);
connect(reading_worker, &JFJochImageReadingWorker::imageNumberChanged, toolBarImage,
&JFJochViewerToolbarImage::setImageNumber);
connect(toolBar, &JFJochViewerToolbar::loadImage, reading_worker, &JFJochImageReadingWorker::LoadImage);
connect(toolBarImage, &JFJochViewerToolbarImage::loadImage, reading_worker, &JFJochImageReadingWorker::LoadImage);
connect(toolBar, &JFJochViewerToolbar::setForeground, viewer,
connect(toolBarDisplay, &JFJochViewerToolbarDisplay::setForeground, viewer,
&JFJochViewerImage::changeForeground);
connect(toolBar, &JFJochViewerToolbar::setAutoForeground, viewer,
connect(toolBarDisplay, &JFJochViewerToolbarDisplay::setBackground, viewer,
&JFJochViewerImage::changeBackground);
connect(toolBarDisplay, &JFJochViewerToolbarDisplay::setAutoForeground, viewer,
&JFJochViewerImage::setAutoForeground);
connect(toolBar, &JFJochViewerToolbar::colorMapChanged, viewer,
connect(toolBarDisplay, &JFJochViewerToolbarDisplay::colorMapChanged, viewer,
&JFJochViewerImage::setColorMap);
connect(viewer, &JFJochViewerImage::foregroundChanged,
toolBar, &JFJochViewerToolbar::updateForeground);
toolBarDisplay, &JFJochViewerToolbarDisplay::updateForeground);
connect(viewer, &JFJochViewerImage::roiBoxUpdated,
reading_worker, &JFJochImageReadingWorker::SetROIBox);
@@ -234,7 +240,7 @@ JFJochViewerWindow::JFJochViewerWindow(QWidget *parent, bool dbus, const QString
reading_worker, &JFJochImageReadingWorker::LoadImage);
connect(reading_worker, &JFJochImageReadingWorker::setToolbarMode,
toolBar, &JFJochViewerToolbar::setAutoloadMode);
toolBarImage, &JFJochViewerToolbarImage::setAutoloadMode);
connect(side_panel, &JFJochViewerSidePanel::analyze,
reading_worker, &JFJochImageReadingWorker::Analyze);

View File

@@ -7,7 +7,8 @@
#include <QMainWindow>
#include "JFJochViewerMenu.h"
#include "JFJochViewerToolbar.h"
#include "JFJochViewerToolbarDisplay.h"
#include "JFJochViewerToolbarImage.h"
#include "../reader/JFJochHDF5Reader.h"
#include "JFJochImageReadingWorker.h"
#include "JFJochViewerDatasetInfo.h"
@@ -21,7 +22,9 @@ public:
private:
JFJochViewerToolbar *toolBar;
JFJochViewerToolbarImage *toolBarImage;
JFJochViewerToolbarDisplay *toolBarDisplay;
JFJochViewerMenu *menuBar;
JFJochViewerDatasetInfo *dataset_info;
JFJochImageReadingWorker *reading_worker;