From bb16a8bd6a72db6339c4067cd448edbd5e1a2244 Mon Sep 17 00:00:00 2001 From: Andrea Vacondio Date: Wed, 14 Dec 2016 12:10:35 +0100 Subject: [PATCH] Modules pane correct scroll behaviour. Avoid issues with Region and FlowPane where children where stacked --- .../org/pdfsam/ui/dashboard/DashboardItemPane.java | 5 ++++- .../pdfsam/ui/dashboard/modules/DashboardTile.java | 11 ++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/pdfsam-gui/src/main/java/org/pdfsam/ui/dashboard/DashboardItemPane.java b/pdfsam-gui/src/main/java/org/pdfsam/ui/dashboard/DashboardItemPane.java index 2084d2d6c..f0d54a7f2 100644 --- a/pdfsam-gui/src/main/java/org/pdfsam/ui/dashboard/DashboardItemPane.java +++ b/pdfsam-gui/src/main/java/org/pdfsam/ui/dashboard/DashboardItemPane.java @@ -30,6 +30,7 @@ import javafx.scene.control.Button; import javafx.scene.control.ScrollPane; +import javafx.scene.control.ScrollPane.ScrollBarPolicy; import javafx.scene.layout.BorderPane; import javafx.scene.layout.HBox; import javafx.scene.text.TextAlignment; @@ -54,8 +55,10 @@ class DashboardItemPane extends BorderPane { this.item.pane().getStyleClass().addAll(Style.DEAULT_CONTAINER.css()); this.item.pane().getStyleClass().addAll(Style.CONTAINER.css()); ScrollPane scroll = new ScrollPane(this.item.pane()); - scroll.setFitToHeight(true); + scroll.getStyleClass().addAll(Style.DEAULT_CONTAINER.css()); scroll.setFitToWidth(true); + scroll.setHbarPolicy(ScrollBarPolicy.NEVER); + scroll.setVbarPolicy(ScrollBarPolicy.AS_NEEDED); setCenter(scroll); eventStudio().add(SetActiveModuleRequest.class, enableFooterListener, Integer.MAX_VALUE, ReferenceStrength.STRONG); diff --git a/pdfsam-gui/src/main/java/org/pdfsam/ui/dashboard/modules/DashboardTile.java b/pdfsam-gui/src/main/java/org/pdfsam/ui/dashboard/modules/DashboardTile.java index 85fc62739..9d347dc56 100644 --- a/pdfsam-gui/src/main/java/org/pdfsam/ui/dashboard/modules/DashboardTile.java +++ b/pdfsam-gui/src/main/java/org/pdfsam/ui/dashboard/modules/DashboardTile.java @@ -38,10 +38,9 @@ * @author Andrea Vacondio * */ -class DashboardTile extends Region { +class DashboardTile extends VBox { private static final PseudoClass ARMED_PSEUDOCLASS_STATE = PseudoClass.getPseudoClass("armed"); - VBox bottom = new VBox(); private Button button = new Button(); public DashboardTile(String title, String description, Node graphic) { @@ -61,12 +60,10 @@ public DashboardTile(String title, String description, Node graphic) { button.setMaxSize(Double.MAX_VALUE, Double.MAX_VALUE); armed.bind(button.armedProperty()); - bottom.getChildren().addAll(new StackPane(topTile, button)); - bottom.getStyleClass().add("dashboard-modules-tile-inner"); - prefHeightProperty().bind(bottom.heightProperty()); + getChildren().addAll(new StackPane(topTile, button)); + getStyleClass().add("dashboard-modules-tile-inner"); setMaxHeight(USE_PREF_SIZE); setMinHeight(USE_PREF_SIZE); - getChildren().add(bottom); } /** @@ -92,6 +89,6 @@ public final void setOnAction(EventHandler eventHandler) { } void addBottomPanel(Region pane) { - bottom.getChildren().add(pane); + getChildren().add(pane); } }