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 cd365493..8d0dbb07 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/passive/AxialFilmCapacitor.java b/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/passive/AxialFilmCapacitor.java index 60ca94a2..960c56f4 100644 --- a/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/passive/AxialFilmCapacitor.java +++ b/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/passive/AxialFilmCapacitor.java @@ -15,7 +15,7 @@ import org.diylc.core.measures.CapacitanceUnit; import org.diylc.core.measures.Size; import org.diylc.core.measures.SizeUnit; -@ComponentDescriptor(name = "Axial Film Capacitor", author = "Branislav Stojkovic", category = "Passive", creationMethod = CreationMethod.POINT_BY_POINT, instanceNamePrefix = "C", description = "test", zOrder = IDIYComponent.COMPONENT) +@ComponentDescriptor(name = "Film Capacitor (axial)", author = "Branislav Stojkovic", category = "Passive", creationMethod = CreationMethod.POINT_BY_POINT, instanceNamePrefix = "C", description = "test", zOrder = IDIYComponent.COMPONENT) public class AxialFilmCapacitor extends AbstractLeadedComponent { private static final long serialVersionUID = 1L; diff --git a/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/passive/ElectrolyticRadial.java b/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/passive/ElectrolyticRadial.java new file mode 100644 index 00000000..6a9b3778 --- /dev/null +++ b/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/passive/ElectrolyticRadial.java @@ -0,0 +1,102 @@ +package org.diylc.components.passive; + +import java.awt.Color; +import java.awt.Graphics2D; +import java.awt.Shape; +import java.awt.geom.Ellipse2D; + +import org.diylc.components.AbstractLeadedComponent; +import org.diylc.core.CreationMethod; +import org.diylc.core.IDIYComponent; +import org.diylc.core.annotations.ComponentDescriptor; +import org.diylc.core.annotations.EditableProperty; +import org.diylc.core.measures.Capacitance; +import org.diylc.core.measures.CapacitanceUnit; +import org.diylc.core.measures.Size; +import org.diylc.core.measures.SizeUnit; + +@ComponentDescriptor(name = "Electrolytic Capacitor", author = "Branislav Stojkovic", category = "Passive", creationMethod = CreationMethod.POINT_BY_POINT, instanceNamePrefix = "C", description = "test", zOrder = IDIYComponent.COMPONENT) +public class ElectrolyticRadial extends AbstractLeadedComponent { + + private static final long serialVersionUID = 1L; + + public static Size DEFAULT_SIZE = new Size(1d / 2, SizeUnit.in); + public static Color BODY_COLOR = Color.decode("#27408B"); + public static Color BORDER_COLOR = BODY_COLOR.darker(); + public static Color COVER_COLOR = Color.decode("#C3E4ED"); + + private Capacitance value = new Capacitance(1d, CapacitanceUnit.uF); + + public ElectrolyticRadial() { + super(); + } + + @EditableProperty + public Capacitance getValue() { + return value; + } + + public void setValue(Capacitance value) { + this.value = value; + } + + public void drawIcon(Graphics2D g2d, int width, int height) { + g2d.setColor(BODY_COLOR); + g2d.fillOval(6, 6, width - 12, width - 12); + g2d.setColor(BORDER_COLOR); + g2d.drawOval(6, 6, width - 12, width - 12); + } + + @Override + protected void decorateComponentBody(Graphics2D g2d) { + int totalDiameter = getClosestOdd(getWidth().convertToPixels()); + int coverDiameter = getClosestOdd(totalDiameter * 3 / 4); + g2d.setColor(COVER_COLOR); + int position = (totalDiameter - coverDiameter) / 2; + g2d.fillOval(position, position, coverDiameter, coverDiameter); + g2d.setColor(COVER_COLOR.darker()); + g2d.drawLine(position + coverDiameter / 5, position + coverDiameter / 5, position + 4 + * coverDiameter / 5, position + 4 * coverDiameter / 5); + g2d.drawLine(position + coverDiameter / 5, position + 4 * coverDiameter / 5, position + 4 + * coverDiameter / 5, position + coverDiameter / 5); + } + + @Override + protected Size getDefaultHeight() { + return null; + } + + @Deprecated + @Override + public Size getHeight() { + return super.getHeight(); + } + + @Override + protected Size getDefaultWidth() { + // We'll reuse width property to set the diameter. + return DEFAULT_SIZE; + } + + @EditableProperty(name = "Diameter") + @Override + public Size getWidth() { + return super.getWidth(); + } + + @Override + protected Color getDefaultBodyColor() { + return BODY_COLOR; + } + + @Override + protected Color getDefaultBorderColor() { + return BORDER_COLOR; + } + + @Override + protected Shape getBodyShape() { + return new Ellipse2D.Double(0f, 0f, getClosestOdd(getWidth().convertToPixels()), + getClosestOdd(getWidth().convertToPixels())); + } +} diff --git a/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/passive/RadialCeramicDiskCapacitor.java b/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/passive/RadialCeramicDiskCapacitor.java index 2654801b..aa015cc1 100644 --- a/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/passive/RadialCeramicDiskCapacitor.java +++ b/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/passive/RadialCeramicDiskCapacitor.java @@ -15,7 +15,7 @@ import org.diylc.core.measures.CapacitanceUnit; import org.diylc.core.measures.Size; import org.diylc.core.measures.SizeUnit; -@ComponentDescriptor(name = "Ceramic Capacitor", author = "Branislav Stojkovic", category = "Passive", creationMethod = CreationMethod.POINT_BY_POINT, instanceNamePrefix = "C", description = "test", zOrder = IDIYComponent.COMPONENT) +@ComponentDescriptor(name = "Ceramic Capacitor (radial)", author = "Branislav Stojkovic", category = "Passive", creationMethod = CreationMethod.POINT_BY_POINT, instanceNamePrefix = "C", description = "test", zOrder = IDIYComponent.COMPONENT) public class RadialCeramicDiskCapacitor extends AbstractLeadedComponent { private static final long serialVersionUID = 1L; diff --git a/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/passive/RadialFilmCapacitor.java b/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/passive/RadialFilmCapacitor.java index 9ce4cb11..77366b40 100644 --- a/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/passive/RadialFilmCapacitor.java +++ b/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/passive/RadialFilmCapacitor.java @@ -15,7 +15,7 @@ import org.diylc.core.measures.CapacitanceUnit; import org.diylc.core.measures.Size; import org.diylc.core.measures.SizeUnit; -@ComponentDescriptor(name = "Radial Film Capacitor", author = "Branislav Stojkovic", category = "Passive", creationMethod = CreationMethod.POINT_BY_POINT, instanceNamePrefix = "C", description = "test", zOrder = IDIYComponent.COMPONENT) +@ComponentDescriptor(name = "Film Capacitor (radial)", author = "Branislav Stojkovic", category = "Passive", creationMethod = CreationMethod.POINT_BY_POINT, instanceNamePrefix = "C", description = "test", zOrder = IDIYComponent.COMPONENT) public class RadialFilmCapacitor extends AbstractLeadedComponent { private static final long serialVersionUID = 1L;