Skip to content

Commit

Permalink
Supplemental Layout Editor Updates
Browse files Browse the repository at this point in the history
Additional updates to ease the migration to the new Layout Editor track
features.
  • Loading branch information
dsand47 committed Feb 22, 2018
1 parent fc6b44e commit 6d7c206
Show file tree
Hide file tree
Showing 8 changed files with 170 additions and 199 deletions.
3 changes: 0 additions & 3 deletions java/src/jmri/jmrit/display/layoutEditor/LayoutEditor.java
Expand Up @@ -9615,7 +9615,6 @@ protected void draw(Graphics2D g2) {
drawLayoutTracksHidden(g2);
}
drawTrackSegmentsDashed(g2);

drawLayoutTracksBallast(g2);
drawLayoutTracksTies(g2);
drawLayoutTracksRails(g2);
Expand Down Expand Up @@ -9803,7 +9802,6 @@ private void drawLayoutTracksRails(Graphics2D g2) {
BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND));
g2.setColor(railColor);
draw1(g2, main, block, hidden, dashed);
draw1(g2, main, block, hidden, dashed = true);
}

main = true;
Expand All @@ -9825,7 +9823,6 @@ private void drawLayoutTracksRails(Graphics2D g2) {
BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND));
g2.setColor(railColor);
draw1(g2, main, block, hidden, dashed = false);
draw1(g2, main, block, hidden, dashed = true);
}
} // drawLayoutTracksRails

Expand Down
152 changes: 57 additions & 95 deletions java/src/jmri/jmrit/display/layoutEditor/LayoutSlip.java
Expand Up @@ -1111,6 +1111,11 @@ private void updateState() {
}

protected void draw1(Graphics2D g2, boolean drawMain, boolean isBlock) {
if (isBlock && getLayoutBlock() == null) {
// Skip the block layer since there is no block assigned.
return;
}

Point2D pA = getCoordsA();
Point2D pB = getCoordsB();
Point2D pC = getCoordsC();
Expand Down Expand Up @@ -1159,110 +1164,19 @@ protected void draw1(Graphics2D g2, boolean drawMain, boolean isBlock) {

int slipState = getSlipState();

if (isBlock) {
if (slipState == STATE_AD) {
// draw A<===>D
if (drawMain == mainlineA) {
g2.setColor(colorA);
g2.draw(new Line2D.Double(pA, oneThirdPointAC));
g2.draw(new Line2D.Double(oneThirdPointAC, midPointAD));
}
if (drawMain == mainlineD) {
g2.setColor(colorD);
g2.draw(new Line2D.Double(midPointAD, twoThirdsPointBD));
g2.draw(new Line2D.Double(twoThirdsPointBD, pD));
}
} else if (slipState == STATE_AC) {
// draw A<===>C
if (drawMain == mainlineA) {
g2.setColor(colorA);
g2.draw(new Line2D.Double(pA, midPointAC));
}
if (drawMain == mainlineC) {
g2.setColor(colorC);
g2.draw(new Line2D.Double(midPointAC, pC));
}
} else if (drawUnselectedLeg) {
// draw A<= =>C
if (drawMain == mainlineA) {
g2.setColor(colorA);
g2.draw(new Line2D.Double(pA, oneForthPointAC));
}
if (drawMain == mainlineC) {
g2.setColor(colorC);
g2.draw(new Line2D.Double(threeFourthsPointAC, pC));
}
}

if (slipState == STATE_BD) {
// draw B<===>D
if (drawMain == mainlineB) {
g2.setColor(colorB);
g2.draw(new Line2D.Double(pB, midPointBD));
}
if (drawMain == mainlineD) {
g2.setColor(colorD);
g2.draw(new Line2D.Double(midPointBD, pD));
}
} else if (drawUnselectedLeg) {
// draw B<= =>D
if (drawMain == mainlineB) {
g2.setColor(colorB);
g2.draw(new Line2D.Double(pB, oneForthPointBD));
}
if (drawMain == mainlineD) {
g2.setColor(colorD);
g2.draw(new Line2D.Double(threeFourthsPointBD, pD));
}
}

if (slipState == STATE_BC) {
if (getTurnoutType() == DOUBLE_SLIP) {
// draw B<===>C
if (drawMain == mainlineB) {
g2.setColor(colorB);
g2.draw(new Line2D.Double(pB, oneThirdPointBD));
g2.draw(new Line2D.Double(oneThirdPointBD, midPointBC));
}
if (drawMain == mainlineC) {
g2.setColor(colorC);
g2.draw(new Line2D.Double(midPointBC, twoThirdsPointAC));
g2.draw(new Line2D.Double(twoThirdsPointAC, pC));
}
} // DOUBLE_SLIP
} else if (drawUnselectedLeg) {
// draw B<= =>C
if (drawMain == mainlineB) {
g2.setColor(colorB);
g2.draw(new Line2D.Double(pB, oneForthPointBD));
}
if (drawMain == mainlineC) {
g2.setColor(colorC);
g2.draw(new Line2D.Double(threeFourthsPointAC, pC));
}
}
} else {
if (slipState == STATE_AD) {
// draw A<===>D
if (drawMain == mainlineA) {
g2.setColor(colorA);
g2.draw(new Line2D.Double(pA, oneThirdPointAC));
g2.draw(new Line2D.Double(oneThirdPointAC, midPointAD));
}
if (drawMain == mainlineD) {
g2.setColor(colorD);
g2.draw(new Line2D.Double(midPointAD, twoThirdsPointBD));
g2.draw(new Line2D.Double(twoThirdsPointBD, pD));
}

// draw B<===>C
if (getTurnoutType() == DOUBLE_SLIP) {
if (drawMain == mainlineB) {
g2.setColor(colorB);
g2.draw(new Line2D.Double(oneThirdPointBD, midPointBC));
}
if (drawMain == mainlineC) {
g2.setColor(colorC);
g2.draw(new Line2D.Double(midPointBC, twoThirdsPointAC));
}
} // DOUBLE_SLIP
} else if (slipState == STATE_AC) {
// draw A<===>C
if (drawMain == mainlineA) {
g2.setColor(colorA);
Expand All @@ -1272,7 +1186,19 @@ protected void draw1(Graphics2D g2, boolean drawMain, boolean isBlock) {
g2.setColor(colorC);
g2.draw(new Line2D.Double(midPointAC, pC));
}
} else if (!isBlock || drawUnselectedLeg) {
// draw A<= =>C
if (drawMain == mainlineA) {
g2.setColor(colorA);
g2.draw(new Line2D.Double(pA, oneForthPointAC));
}
if (drawMain == mainlineC) {
g2.setColor(colorC);
g2.draw(new Line2D.Double(threeFourthsPointAC, pC));
}
}

if (slipState == STATE_BD) {
// draw B<===>D
if (drawMain == mainlineB) {
g2.setColor(colorB);
Expand All @@ -1282,6 +1208,42 @@ protected void draw1(Graphics2D g2, boolean drawMain, boolean isBlock) {
g2.setColor(colorD);
g2.draw(new Line2D.Double(midPointBD, pD));
}
} else if (!isBlock || drawUnselectedLeg) {
// draw B<= =>D
if (drawMain == mainlineB) {
g2.setColor(colorB);
g2.draw(new Line2D.Double(pB, oneForthPointBD));
}
if (drawMain == mainlineD) {
g2.setColor(colorD);
g2.draw(new Line2D.Double(threeFourthsPointBD, pD));
}
}

if (slipState == STATE_BC) {
if (getTurnoutType() == DOUBLE_SLIP) {
// draw B<===>C
if (drawMain == mainlineB) {
g2.setColor(colorB);
g2.draw(new Line2D.Double(pB, oneThirdPointBD));
g2.draw(new Line2D.Double(oneThirdPointBD, midPointBC));
}
if (drawMain == mainlineC) {
g2.setColor(colorC);
g2.draw(new Line2D.Double(midPointBC, twoThirdsPointAC));
g2.draw(new Line2D.Double(twoThirdsPointAC, pC));
}
} // DOUBLE_SLIP
} else if (!isBlock || drawUnselectedLeg) {
// draw B<= =>C
if (drawMain == mainlineB) {
g2.setColor(colorB);
g2.draw(new Line2D.Double(pB, oneForthPointBD));
}
if (drawMain == mainlineC) {
g2.setColor(colorC);
g2.draw(new Line2D.Double(threeFourthsPointAC, pC));
}
}
} // draw1

Expand Down
Expand Up @@ -246,7 +246,7 @@ public void setMainRailCount(int val) {
mainRailCount = val;
}

private int mainRailWidth = 1;
private int mainRailWidth = 2;

public int getMainRailWidth() {
return mainRailWidth;
Expand Down
Expand Up @@ -397,7 +397,7 @@
<Component class="javax.swing.JSpinner" name="mainRailWidthSpinner">
<Properties>
<Property name="model" type="javax.swing.SpinnerModel" editor="org.netbeans.modules.form.editors2.SpinnerModelEditor">
<SpinnerModel initial="1" minimum="1" numberType="java.lang.Integer" stepSize="1" type="number"/>
<SpinnerModel initial="2" minimum="0" numberType="java.lang.Integer" stepSize="1" type="number"/>
</Property>
<Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
<Connection code="Bundle.getMessage(&quot;MainRailWidthToolTip&quot;)" type="code"/>
Expand Down Expand Up @@ -426,7 +426,7 @@
<Component class="javax.swing.JSpinner" name="sideRailWidthSpinner">
<Properties>
<Property name="model" type="javax.swing.SpinnerModel" editor="org.netbeans.modules.form.editors2.SpinnerModelEditor">
<SpinnerModel initial="1" minimum="1" numberType="java.lang.Integer" stepSize="1" type="number"/>
<SpinnerModel initial="0" minimum="0" numberType="java.lang.Integer" stepSize="1" type="number"/>
</Property>
<Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
<Connection code="Bundle.getMessage(&quot;SideRailWidthToolTip&quot;)" type="code"/>
Expand Down
Expand Up @@ -176,7 +176,7 @@ public void stateChanged(javax.swing.event.ChangeEvent evt) {
railWidthLabel.setPreferredSize(new java.awt.Dimension(256, 16));
railWidthLabel.setSize(new java.awt.Dimension(256, 16));

mainRailWidthSpinner.setModel(new javax.swing.SpinnerNumberModel(1, 1, null, 1));
mainRailWidthSpinner.setModel(new javax.swing.SpinnerNumberModel(2, 1, null, 1));
mainRailWidthSpinner.setToolTipText(Bundle.getMessage("MainRailWidthToolTip"));
mainRailWidthSpinner.setEnabled(ltdOptions.getMainRailCount() > 0);
mainRailWidthSpinner.setMinimumSize(new java.awt.Dimension(64, 16));
Expand Down Expand Up @@ -211,7 +211,7 @@ public void stateChanged(javax.swing.event.ChangeEvent evt) {
railGapLabel.setPreferredSize(new java.awt.Dimension(256, 16));
railGapLabel.setSize(new java.awt.Dimension(256, 16));

sideRailGapSpinner.setModel(new javax.swing.SpinnerNumberModel(1, 1, null, 1));
sideRailGapSpinner.setModel(new javax.swing.SpinnerNumberModel(0, 0, null, 1));
sideRailGapSpinner.setToolTipText(Bundle.getMessage("SideRailGapToolTip"));
sideRailGapSpinner.setEnabled(ltdOptions.getSideRailCount() > 1);
sideRailGapSpinner.setMinimumSize(new java.awt.Dimension(64, 16));
Expand All @@ -225,7 +225,7 @@ public void stateChanged(javax.swing.event.ChangeEvent evt) {
}
});

mainRailGapSpinner.setModel(new javax.swing.SpinnerNumberModel(1, 1, null, 1));
mainRailGapSpinner.setModel(new javax.swing.SpinnerNumberModel(0, 0, null, 1));
mainRailGapSpinner.setToolTipText(Bundle.getMessage("MainRailGapToolTip"));
mainRailGapSpinner.setEnabled(ltdOptions.getMainRailCount() > 1);
mainRailGapSpinner.setMinimumSize(new java.awt.Dimension(64, 16));
Expand Down Expand Up @@ -1164,7 +1164,7 @@ private void definePresets() {
tempLTDO.setMainRailColor(Color.BLACK);
tempLTDO.setMainRailCount(1);
tempLTDO.setMainRailGap(0);
tempLTDO.setMainRailWidth(1);
tempLTDO.setMainRailWidth(2);
tempLTDO.setMainTieColor(Color.BLACK);
tempLTDO.setMainTieGap(0);
tempLTDO.setMainTieLength(0);
Expand Down Expand Up @@ -1218,7 +1218,7 @@ private void definePresets() {
tempLTDO.setMainRailColor(Color.decode("#C0C0C0"));
tempLTDO.setMainRailCount(2);
tempLTDO.setMainRailGap(3);
tempLTDO.setMainRailWidth(1);
tempLTDO.setMainRailWidth(2);
tempLTDO.setMainTieColor(Color.decode("#E0E0E0"));
tempLTDO.setMainTieGap(7);
tempLTDO.setMainTieLength(11);
Expand Down

0 comments on commit 6d7c206

Please sign in to comment.