Adjustable solder pad hole size

This commit is contained in:
bancika
2011-09-03 20:01:09 +00:00
parent 7f2b973638
commit a00028131f
3 changed files with 19 additions and 2 deletions
@@ -29,6 +29,7 @@ public class SolderPad extends AbstractComponent<Void> {
private Color color = COLOR; private Color color = COLOR;
private Point point = new Point(0, 0); private Point point = new Point(0, 0);
private Type type = Type.ROUND; private Type type = Type.ROUND;
private Size holeSize = HOLE_SIZE;
@Override @Override
public void draw(Graphics2D g2d, ComponentState componentState, boolean outlineMode, public void draw(Graphics2D g2d, ComponentState componentState, boolean outlineMode,
@@ -36,8 +37,8 @@ public class SolderPad extends AbstractComponent<Void> {
if (checkPointsClipped(g2d.getClip())) { if (checkPointsClipped(g2d.getClip())) {
return; return;
} }
int diameter = getClosestOdd((int) size.convertToPixels()); int diameter = getClosestOdd((int) getSize().convertToPixels());
int holeDiameter = getClosestOdd((int) HOLE_SIZE.convertToPixels()); int holeDiameter = getClosestOdd((int) getHoleSize().convertToPixels());
g2d.setColor(componentState == ComponentState.SELECTED g2d.setColor(componentState == ComponentState.SELECTED
|| componentState == ComponentState.DRAGGING ? SELECTION_COLOR : color); || componentState == ComponentState.DRAGGING ? SELECTION_COLOR : color);
if (type == Type.ROUND) { if (type == Type.ROUND) {
@@ -70,6 +71,18 @@ public class SolderPad extends AbstractComponent<Void> {
this.size = size; this.size = size;
} }
@EditableProperty(name = "Hole")
public Size getHoleSize() {
if (holeSize == null) {
holeSize = HOLE_SIZE;
}
return holeSize;
}
public void setHoleSize(Size holeSize) {
this.holeSize = holeSize;
}
@Override @Override
public String getName() { public String getName() {
return super.getName(); return super.getName();
@@ -394,6 +394,10 @@
<changeType>IMPROVEMENT</changeType> <changeType>IMPROVEMENT</changeType>
<description>Better lead and label rendering when lead spacing is smaller than component body</description> <description>Better lead and label rendering when lead spacing is smaller than component body</description>
</com.diyfever.gui.update.Change> </com.diyfever.gui.update.Change>
<com.diyfever.gui.update.Change>
<changeType>NEW_FEATURE</changeType>
<description>Adjustable solder pad hole size</description>
</com.diyfever.gui.update.Change>
</changes> </changes>
<url>http://code.google.com/p/diy-layout-creator/downloads/list</url> <url>http://code.google.com/p/diy-layout-creator/downloads/list</url>
</com.diyfever.gui.update.Version> </com.diyfever.gui.update.Version>