From 176abc2428f882435d88feb9d4f7453e466c9d01 Mon Sep 17 00:00:00 2001 From: bancika Date: Sat, 17 Mar 2012 23:47:15 +0000 Subject: [PATCH] Plastic DC jack --- .../electromechanical/DCPolarity.java | 17 ++++++++++++++ .../electromechanical/PlasticDCJack.java | 21 +++++++++++++++--- .../diylc-swing/library/main.jar | Bin 168182 -> 169613 bytes 3 files changed, 35 insertions(+), 3 deletions(-) create mode 100644 diy-layout-creator --username bancika@gmail.com/diylc-library/src/org/diylc/components/electromechanical/DCPolarity.java 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 41caaee01e4643bfa9faa8adc9d0bfbffdac57b9..b0a258483d2b92d1f6114dcfba66d784cbc1c5e4 100644 GIT binary patch delta 8689 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 delta 7226 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 B+VlVb