From 4b0c247707508bb7c52e91be58728ddabeb73863 Mon Sep 17 00:00:00 2001 From: Randall Wood <297232+rhwood@users.noreply.github.com> Date: Sat, 18 May 2019 08:16:21 -0400 Subject: [PATCH] fix: Default track color is a property of the panel This addresses a static analysis warning, which also revealed that the default track color, although settable per Panel, was actually an application-wide setting. Removing the static field makes this a panel-specific setting again. --- .../src/jmri/jmrit/display/layoutEditor/LayoutEditor.java | 1 - java/src/jmri/jmrit/display/layoutEditor/LayoutTrack.java | 8 -------- .../jmri/jmrit/display/layoutEditor/LayoutTurntable.java | 6 +++--- java/src/jmri/jmrit/display/layoutEditor/LevelXing.java | 2 +- .../src/jmri/jmrit/display/layoutEditor/TrackSegment.java | 1 + 5 files changed, 5 insertions(+), 13 deletions(-) diff --git a/java/src/jmri/jmrit/display/layoutEditor/LayoutEditor.java b/java/src/jmri/jmrit/display/layoutEditor/LayoutEditor.java index ae2dd805a68..825d1b81daa 100644 --- a/java/src/jmri/jmrit/display/layoutEditor/LayoutEditor.java +++ b/java/src/jmri/jmrit/display/layoutEditor/LayoutEditor.java @@ -9268,7 +9268,6 @@ public void setSidelineTrackWidth(int w) { * @param color value to set the default track color to. */ public void setDefaultTrackColor(@Nonnull Color color) { - LayoutTrack.setDefaultTrackColor(color); defaultTrackColor = color; JmriColorChooser.addRecentColor(color); } diff --git a/java/src/jmri/jmrit/display/layoutEditor/LayoutTrack.java b/java/src/jmri/jmrit/display/layoutEditor/LayoutTrack.java index dd98ce408ec..3289ef22da3 100644 --- a/java/src/jmri/jmrit/display/layoutEditor/LayoutTrack.java +++ b/java/src/jmri/jmrit/display/layoutEditor/LayoutTrack.java @@ -70,9 +70,6 @@ public abstract class LayoutTrack { //protected static double maxDashLength = 10; protected boolean hidden = false; - // package-private - static Color defaultTrackColor = Color.black; - /** * constructor method */ @@ -80,7 +77,6 @@ public LayoutTrack(@Nonnull String ident, @Nonnull Point2D c, @Nonnull LayoutEdi this.ident = ident; this.center = c; this.layoutEditor = layoutEditor; - defaultTrackColor = layoutEditor.getDefaultTrackColorColor(); } /** @@ -138,10 +134,6 @@ public void setDecorations(Map decorations) { } protected Map decorations = null; - public static void setDefaultTrackColor(@Nullable Color color) { - defaultTrackColor = color; - } - protected Color getColorForTrackBlock( @Nullable LayoutBlock layoutBlock, boolean forceBlockTrackColor) { Color result = ColorUtil.CLEAR; // transparent diff --git a/java/src/jmri/jmrit/display/layoutEditor/LayoutTurntable.java b/java/src/jmri/jmrit/display/layoutEditor/LayoutTurntable.java index 14a5886e5b0..120550f5f07 100644 --- a/java/src/jmri/jmrit/display/layoutEditor/LayoutTurntable.java +++ b/java/src/jmri/jmrit/display/layoutEditor/LayoutTurntable.java @@ -1108,7 +1108,7 @@ protected void draw1(Graphics2D g2, boolean isMain, boolean isBlock) { Color color = g2.getColor(); // draw turntable circle - default track color, side track width g2.setStroke(new BasicStroke(trackWidth, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND)); - g2.setColor(defaultTrackColor); + g2.setColor(layoutEditor.getDefaultTrackColorColor()); g2.draw(new Ellipse2D.Double(center.getX() - radius, center.getY() - radius, diameter, diameter)); g2.setStroke(stroke); g2.setColor(color); @@ -1123,7 +1123,7 @@ protected void draw1(Graphics2D g2, boolean isMain, boolean isBlock) { } if (isBlock) { if (ts == null) { - g2.setColor(defaultTrackColor); + g2.setColor(layoutEditor.getDefaultTrackColorColor()); } else { setColorForTrackBlock(g2, ts.getLayoutBlock()); } @@ -1224,7 +1224,7 @@ protected void drawTurnoutControls(Graphics2D g2) { @Override protected void drawEditControls(Graphics2D g2) { Point2D pt = getCoordsCenter(); - g2.setColor(defaultTrackColor); + g2.setColor(layoutEditor.getDefaultTrackColorColor()); g2.draw(layoutEditor.trackControlCircleAt(pt)); for (int j = 0; j < getNumberRays(); j++) { diff --git a/java/src/jmri/jmrit/display/layoutEditor/LevelXing.java b/java/src/jmri/jmrit/display/layoutEditor/LevelXing.java index 85fcdf29906..8f3656f7130 100644 --- a/java/src/jmri/jmrit/display/layoutEditor/LevelXing.java +++ b/java/src/jmri/jmrit/display/layoutEditor/LevelXing.java @@ -1537,7 +1537,7 @@ protected void highlightUnconnected(Graphics2D g2, int specificType) { @Override protected void drawEditControls(Graphics2D g2) { - g2.setColor(defaultTrackColor); + g2.setColor(layoutEditor.getDefaultTrackColorColor()); //TODO:uncomment this line g2.draw(layoutEditor.trackEditControlCircleAt(getCoordsCenter())); if (getConnectA() == null) { diff --git a/java/src/jmri/jmrit/display/layoutEditor/TrackSegment.java b/java/src/jmri/jmrit/display/layoutEditor/TrackSegment.java index aa7fd187f45..47a0141cdf8 100644 --- a/java/src/jmri/jmrit/display/layoutEditor/TrackSegment.java +++ b/java/src/jmri/jmrit/display/layoutEditor/TrackSegment.java @@ -3094,6 +3094,7 @@ public Map getDecorations() { */ @Override public void setDecorations(Map decorations) { + Color defaultTrackColor = layoutEditor.getDefaultTrackColorColor(); super.setDecorations(decorations); if (decorations != null) { for (Map.Entry entry : decorations.entrySet()) {