diff --git a/ diy-layout-creator --username bancika@gmail.com/diylc-library/src/org/diylc/components/electromechanical/DCPolarity.java b/ diy-layout-creator --username bancika@gmail.com/diylc-library/src/org/diylc/components/electromechanical/DCPolarity.java new file mode 100644 index 00000000..0f69e82b --- /dev/null +++ b/ diy-layout-creator --username bancika@gmail.com/diylc-library/src/org/diylc/components/electromechanical/DCPolarity.java @@ -0,0 +1,17 @@ +package org.diylc.components.electromechanical; + +public enum DCPolarity { + + NONE("None"), CENTER_POSITIVE("Center Positive"), CENTER_NEGATIVE("Center Negative"); + + private String title; + + private DCPolarity(String title) { + this.title = title; + } + + @Override + public String toString() { + return title; + } +} diff --git a/ diy-layout-creator --username bancika@gmail.com/diylc-library/src/org/diylc/components/electromechanical/PlasticDCJack.java b/ diy-layout-creator --username bancika@gmail.com/diylc-library/src/org/diylc/components/electromechanical/PlasticDCJack.java index 4f6de4a7..9cc1944c 100644 --- a/ diy-layout-creator --username bancika@gmail.com/diylc-library/src/org/diylc/components/electromechanical/PlasticDCJack.java +++ b/ diy-layout-creator --username bancika@gmail.com/diylc-library/src/org/diylc/components/electromechanical/PlasticDCJack.java @@ -44,6 +44,7 @@ public class PlasticDCJack extends AbstractTransparentComponent { private Point[] controlPoints = new Point[] { new Point(0, 0), new Point(0, 0), new Point(0, 0) }; private String value = ""; + private DCPolarity polarity = DCPolarity.CENTER_NEGATIVE; transient private Shape[] body; public PlasticDCJack() { @@ -156,13 +157,15 @@ public class PlasticDCJack extends AbstractTransparentComponent { g2d.setColor(METAL_COLOR.darker()); g2d.draw(body[3]); - if (!outlineMode) { + if (!outlineMode && getPolarity() != DCPolarity.NONE) { int spacing = (int) SPACING.convertToPixels(); g2d.setColor(MARKING_COLOR); g2d.setFont(LABEL_FONT.deriveFont(12f)); - drawCenteredText(g2d, "+", controlPoints[0].x, controlPoints[0].y - spacing * 7 / 16, + drawCenteredText(g2d, getPolarity() == DCPolarity.CENTER_NEGATIVE ? "+" : "-", + controlPoints[0].x, controlPoints[0].y - spacing * 7 / 16, HorizontalAlignment.CENTER, VerticalAlignment.CENTER); - drawCenteredText(g2d, "_", controlPoints[2].x, controlPoints[2].y - spacing * 3 / 4, + drawCenteredText(g2d, getPolarity() == DCPolarity.CENTER_NEGATIVE ? "_" : "+", + controlPoints[2].x, controlPoints[2].y - spacing * 3 / 4, HorizontalAlignment.CENTER, VerticalAlignment.CENTER); } } @@ -229,4 +232,16 @@ public class PlasticDCJack extends AbstractTransparentComponent { public void setValue(String value) { this.value = value; } + + @EditableProperty + public DCPolarity getPolarity() { + if (polarity == null) { + polarity = DCPolarity.CENTER_NEGATIVE; + } + return polarity; + } + + public void setPolarity(DCPolarity polarity) { + this.polarity = polarity; + } } diff --git a/ diy-layout-creator --username bancika@gmail.com/diylc-swing/library/main.jar b/ diy-layout-creator --username bancika@gmail.com/diylc-swing/library/main.jar index 41caaee0..b0a25848 100644 Binary files a/ diy-layout-creator --username bancika@gmail.com/diylc-swing/library/main.jar and b/ diy-layout-creator --username bancika@gmail.com/diylc-swing/library/main.jar differ