viewer: keep plot axis labels readable when compressed
When the plot dock was short, Qt Charts dropped the axis labels first, making the plot hard to read. - Reclaim Qt Charts' outer graphics-layout padding and trim the inner margins (both chart views) so the plot and its labels get the available space. - Raise the chart minimum height (dataset-info 80 -> 140, per-image 120 -> 140) so the dock can't be squeezed below the point where the axis labels fit. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -52,7 +52,7 @@ JFJochViewerDatasetInfo::JFJochViewerDatasetInfo(QWidget *parent) : QWidget(pare
|
||||
|
||||
stack = new QStackedWidget(this);
|
||||
chart_view = new JFJochDatasetInfoChartView(this);
|
||||
chart_view->setMinimumHeight(80); // low floor so the bottom dock resizes freely (default is set via resizeDocks)
|
||||
chart_view->setMinimumHeight(140); // keep enough room for the axis labels even when compressed
|
||||
grid_scan_image = new JFJochGridScanImage(this);
|
||||
image_chart = new JFJochViewerSidePanelChart(this); // per-image profiles, folded in from the side panel
|
||||
|
||||
|
||||
@@ -6,12 +6,18 @@
|
||||
#include <QClipboard>
|
||||
#include <QCategoryAxis>
|
||||
#include <QtCharts/QLegendMarker>
|
||||
#include <QGraphicsLayout>
|
||||
|
||||
#include "JFJochDatasetInfoChartView.h"
|
||||
|
||||
JFJochDatasetInfoChartView::JFJochDatasetInfoChartView(QWidget *parent)
|
||||
: QChartView(new QChart(), parent) {
|
||||
chart()->legend()->hide();
|
||||
// Reclaim Qt Charts' outer layout padding and trim the inner margins so the axis labels keep
|
||||
// their room even when the dock is short (otherwise they are the first thing Qt drops).
|
||||
chart()->layout()->setContentsMargins(0, 0, 0, 0);
|
||||
chart()->setMargins(QMargins(2, 2, 6, 2));
|
||||
chart()->setBackgroundRoundness(0);
|
||||
setRenderHint(QPainter::Antialiasing);
|
||||
// setRubberBand(QChartView::RubberBand::RectangleRubberBand);
|
||||
setMouseTracking(true);
|
||||
|
||||
@@ -8,11 +8,14 @@
|
||||
#include <QApplication>
|
||||
#include <QCategoryAxis>
|
||||
#include <QRegularExpression>
|
||||
#include <QGraphicsLayout>
|
||||
|
||||
JFJochSimpleChartView::JFJochSimpleChartView(QWidget *parent)
|
||||
: QChartView(new QChart(), parent) {
|
||||
chart()->legend()->hide();
|
||||
setMinimumHeight(120); // soft floor: let the host dock/window decide the height
|
||||
chart()->layout()->setContentsMargins(0, 0, 0, 0); // reclaim padding for the plot + labels
|
||||
chart()->setMargins(QMargins(2, 2, 6, 2));
|
||||
setMinimumHeight(140); // soft floor: enough for the axis labels to stay readable
|
||||
setRenderHint(QPainter::Antialiasing);
|
||||
setMouseTracking(true);
|
||||
//setRubberBand(QChartView::RubberBand::HorizontalRubberBand);
|
||||
|
||||
Reference in New Issue
Block a user