diff --git a/ diy-layout-creator --username bancika@gmail.com/DIYLC/config.xml b/ diy-layout-creator --username bancika@gmail.com/DIYLC/config.xml index 02f4b9f6..d6460070 100644 --- a/ diy-layout-creator --username bancika@gmail.com/DIYLC/config.xml +++ b/ diy-layout-creator --username bancika@gmail.com/DIYLC/config.xml @@ -14,6 +14,10 @@ metric true + + default.org.diylc.components.semiconductors.DIL_IC:Value + LM366 + default.org.diylc.components.passive.AxialFilmCapacitor:Width diff --git a/ diy-layout-creator --username bancika@gmail.com/DIYLC/library/main.jar b/ diy-layout-creator --username bancika@gmail.com/DIYLC/library/main.jar index 9f7bee7f..e0cb0fba 100644 Binary files a/ diy-layout-creator --username bancika@gmail.com/DIYLC/library/main.jar and b/ diy-layout-creator --username bancika@gmail.com/DIYLC/library/main.jar differ diff --git a/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/connectivity/CurvedTrace.java b/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/connectivity/CurvedTrace.java index 364bffe1..6c260563 100644 --- a/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/connectivity/CurvedTrace.java +++ b/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/connectivity/CurvedTrace.java @@ -14,7 +14,7 @@ import org.diylc.core.measures.Size; import org.diylc.core.measures.SizeUnit; @ComponentDescriptor(name = "Curved Trace", author = "Branislav Stojkovic", category = "Connectivity", instanceNamePrefix = "Trace", description = "Curved copper trace with two control points", zOrder = IDIYComponent.ABOVE_BOARD) -public class CurvedTrace extends AbstractCurvedComponent { +public class CurvedTrace extends AbstractCurvedComponent { private static final long serialVersionUID = 1L; @@ -36,15 +36,23 @@ public class CurvedTrace extends AbstractCurvedComponent { || componentState == ComponentState.DRAGGING ? SELECTION_COLOR : color); g2d.draw(curve); } - + @EditableProperty(name = "Width") - @Override - public Size getValue() { + public Size getSize() { return size; } + public void setSize(Size size) { + this.size = size; + } + + @Deprecated @Override - public void setValue(Size value) { - this.size = value; + public Void getValue() { + return null; + } + + @Override + public void setValue(Void value) { } } diff --git a/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/connectivity/SolderPad.java b/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/connectivity/SolderPad.java index 02ddc414..c149d05b 100644 --- a/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/connectivity/SolderPad.java +++ b/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/connectivity/SolderPad.java @@ -15,7 +15,7 @@ import org.diylc.core.measures.SizeUnit; import org.diylc.utils.Constants; @ComponentDescriptor(name = "Solder Pad", category = "Connectivity", author = "Branislav Stojkovic", description = "test", instanceNamePrefix = "Pad", stretchable = false, zOrder = IDIYComponent.ABOVE_BOARD + 0.1) -public class SolderPad extends AbstractComponent { +public class SolderPad extends AbstractComponent { private static final long serialVersionUID = 1L; @@ -81,13 +81,21 @@ public class SolderPad extends AbstractComponent { } @EditableProperty(name = "Color") - @Override - public Color getValue() { + public Color getColor() { return color; } + public void setColor(Color color) { + this.color = color; + } + + @Deprecated @Override - public void setValue(Color value) { - this.color = value; + public Void getValue() { + return null; + } + + @Override + public void setValue(Void value) { } } diff --git a/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/misc/BOM.java b/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/misc/BOM.java index 29a3b4b6..69e3eede 100644 --- a/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/misc/BOM.java +++ b/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/misc/BOM.java @@ -1,6 +1,7 @@ package org.diylc.components.misc; import java.awt.Color; +import java.awt.Font; import java.awt.FontMetrics; import java.awt.Graphics2D; import java.awt.Point; @@ -20,12 +21,13 @@ import org.diylc.plugins.file.BomEntry; import org.diylc.plugins.file.BomMaker; import org.diylc.utils.Constants; -@ComponentDescriptor(name = "Bill of materials", author = "Branislav Stojkovic", category = "Misc", description = "", instanceNamePrefix = "BOM", zOrder = IDIYComponent.ABOVE_COMPONENT, stretchable = false) +@ComponentDescriptor(name = "Bill of Materials", author = "Branislav Stojkovic", category = "Misc", description = "", instanceNamePrefix = "BOM", zOrder = IDIYComponent.ABOVE_COMPONENT, stretchable = false) public class BOM extends AbstractComponent { public static Size DEFAULT_SIZE = new Size(10d, SizeUnit.cm); public static Size SPACING = Constants.GRID_SIZE; public static Color COLOR = Color.black; + public static String DEFAULT_TEXT = "No components to show in the Bill of Materials"; private static final long serialVersionUID = 1L; private Size size = DEFAULT_SIZE; @@ -76,6 +78,7 @@ public class BOM extends AbstractComponent { int columnWidth = size.convertToPixels() / columnCount; int entriesPerColumn = (int) Math.ceil(1.d * bom.size() / columnCount); if (entriesPerColumn == 0) { + g2d.drawString(DEFAULT_TEXT, point.x, point.y); return; } for (int i = 0; i < bom.size(); i++) { @@ -91,8 +94,32 @@ public class BOM extends AbstractComponent { @Override public void drawIcon(Graphics2D g2d, int width, int height) { - // TODO Auto-generated method stub + g2d.setColor(Color.white); + g2d.fillRect(width / 8, 0, 6 * width / 8, height - 1); + g2d.setColor(Color.black); + g2d.drawRect(width / 8, 0, 6 * width / 8, height - 1); + g2d.setFont(Constants.LABEL_FONT.deriveFont(1f * 9 * width / 32).deriveFont(Font.PLAIN)); + FontMetrics fontMetrics = g2d.getFontMetrics(); + Rectangle2D rect = fontMetrics.getStringBounds("BOM", g2d); + + int textHeight = (int) (rect.getHeight()); + int textWidth = (int) (rect.getWidth()); + + // Center text horizontally and vertically. + int x = (width - textWidth) / 2 + 1; + int y = textHeight + 2; + + g2d.drawString("BOM", x, y); + + g2d.setFont(g2d.getFont().deriveFont(1f * 5 * width / 32)); + + fontMetrics = g2d.getFontMetrics(); + rect = fontMetrics.getStringBounds("resistors", g2d); + x = (width - textWidth) / 2 + 1; + g2d.drawString("resistors", x, 4 * height / 7); + g2d.drawString("tubes", x, 5 * height / 7); + g2d.drawString("diodes", x, 6 * height / 7); } @Override