added square pad

This commit is contained in:
bancika
2011-01-30 11:32:55 +00:00
parent 1b04023a93
commit 6bb248032f
4 changed files with 29 additions and 2 deletions
@@ -102,6 +102,10 @@
<changeType>IMPROVEMENT</changeType>
<description>Electrolytic capacitor has a new icon and new looks</description>
</com.diyfever.gui.update.Change>
<com.diyfever.gui.update.Change>
<changeType>IMPROVEMENT</changeType>
<description>Solder pad can be square</description>
</com.diyfever.gui.update.Change>
<com.diyfever.gui.update.Change>
<changeType>NEW_FEATURE</changeType>
<description>Added support for creating and loading templates</description>
@@ -28,6 +28,7 @@ public class SolderPad extends AbstractComponent<Void> {
private Size size = SIZE;
private Color color = COLOR;
private Point point = new Point(0, 0);
private Type type = Type.ROUND;
@Override
public void draw(Graphics2D g2d, ComponentState componentState, Project project,
@@ -36,7 +37,11 @@ public class SolderPad extends AbstractComponent<Void> {
int holeDiameter = getClosestOdd(HOLE_SIZE.convertToPixels());
g2d.setColor(componentState == ComponentState.SELECTED
|| componentState == ComponentState.DRAGGING ? SELECTION_COLOR : color);
g2d.fillOval(point.x - diameter / 2, point.y - diameter / 2, diameter, diameter);
if (type == Type.ROUND) {
g2d.fillOval(point.x - diameter / 2, point.y - diameter / 2, diameter, diameter);
} else {
g2d.fillRect(point.x - diameter / 2, point.y - diameter / 2, diameter, diameter);
}
g2d.setColor(Constants.CANVAS_COLOR);
g2d.fillOval(point.x - holeDiameter / 2, point.y - holeDiameter / 2, holeDiameter,
holeDiameter);
@@ -102,6 +107,15 @@ public class SolderPad extends AbstractComponent<Void> {
this.color = color;
}
@EditableProperty
public Type getType() {
return type;
}
public void setType(Type type) {
this.type = type;
}
@Deprecated
@Override
public Void getValue() {
@@ -111,4 +125,13 @@ public class SolderPad extends AbstractComponent<Void> {
@Override
public void setValue(Void value) {
}
static enum Type {
ROUND, SQUARE;
@Override
public String toString() {
return name().substring(0, 1) + name().substring(1).toLowerCase();
}
}
}
@@ -212,7 +212,7 @@ public class PotentiometerPanel extends AbstractPotentiometer {
@Override
public void drawIcon(Graphics2D g2d, int width, int height) {
int margin = 4 * width / 32;
int spacing = width / 3;
int spacing = width / 3 - 1;
g2d.setColor(BORDER_COLOR);
g2d.setStroke(ObjectCache.getInstance().fetchBasicStroke(2 * width / 32));
g2d.drawLine(width / 2 - spacing, height / 2, width / 2 - spacing, height - margin);