diff --git a/ diy-layout-creator --username bancika@gmail.com/diylc-library/lib/diylc-core.jar b/ diy-layout-creator --username bancika@gmail.com/diylc-library/lib/diylc-core.jar index 2e27961a..dec7b43c 100644 Binary files a/ diy-layout-creator --username bancika@gmail.com/diylc-library/lib/diylc-core.jar and b/ diy-layout-creator --username bancika@gmail.com/diylc-library/lib/diylc-core.jar differ diff --git a/ diy-layout-creator --username bancika@gmail.com/diylc-library/src/org/diylc/components/semiconductors/TransistorTO220.java b/ diy-layout-creator --username bancika@gmail.com/diylc-library/src/org/diylc/components/semiconductors/TransistorTO220.java index b9fa581a..c29f5cef 100644 --- a/ diy-layout-creator --username bancika@gmail.com/diylc-library/src/org/diylc/components/semiconductors/TransistorTO220.java +++ b/ diy-layout-creator --username bancika@gmail.com/diylc-library/src/org/diylc/components/semiconductors/TransistorTO220.java @@ -11,6 +11,7 @@ import java.awt.Shape; import java.awt.geom.Rectangle2D; import org.diylc.appframework.miscutils.ConfigurationManager; +import org.diylc.common.Display; import org.diylc.common.IPlugInPort; import org.diylc.common.ObjectCache; import org.diylc.common.Orientation; @@ -53,6 +54,7 @@ public class TransistorTO220 extends AbstractTransparentComponent { private Color borderColor = BORDER_COLOR; private Color tabColor = TAB_COLOR; private Color tabBorderColor = TAB_BORDER_COLOR; + private Display display = Display.NAME; public TransistorTO220() { super(); @@ -246,15 +248,16 @@ public class TransistorTO220 extends AbstractTransparentComponent { : LABEL_COLOR; } g2d.setColor(finalLabelColor); + String label = (getDisplay() == Display.NAME) ? getName() : getValue(); FontMetrics fontMetrics = g2d.getFontMetrics(g2d.getFont()); - Rectangle2D rect = fontMetrics.getStringBounds(getName(), g2d); + Rectangle2D rect = fontMetrics.getStringBounds(label, g2d); int textHeight = (int) (rect.getHeight()); int textWidth = (int) (rect.getWidth()); // Center text horizontally and vertically Rectangle bounds = mainArea.getBounds(); int x = bounds.x + (bounds.width - textWidth) / 2; int y = bounds.y + (bounds.height - textHeight) / 2 + fontMetrics.getAscent(); - g2d.drawString(getName(), x, y); + g2d.drawString(label, x, y); } @Override @@ -304,4 +307,16 @@ public class TransistorTO220 extends AbstractTransparentComponent { public void setTabBorderColor(Color tabBorderColor) { this.tabBorderColor = tabBorderColor; } + + @EditableProperty + public Display getDisplay() { + if (display == null) { + display = Display.NAME; + } + return display; + } + + public void setDisplay(Display display) { + this.display = display; + } } diff --git a/ diy-layout-creator --username bancika@gmail.com/diylc-library/src/org/diylc/components/semiconductors/TransistorTO92.java b/ diy-layout-creator --username bancika@gmail.com/diylc-library/src/org/diylc/components/semiconductors/TransistorTO92.java index 69d50eb9..033bcc41 100644 --- a/ diy-layout-creator --username bancika@gmail.com/diylc-library/src/org/diylc/components/semiconductors/TransistorTO92.java +++ b/ diy-layout-creator --username bancika@gmail.com/diylc-library/src/org/diylc/components/semiconductors/TransistorTO92.java @@ -12,6 +12,7 @@ import java.awt.geom.Ellipse2D; import java.awt.geom.Rectangle2D; import org.diylc.appframework.miscutils.ConfigurationManager; +import org.diylc.common.Display; import org.diylc.common.IPlugInPort; import org.diylc.common.ObjectCache; import org.diylc.common.Orientation; @@ -48,6 +49,7 @@ public class TransistorTO92 extends AbstractTransparentComponent { transient private Area body; private Color bodyColor = BODY_COLOR; private Color borderColor = BORDER_COLOR; + protected Display display = Display.NAME; public TransistorTO92() { super(); @@ -222,15 +224,16 @@ public class TransistorTO92 extends AbstractTransparentComponent { : LABEL_COLOR; } g2d.setColor(finalLabelColor); + String label = (getDisplay() == Display.NAME) ? getName() : getValue(); FontMetrics fontMetrics = g2d.getFontMetrics(g2d.getFont()); - Rectangle2D rect = fontMetrics.getStringBounds(getName(), g2d); + Rectangle2D rect = fontMetrics.getStringBounds(label, g2d); int textHeight = (int) (rect.getHeight()); int textWidth = (int) (rect.getWidth()); // Center text horizontally and vertically Rectangle bounds = mainArea.getBounds(); int x = bounds.x + (bounds.width - textWidth) / 2; int y = bounds.y + (bounds.height - textHeight) / 2 + fontMetrics.getAscent(); - g2d.drawString(getName(), x, y); + g2d.drawString(label, x, y); } @Override @@ -264,4 +267,16 @@ public class TransistorTO92 extends AbstractTransparentComponent { public void setBorderColor(Color borderColor) { this.borderColor = borderColor; } + + @EditableProperty + public Display getDisplay() { + if (display == null) { + display = Display.NAME; + } + return display; + } + + public void setDisplay(Display display) { + this.display = display; + } }