From a692819499e1f4217f0d11aa010f897c68907f7d Mon Sep 17 00:00:00 2001 From: Becky Auger-Williams Date: Mon, 15 Jun 2026 18:17:42 +0100 Subject: [PATCH 1/2] Fix vertical progress bar sizing bug in Group widget A translation is applied to JFX progress bar to get a vertical bar but the width property of the bar remains unchanged and so the group pane think this child is wider than it should be and paints the group out to this width causing screen sizing problems. --- .../widgets/ProgressBarRepresentation.java | 30 ++++++++++++------- 1 file changed, 19 insertions(+), 11 deletions(-) diff --git a/app/display/representation-javafx/src/main/java/org/csstudio/display/builder/representation/javafx/widgets/ProgressBarRepresentation.java b/app/display/representation-javafx/src/main/java/org/csstudio/display/builder/representation/javafx/widgets/ProgressBarRepresentation.java index 2aa9b529dc..9e9b208586 100644 --- a/app/display/representation-javafx/src/main/java/org/csstudio/display/builder/representation/javafx/widgets/ProgressBarRepresentation.java +++ b/app/display/representation-javafx/src/main/java/org/csstudio/display/builder/representation/javafx/widgets/ProgressBarRepresentation.java @@ -7,6 +7,7 @@ *******************************************************************************/ package org.csstudio.display.builder.representation.javafx.widgets; +import javafx.scene.layout.Pane; import org.csstudio.display.builder.model.DirtyFlag; import org.csstudio.display.builder.model.UntypedWidgetPropertyListener; import org.csstudio.display.builder.model.WidgetProperty; @@ -28,7 +29,7 @@ * @author Amanda Carpenter */ @SuppressWarnings("nls") -public class ProgressBarRepresentation extends RegionBaseRepresentation +public class ProgressBarRepresentation extends RegionBaseRepresentation { private final DirtyFlag dirty_look = new DirtyFlag(); private final DirtyFlag dirty_value = new DirtyFlag(); @@ -39,11 +40,13 @@ public class ProgressBarRepresentation extends RegionBaseRepresentation 1.0) toolkit.scheduleUpdate(this); } + protected boolean isFilteringEditModeClicks() { + return true; + } @Override public void updateChanges() @@ -187,29 +193,31 @@ public void updateChanges() if (!horizontal) { - jfx_node.getTransforms().setAll( + bar.getTransforms().setAll( new Translate(0, height), new Rotate(-90, 0, 0)); - jfx_node.setPrefSize(height, width); + bar.setPrefSize(height, width); + jfx_node.setPrefSize(width, height); if (min_val > max_val) { - jfx_node.getTransforms().setAll( + bar.getTransforms().setAll( new Translate(0, height), new Rotate(-90, 0, 0, 0), new Translate(height, 0), new Rotate(180, 0, 0, 0, Rotate.Y_AXIS)); - jfx_node.setPrefSize(height, width); + bar.setPrefSize(height, width); } } else { - jfx_node.getTransforms().clear(); + bar.getTransforms().clear(); + bar.setPrefSize(width, height); jfx_node.setPrefSize(width, height); if (min_val > max_val) { - jfx_node.getTransforms().setAll( + bar.getTransforms().setAll( new Translate(width, 0), new Rotate(180, 0, 0, 0, Rotate.Y_AXIS)); } @@ -259,6 +267,6 @@ public void updateChanges() jfx_node.setStyle(style.toString()); } if (dirty_value.checkAndClear()) - jfx_node.setProgress(percentage); + bar.setProgress(percentage); } } From 1c905aa0acdda6b5487d08e8730beb4b5b90d93e Mon Sep 17 00:00:00 2001 From: Becky Auger-Williams Date: Mon, 15 Jun 2026 20:14:35 +0100 Subject: [PATCH 2/2] Add @Override annotation --- .../representation/javafx/widgets/ProgressBarRepresentation.java | 1 + 1 file changed, 1 insertion(+) diff --git a/app/display/representation-javafx/src/main/java/org/csstudio/display/builder/representation/javafx/widgets/ProgressBarRepresentation.java b/app/display/representation-javafx/src/main/java/org/csstudio/display/builder/representation/javafx/widgets/ProgressBarRepresentation.java index 9e9b208586..09d8a665b1 100644 --- a/app/display/representation-javafx/src/main/java/org/csstudio/display/builder/representation/javafx/widgets/ProgressBarRepresentation.java +++ b/app/display/representation-javafx/src/main/java/org/csstudio/display/builder/representation/javafx/widgets/ProgressBarRepresentation.java @@ -175,6 +175,7 @@ else if (percentage > 1.0) toolkit.scheduleUpdate(this); } + @Override protected boolean isFilteringEditModeClicks() { return true; }