From 0ef9e13f6530eef766b36d14be56c7f12e8688ac Mon Sep 17 00:00:00 2001 From: Filip Leonarski Date: Thu, 20 Nov 2025 09:29:25 +0100 Subject: [PATCH] jfjoch_viewer: Grid scan takes color map + grid scan view can be fit to window --- viewer/JFJochViewerDatasetInfo.cpp | 13 ++++++++++++- viewer/JFJochViewerDatasetInfo.h | 2 ++ viewer/JFJochViewerWindow.cpp | 3 +++ viewer/image_viewer/JFJochImage.cpp | 5 +++++ viewer/image_viewer/JFJochImage.h | 1 + 5 files changed, 23 insertions(+), 1 deletion(-) diff --git a/viewer/JFJochViewerDatasetInfo.cpp b/viewer/JFJochViewerDatasetInfo.cpp index f16ec3de..40b43c8f 100644 --- a/viewer/JFJochViewerDatasetInfo.cpp +++ b/viewer/JFJochViewerDatasetInfo.cpp @@ -49,7 +49,7 @@ JFJochViewerDatasetInfo::JFJochViewerDatasetInfo(QWidget *parent) : QWidget(pare this, &JFJochViewerDatasetInfo::imageSelectedInChart); connect(reset_button, &QPushButton::clicked, - chart_view, &JFJochChartView::resetZoom); + this, &JFJochViewerDatasetInfo::resetZoomButtonPressed); connect(combo_box, &QComboBox::currentIndexChanged, this, &JFJochViewerDatasetInfo::comboBoxSelected); @@ -144,3 +144,14 @@ void JFJochViewerDatasetInfo::UpdatePlot() { void JFJochViewerDatasetInfo::comboBoxSelected(int index) { UpdatePlot(); } + +void JFJochViewerDatasetInfo::setColorMap(int color_map) { + grid_scan_image->setColorMap(color_map); +} + +void JFJochViewerDatasetInfo::resetZoomButtonPressed() { + if (stack->currentWidget() == grid_scan_image) + grid_scan_image->fitToView(); + else + chart_view->resetZoom(); +} diff --git a/viewer/JFJochViewerDatasetInfo.h b/viewer/JFJochViewerDatasetInfo.h index 8df1ddb5..788de1a4 100644 --- a/viewer/JFJochViewerDatasetInfo.h +++ b/viewer/JFJochViewerDatasetInfo.h @@ -34,9 +34,11 @@ public: private slots: void imageSelectedInChart(int64_t number); void comboBoxSelected(int val); + void resetZoomButtonPressed(); public slots: void datasetLoaded(std::shared_ptr dataset); void imageLoaded(std::shared_ptr image); + void setColorMap(int color_map); }; diff --git a/viewer/JFJochViewerWindow.cpp b/viewer/JFJochViewerWindow.cpp index 81c018d1..3c5136e1 100644 --- a/viewer/JFJochViewerWindow.cpp +++ b/viewer/JFJochViewerWindow.cpp @@ -165,6 +165,9 @@ JFJochViewerWindow::JFJochViewerWindow(QWidget *parent, bool dbus, const QString connect(toolBarDisplay, &JFJochViewerToolbarDisplay::colorMapChanged, azintImageWindow, &JFJoch2DAzintImageWindow::setColorMap); + connect(toolBarDisplay, &JFJochViewerToolbarDisplay::colorMapChanged, dataset_info, + &JFJochViewerDatasetInfo::setColorMap); + connect(reading_worker, &JFJochImageReadingWorker::imageLoaded, azintImageWindow, &JFJoch2DAzintImageWindow::imageLoaded); diff --git a/viewer/image_viewer/JFJochImage.cpp b/viewer/image_viewer/JFJochImage.cpp index d115defb..56f60c6b 100644 --- a/viewer/image_viewer/JFJochImage.cpp +++ b/viewer/image_viewer/JFJochImage.cpp @@ -699,6 +699,11 @@ void JFJochImage::CalcROI() { emit roiCalculated(msg); } +void JFJochImage::fitToView() { + initial_fit_done_ = false; + fitToViewShorterSideOnce(); +} + void JFJochImage::fitToViewShorterSideOnce() { if (initial_fit_done_) return; diff --git a/viewer/image_viewer/JFJochImage.h b/viewer/image_viewer/JFJochImage.h index 8bddabee..423ea1cd 100644 --- a/viewer/image_viewer/JFJochImage.h +++ b/viewer/image_viewer/JFJochImage.h @@ -95,6 +95,7 @@ public slots: void SetROICircle(double x, double y, double radius); void centerOnSpot(QPointF point); + void fitToView(); public: explicit JFJochImage(QWidget *parent = nullptr); };