From 77cb69e62a5bb40865e55eafea6e198c08baa1a4 Mon Sep 17 00:00:00 2001 From: bancika Date: Sun, 2 Jan 2011 18:12:35 +0000 Subject: [PATCH] added new src for library --- .../components/MockComponentInstance.java | 126 ++++++++++++++++ .../diylc/components/MockComponentType.java | 42 ++++++ .../diylc/components/ResistorInstance.java | 140 ++++++++++++++++++ .../diylc/components/ResistorType.java | 42 ++++++ 4 files changed, 350 insertions(+) create mode 100644 diy-layout-creator --username bancika@gmail.com/DIYLC/src.library/com/diyfever/diylc/components/MockComponentInstance.java create mode 100644 diy-layout-creator --username bancika@gmail.com/DIYLC/src.library/com/diyfever/diylc/components/MockComponentType.java create mode 100644 diy-layout-creator --username bancika@gmail.com/DIYLC/src.library/com/diyfever/diylc/components/ResistorInstance.java create mode 100644 diy-layout-creator --username bancika@gmail.com/DIYLC/src.library/com/diyfever/diylc/components/ResistorType.java diff --git a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src.library/com/diyfever/diylc/components/MockComponentInstance.java b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src.library/com/diyfever/diylc/components/MockComponentInstance.java new file mode 100644 index 00000000..cbfea85f --- /dev/null +++ b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src.library/com/diyfever/diylc/components/MockComponentInstance.java @@ -0,0 +1,126 @@ +package com.diyfever.diylc.components; + +import java.awt.Color; +import java.awt.Graphics2D; +import java.awt.Point; + +import com.diyfever.diylc.model.ComponentState; +import com.diyfever.diylc.model.IComponentInstance; +import com.diyfever.diylc.model.VisibilityPolicy; +import com.diyfever.diylc.model.annotations.BomName; +import com.diyfever.diylc.model.annotations.BomValue; +import com.diyfever.diylc.model.annotations.ControlPoint; +import com.diyfever.diylc.model.annotations.EditableProperty; +import com.diyfever.diylc.model.measures.Capacitance; +import com.diyfever.diylc.model.measures.CapacitanceUnit; +import com.diyfever.diylc.model.measures.Resistance; +import com.diyfever.diylc.model.measures.ResistanceUnit; +import com.diyfever.diylc.model.measures.Size; +import com.diyfever.diylc.model.measures.SizeUnit; + +public class MockComponentInstance implements IComponentInstance { + + private static final long serialVersionUID = 1L; + + private String testField = "Hello World"; + private Capacitance c = new Capacitance(100d, CapacitanceUnit.uF); + private Resistance r = new Resistance(123d, ResistanceUnit.K); + private Size s = new Size(1d, SizeUnit.cm); + private Color color = Color.green; + private Point leftTopCorner = new Point(0, 0); + private String name = "something"; + + public MockComponentInstance(String testField, Capacitance c, Resistance r, Size s, + Color color, Point leftTopCorner) { + super(); + this.testField = testField; + this.c = c; + this.r = r; + this.s = s; + this.color = color; + this.leftTopCorner = leftTopCorner; + } + + public MockComponentInstance() { + super(); + } + + @BomName + @EditableProperty + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + @ControlPoint(visibilityPolicy = VisibilityPolicy.WHEN_SELECTED) + public Point getLeftTopCorner() { + return leftTopCorner; + } + + public void setLeftTopCorner(Point leftTopCorner) { + this.leftTopCorner = leftTopCorner; + } + + @EditableProperty(name = "Test Field") + public String getTestField() { + return testField; + } + + public void setTestField(String testField) { + this.testField = testField; + } + + @BomValue + @EditableProperty(defaultable = true) + public Capacitance getC() { + return c; + } + + public void setC(Capacitance c) { + this.c = c; + } + + @EditableProperty(defaultable = true) + public Color getColor() { + return color; + } + + public void setColor(Color color) { + this.color = color; + } + + @EditableProperty + public Resistance getR() { + return r; + } + + // Setter is commented out, ClassProcessor should ignore this property. + // public void setR(Resistance r) { + // this.r = r; + // } + + // No annotation, so this property should be ignored. + public Size getS() { + return s; + } + + public void setS(Size s) { + this.s = s; + } + + @Override + public void draw(Graphics2D g2d, ComponentState componentState) { + g2d.setColor(componentState.equals(ComponentState.SELECTED) ? color : color.darker()); + g2d.fillRect(leftTopCorner.x, leftTopCorner.y, 200, 50); + } + + @Override + public MockComponentInstance clone() throws CloneNotSupportedException { + MockComponentInstance newInstance = new MockComponentInstance(testField, c.clone(), r + .clone(), s.clone(), color, (Point) leftTopCorner.clone()); + return newInstance; + } +} diff --git a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src.library/com/diyfever/diylc/components/MockComponentType.java b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src.library/com/diyfever/diylc/components/MockComponentType.java new file mode 100644 index 00000000..9c4ac344 --- /dev/null +++ b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src.library/com/diyfever/diylc/components/MockComponentType.java @@ -0,0 +1,42 @@ +package com.diyfever.diylc.components; + +import javax.swing.Icon; + +import com.diyfever.diylc.images.IconLoader; +import com.diyfever.diylc.model.ComponentLayer; +import com.diyfever.diylc.model.IComponentInstance; +import com.diyfever.diylc.model.IComponentType; + +public class MockComponentType implements IComponentType { + + @Override + public Class getComponentInstanceClass() { + return MockComponentInstance.class; + } + + @Override + public ComponentLayer getComponentLayer() { + return ComponentLayer.BOARD; + } + + @Override + public String getDescription() { + return "Some description"; + } + + @Override + public Icon getIcon() { + return IconLoader.Gears.getIcon(); + } + + @Override + public String getName() { + return "Mock Component"; + } + + @Override + public String getCategory() { + return "Samples"; + } + +} diff --git a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src.library/com/diyfever/diylc/components/ResistorInstance.java b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src.library/com/diyfever/diylc/components/ResistorInstance.java new file mode 100644 index 00000000..04754f05 --- /dev/null +++ b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src.library/com/diyfever/diylc/components/ResistorInstance.java @@ -0,0 +1,140 @@ +package com.diyfever.diylc.components; + +import java.awt.BasicStroke; +import java.awt.Color; +import java.awt.Graphics2D; +import java.awt.Point; + +import com.diyfever.diylc.model.ComponentState; +import com.diyfever.diylc.model.IComponentInstance; +import com.diyfever.diylc.model.VisibilityPolicy; +import com.diyfever.diylc.model.annotations.BomName; +import com.diyfever.diylc.model.annotations.BomValue; +import com.diyfever.diylc.model.annotations.ControlPoint; +import com.diyfever.diylc.model.annotations.EditableProperty; +import com.diyfever.diylc.model.measures.Capacitance; +import com.diyfever.diylc.model.measures.CapacitanceUnit; +import com.diyfever.diylc.model.measures.Resistance; +import com.diyfever.diylc.model.measures.ResistanceUnit; +import com.diyfever.diylc.model.measures.Size; +import com.diyfever.diylc.model.measures.SizeUnit; + +public class ResistorInstance implements IComponentInstance { + + private static final long serialVersionUID = 1L; + + private String testField = "Hello World"; + private Capacitance c = new Capacitance(100d, CapacitanceUnit.uF); + private Resistance r = new Resistance(123d, ResistanceUnit.K); + private Size s = new Size(1d, SizeUnit.cm); + private Color color = Color.green; + private Point leftTopCorner = new Point(0, 0); + private Point otherCorner = new Point(100, 100); + private String name = "something"; + + public ResistorInstance(String testField, Capacitance c, Resistance r, Size s, Color color, + Point leftTopCorner) { + super(); + this.testField = testField; + this.c = c; + this.r = r; + this.s = s; + this.color = color; + this.leftTopCorner = leftTopCorner; + } + + public ResistorInstance() { + super(); + } + + @BomName + @EditableProperty + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + @ControlPoint(visibilityPolicy = VisibilityPolicy.WHEN_SELECTED) + public Point getLeftTopCorner() { + return leftTopCorner; + } + + public void setLeftTopCorner(Point leftTopCorner) { + this.leftTopCorner = leftTopCorner; + } + + @ControlPoint(visibilityPolicy = VisibilityPolicy.WHEN_SELECTED) + public Point getOtherCorner() { + return otherCorner; + } + + public void setOtherCorner(Point otherCorner) { + this.otherCorner = otherCorner; + } + + @EditableProperty(name = "Test Field") + public String getTestField() { + return testField; + } + + public void setTestField(String testField) { + this.testField = testField; + } + + @BomValue + @EditableProperty(defaultable = true) + public Capacitance getC() { + return c; + } + + public void setC(Capacitance c) { + this.c = c; + } + + @EditableProperty(defaultable = true) + public Color getColor() { + return color; + } + + public void setColor(Color color) { + this.color = color; + } + + @EditableProperty + public Resistance getR() { + return r; + } + + // Setter is commented out, ClassProcessor should ignore this property. + // public void setR(Resistance r) { + // this.r = r; + // } + + // No annotation, so this property should be ignored. + public Size getS() { + return s; + } + + public void setS(Size s) { + this.s = s; + } + + @Override + public void draw(Graphics2D g2d, ComponentState componentState) { + g2d.setColor(componentState.equals(ComponentState.SELECTED) ? color : color.darker()); + g2d.setStroke(new BasicStroke(2)); + g2d.drawLine(leftTopCorner.x, leftTopCorner.y, otherCorner.x, otherCorner.y); + g2d.fillRect((leftTopCorner.x + otherCorner.x) / 2 - 10, + (leftTopCorner.y + otherCorner.y) / 2 - 10, 20, 20); + } + + @Override + public ResistorInstance clone() throws CloneNotSupportedException { + ResistorInstance newInstance = new ResistorInstance(testField, c.clone(), r.clone(), s + .clone(), color, (Point) leftTopCorner.clone()); + return newInstance; + } +} diff --git a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src.library/com/diyfever/diylc/components/ResistorType.java b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src.library/com/diyfever/diylc/components/ResistorType.java new file mode 100644 index 00000000..76aac209 --- /dev/null +++ b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src.library/com/diyfever/diylc/components/ResistorType.java @@ -0,0 +1,42 @@ +package com.diyfever.diylc.components; + +import javax.swing.Icon; + +import com.diyfever.diylc.images.IconLoader; +import com.diyfever.diylc.model.ComponentLayer; +import com.diyfever.diylc.model.IComponentInstance; +import com.diyfever.diylc.model.IComponentType; + +public class ResistorType implements IComponentType { + + @Override + public Class getComponentInstanceClass() { + return ResistorInstance.class; + } + + @Override + public ComponentLayer getComponentLayer() { + return ComponentLayer.COMPONENT; + } + + @Override + public String getDescription() { + return "Some description"; + } + + @Override + public Icon getIcon() { + return IconLoader.Gears.getIcon(); + } + + @Override + public String getName() { + return "Resistor"; + } + + @Override + public String getCategory() { + return "Samples"; + } + +}