From 999dd1ce6a74b559e70b10d8297d69f336ad84b6 Mon Sep 17 00:00:00 2001 From: lachlangrose Date: Wed, 7 Oct 2026 11:48:43 -0300 Subject: [PATCH] fix: put each step page in a scroll area so the dock can be short A stacked widget is as tall as its tallest page. Steps 3, 4 and 5 had no scroll area, so the dock grew taller than the screen and the Back and Next buttons were out of reach. --- loopstructural/gui/modelling/modelling_widget.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/loopstructural/gui/modelling/modelling_widget.py b/loopstructural/gui/modelling/modelling_widget.py index cae62c2..12df79f 100644 --- a/loopstructural/gui/modelling/modelling_widget.py +++ b/loopstructural/gui/modelling/modelling_widget.py @@ -19,7 +19,7 @@ StratigraphyStep, ViewStep, ) -from loopstructural.gui.modelling.steps.section_stack import SectionStack +from loopstructural.gui.modelling.steps.section_stack import SectionStack, page_scroll_area from loopstructural.gui.modelling.steps.step_bar import StepBar # How often the checks of the steps run again, in milliseconds. Several @@ -86,8 +86,10 @@ def __init__( self.header = DockHeader(self, data_manager=self.data_manager) self.step_bar = StepBar(STEPS, self) self.stack = QStackedWidget(self) + # A stacked widget is as tall as its tallest page. A scroll area around + # each page lets the dock be short: the page scrolls and the footer stays. for page in self.pages: - self.stack.addWidget(page) + self.stack.addWidget(page_scroll_area(page, self.stack)) self.footer_label = QLabel(self) # One line. The tooltip has all messages. The label can be shorter than