diff --git a/app/display/model/src/main/java/org/csstudio/display/builder/model/Messages.java b/app/display/model/src/main/java/org/csstudio/display/builder/model/Messages.java index 7798812059..b62dab4464 100644 --- a/app/display/model/src/main/java/org/csstudio/display/builder/model/Messages.java +++ b/app/display/model/src/main/java/org/csstudio/display/builder/model/Messages.java @@ -273,6 +273,7 @@ public class Messages WidgetProperties_Rotation, WidgetProperties_Rules, WidgetProperties_RunActionsOnMouseClick, + WidgetProperties_PickOnBounds, WidgetProperties_Running, WidgetProperties_ScaleFactor, WidgetProperties_ScaleFormat, diff --git a/app/display/model/src/main/java/org/csstudio/display/builder/model/widgets/SymbolWidget.java b/app/display/model/src/main/java/org/csstudio/display/builder/model/widgets/SymbolWidget.java index c55466f88c..1531ead33d 100644 --- a/app/display/model/src/main/java/org/csstudio/display/builder/model/widgets/SymbolWidget.java +++ b/app/display/model/src/main/java/org/csstudio/display/builder/model/widgets/SymbolWidget.java @@ -88,6 +88,10 @@ public Widget createWidget ( ) { /** Property */ public static final WidgetPropertyDescriptor propFallbackSymbol = newFilenamePropertyDescriptor (WidgetPropertyCategory.BEHAVIOR, "fallback_symbol", Messages.WidgetProperties_FallbackSymbol); public static final WidgetPropertyDescriptor propRunActionsOnMouseClick = newBooleanPropertyDescriptor (WidgetPropertyCategory.BEHAVIOR, "run_actions_on_mouse_click", Messages.WidgetProperties_RunActionsOnMouseClick); + + /** 'pick_on_bounds' */ + public static final WidgetPropertyDescriptor propPickOnBounds = newBooleanPropertyDescriptor (WidgetPropertyCategory.BEHAVIOR, "pick_on_bounds", Messages.WidgetProperties_PickOnBounds); + /** 'svg_rendering_resolution_factor': */ public static final WidgetPropertyDescriptor propSVGRenderingResolutionFactor = newDoublePropertyDescriptor(WidgetPropertyCategory.DISPLAY, "svg_rendering_resolution_factor", Messages.WidgetProperties_SVGRenderingResolutionFactor); @@ -125,6 +129,7 @@ public Widget createWidget ( ) { private volatile WidgetProperty fallbackSymbol; private volatile WidgetProperty disconnectOverlayColor; private volatile WidgetProperty run_actions_on_mouse_click; + private volatile WidgetProperty pick_on_bounds; private volatile WidgetProperty svgRenderingResolutionFactor; /** Returns 'symbol' property: element for list of 'symbols' property */ @@ -230,6 +235,11 @@ public WidgetProperty propRunActionsOnMouseClick() { return run_actions_on_mouse_click; } + /** @return property */ + public WidgetProperty propPickOnBounds() { + return pick_on_bounds; + } + /** @return 'svgRenderingResolutionFactor' property */ public WidgetProperty propSVGRenderingResolutionFactor() { return svgRenderingResolutionFactor; @@ -268,6 +278,7 @@ protected void defineProperties ( final List> properties ) { int indexOfPropActions = properties.indexOf(propActions()); run_actions_on_mouse_click = propRunActionsOnMouseClick.createProperty(this, false); properties.add(indexOfPropActions + 1, run_actions_on_mouse_click); + properties.add(indexOfPropActions + 2, pick_on_bounds = propPickOnBounds.createProperty(this, false)); } } diff --git a/app/display/model/src/main/resources/org/csstudio/display/builder/model/messages.properties b/app/display/model/src/main/resources/org/csstudio/display/builder/model/messages.properties index 3eb1a7853b..3291b025e8 100644 --- a/app/display/model/src/main/resources/org/csstudio/display/builder/model/messages.properties +++ b/app/display/model/src/main/resources/org/csstudio/display/builder/model/messages.properties @@ -258,6 +258,7 @@ WidgetProperties_RingWidth=Ring Width WidgetProperties_Rotation=Rotation WidgetProperties_Rules=Rules WidgetProperties_RunActionsOnMouseClick=Run Actions on Mouse Click +WidgetProperties_PickOnBounds=Pick on Bounds WidgetProperties_Running=Running WidgetProperties_ScaleFactor=Scale Factor WidgetProperties_ScaleFormat=Scale Format diff --git a/app/display/representation-javafx/src/main/java/org/csstudio/display/builder/representation/javafx/widgets/SymbolRepresentation.java b/app/display/representation-javafx/src/main/java/org/csstudio/display/builder/representation/javafx/widgets/SymbolRepresentation.java index 65643470ed..2e370ed6fe 100644 --- a/app/display/representation-javafx/src/main/java/org/csstudio/display/builder/representation/javafx/widgets/SymbolRepresentation.java +++ b/app/display/representation-javafx/src/main/java/org/csstudio/display/builder/representation/javafx/widgets/SymbolRepresentation.java @@ -477,6 +477,7 @@ protected StackPane createJFXNode ( ) throws Exception { private void enableRunActionsOnMouseClick() { imageView.focusTraversableProperty().set(true); imageView.setStyle("-fx-cursor: hand;"); + imageView.setPickOnBounds(model_widget.propPickOnBounds().getValue()); ColorAdjust[] clickEffect = { null }; // Values are wrapped in arrays as a workaround of the fact that Java doesn't allow non-final variables to be captured by closures. DropShadow[] focusEffect = { null };