Improved data model for storing transparency alpha and other properties that are edited using a slider widget; as a result, the editing is more precise and does not randomly change to neighboring values

This commit is contained in:
Bane Stojkovic
2026-04-06 21:04:55 +02:00
parent 124d1ab577
commit 194c8e0606
98 changed files with 12813 additions and 13008 deletions
@@ -0,0 +1,75 @@
/*
DIY Layout Creator (DIYLC).
Copyright (c) 2009-2025 held jointly by the individual authors.
This file is part of DIYLC.
DIYLC is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
DIYLC is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with DIYLC. If not, see <http://www.gnu.org/licenses/>.
*/
package org.diylc.common;
import java.io.Serializable;
public class Percentage implements Serializable, Cloneable {
private static final long serialVersionUID = 1L;
private int value;
public Percentage(int value) {
this.value = value;
}
public int getValue() {
return value;
}
public void setValue(int value) {
this.value = value;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + value;
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
Percentage other = (Percentage) obj;
if (value != other.value)
return false;
return true;
}
@Override
public String toString() {
return value + "%";
}
@Override
public Object clone() throws CloneNotSupportedException {
return super.clone();
}
}
@@ -149,10 +149,7 @@ public abstract class AbstractCurvedComponent<T> extends AbstractTransparentComp
path.curveTo(p[4].getX(), p[4].getY(), p[5].getX(), p[5].getY(), p[6].getX(), p[6].getY()); path.curveTo(p[4].getX(), p[4].getY(), p[5].getX(), p[5].getY(), p[6].getX(), p[6].getY());
} }
Composite oldComposite = g2d.getComposite(); Composite oldComposite = applyAlpha(g2d, componentState);
if (alpha < MAX_ALPHA) {
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * alpha / MAX_ALPHA));
}
drawCurve(path, g2d, componentState, drawingObserver); drawCurve(path, g2d, componentState, drawingObserver);
@@ -22,24 +22,46 @@
package org.diylc.components; package org.diylc.components;
import org.diylc.core.annotations.EditableProperty; import org.diylc.core.annotations.EditableProperty;
import org.diylc.core.ComponentState;
import org.diylc.common.Percentage;
import java.awt.*;
public abstract class AbstractTransparentComponent<T> extends AbstractComponent<T> { public abstract class AbstractTransparentComponent<T> extends AbstractComponent<T> {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
public static byte MAX_ALPHA = 127; public static byte MAX_ALPHA_LEGACY = Byte.MAX_VALUE;
public static int MAX_ALPHA = 100;
protected Byte alpha = MAX_ALPHA; @Deprecated
protected Byte alpha;
@EditableProperty protected Percentage alphaPercent = new Percentage(100);
public Byte getAlpha() {
if (alpha == null) { @EditableProperty(name = "Alpha")
alpha = MAX_ALPHA; public Percentage getAlpha() {
if (alphaPercent == null) {
if (alpha != null) {
alphaPercent = new Percentage(Math.round(100f * alpha / MAX_ALPHA_LEGACY));
alpha = null;
} else {
alphaPercent = new Percentage(100);
} }
return alpha; }
return alphaPercent;
} }
public void setAlpha(Byte alpha) { public void setAlpha(Percentage alphaPercent) {
this.alpha = alpha; this.alphaPercent = alphaPercent;
}
public Composite applyAlpha(Graphics2D g2d, ComponentState componentState) {
Composite oldComposite = g2d.getComposite();
int alpha = componentState == ComponentState.DRAGGING ? 0 : getAlpha().getValue();
if (alpha < MAX_ALPHA) {
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, alpha / 100f));
}
return oldComposite;
} }
} }
@@ -27,5 +27,7 @@ import java.lang.annotation.RetentionPolicy;
@Retention(RetentionPolicy.RUNTIME) @Retention(RetentionPolicy.RUNTIME)
public @interface PercentEditor { public @interface PercentEditor {
public byte _100PercentValue(); public int minValue() default 0;
public int maxValue() default 100;
} }
@@ -68,7 +68,7 @@ import org.diylc.utils.Constants;
public class DrawingManager { public class DrawingManager {
private static final Logger LOG = Logger.getLogger(DrawingManager.class); private static final Logger LOG = Logger.getLogger(DrawingManager.class);
public static final byte MIRROR_ALPHA = 64; public static final Percentage MIRROR_ALPHA = new Percentage(50);
public static int CONTROL_POINT_SIZE = 7; public static int CONTROL_POINT_SIZE = 7;
public static double EXTRA_SPACE = 0.25; public static double EXTRA_SPACE = 0.25;
@@ -317,6 +317,10 @@
<changeType>NEW_FEATURE</changeType> <changeType>NEW_FEATURE</changeType>
<description>Added more ceramic resistor variants to 'Resistor' component</description> <description>Added more ceramic resistor variants to 'Resistor' component</description>
</org.diylc.appframework.update.Change> </org.diylc.appframework.update.Change>
<org.diylc.appframework.update.Change>
<changeType>IMPROVEMENT</changeType>
<description>Improved data model for storing transparency alpha and other properties that are edited using a slider widget; as a result, the editing is more precise and does not randomly change to neighboring values</description>
</org.diylc.appframework.update.Change>
<org.diylc.appframework.update.Change> <org.diylc.appframework.update.Change>
<changeType>IMPROVEMENT</changeType> <changeType>IMPROVEMENT</changeType>
<description>Improved editing experience of integer properties (e.g. number of terminals on a tag strip) by using the spinner text field</description> <description>Improved editing experience of integer properties (e.g. number of terminals on a tag strip) by using the spinner text field</description>
@@ -235,7 +235,7 @@ public class CalcUtilsTest {
assertEquals(Color.BLACK.getRed(), result.getRed()); assertEquals(Color.BLACK.getRed(), result.getRed());
assertEquals(Color.BLACK.getGreen(), result.getGreen()); assertEquals(Color.BLACK.getGreen(), result.getGreen());
assertEquals(Color.BLACK.getBlue(), result.getBlue()); assertEquals(Color.BLACK.getBlue(), result.getBlue());
assertEquals(128, result.getAlpha()); assertEquals(128, result.getAlpha().getValue());
// Test light color with alpha - should become WHITE // Test light color with alpha - should become WHITE
Color transparentLight = new Color(255, 255, 200, 128); Color transparentLight = new Color(255, 255, 200, 128);
@@ -243,16 +243,16 @@ public class CalcUtilsTest {
assertEquals(Color.WHITE.getRed(), result.getRed()); assertEquals(Color.WHITE.getRed(), result.getRed());
assertEquals(Color.WHITE.getGreen(), result.getGreen()); assertEquals(Color.WHITE.getGreen(), result.getGreen());
assertEquals(Color.WHITE.getBlue(), result.getBlue()); assertEquals(Color.WHITE.getBlue(), result.getBlue());
assertEquals(128, result.getAlpha()); assertEquals(128, result.getAlpha().getValue());
// Test fully transparent color // Test fully transparent color
Color transparent = new Color(100, 150, 200, 0); Color transparent = new Color(100, 150, 200, 0);
result = CalcUtils.convertToMonochrome(transparent); result = CalcUtils.convertToMonochrome(transparent);
assertEquals(0, result.getAlpha()); assertEquals(0, result.getAlpha().getValue());
// Test opaque color - alpha should remain 255 // Test opaque color - alpha should remain 255
Color opaque = new Color(50, 50, 50); Color opaque = new Color(50, 50, 50);
result = CalcUtils.convertToMonochrome(opaque); result = CalcUtils.convertToMonochrome(opaque);
assertEquals(255, result.getAlpha()); assertEquals(255, result.getAlpha().getValue());
} }
} }
@@ -165,10 +165,7 @@ public abstract class AbstractLeadedComponent<T> extends AbstractLabeledComponen
new Ellipse2D.Double((getFlipStanding() ? getPoints()[1] : getPoints()[0]).getX() - width / 2, new Ellipse2D.Double((getFlipStanding() ? getPoints()[1] : getPoints()[0]).getX() - width / 2,
(getFlipStanding() ? getPoints()[1] : getPoints()[0]).getY() - width / 2, width, width); (getFlipStanding() ? getPoints()[1] : getPoints()[0]).getY() - width / 2, width, width);
shapeRect = body.getBounds(); shapeRect = body.getBounds();
Composite oldComposite = g2d.getComposite(); Composite oldComposite = applyAlpha(g2d, componentState);
if (alpha < MAX_ALPHA) {
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * alpha / MAX_ALPHA));
}
g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : getStandingBodyColor()); g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : getStandingBodyColor());
g2d.fill(body); g2d.fill(body);
g2d.setComposite(oldComposite); g2d.setComposite(oldComposite);
@@ -255,10 +252,7 @@ public abstract class AbstractLeadedComponent<T> extends AbstractLabeledComponen
g2d.translate((getPoints()[0].getX() + getPoints()[1].getX() - length) / 2, (getPoints()[0].getY() + getPoints()[1].getY() - width) / 2); g2d.translate((getPoints()[0].getX() + getPoints()[1].getX() - length) / 2, (getPoints()[0].getY() + getPoints()[1].getY() - width) / 2);
g2d.rotate(theta, length / 2, width / 2); g2d.rotate(theta, length / 2, width / 2);
// Draw body. // Draw body.
Composite oldComposite = g2d.getComposite(); Composite oldComposite = applyAlpha(g2d, componentState);
if (alpha < MAX_ALPHA) {
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * alpha / MAX_ALPHA));
}
if (getBodyColor() != null) { if (getBodyColor() != null) {
g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : getBodyColor()); g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : getBodyColor());
@@ -440,10 +434,7 @@ public abstract class AbstractLeadedComponent<T> extends AbstractLabeledComponen
break; break;
} }
Composite oldComposite = g2d.getComposite(); Composite oldComposite = applyAlpha(g2d, componentState);
if (getAlpha() < MAX_ALPHA) {
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * getAlpha() / MAX_ALPHA));
}
if (shouldShadeLeads()) { if (shouldShadeLeads()) {
Shape lineShape = stroke.createStrokedShape(line); Shape lineShape = stroke.createStrokedShape(line);
@@ -88,12 +88,7 @@ public abstract class AbstractBoard extends AbstractTransparentComponent<String>
Point2D finalSecondPoint = getFinalSecondPoint(); Point2D finalSecondPoint = getFinalSecondPoint();
Composite oldComposite = g2d.getComposite(); Composite oldComposite = applyAlpha(g2d, componentState);
// render as transparent when dragging
int alpha = componentState == ComponentState.DRAGGING ? 0 : this.alpha;
if (alpha < MAX_ALPHA) {
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * alpha / MAX_ALPHA));
}
g2d.setColor(boardColor); g2d.setColor(boardColor);
g2d.fillRect((int)firstPoint.getX(), (int)firstPoint.getY(), (int)(finalSecondPoint.getX() - firstPoint.getX()), (int)(finalSecondPoint.getY() - firstPoint.getY())); g2d.fillRect((int)firstPoint.getX(), (int)firstPoint.getY(), (int)(finalSecondPoint.getX() - firstPoint.getX()), (int)(finalSecondPoint.getY() - firstPoint.getY()));
g2d.setComposite(oldComposite); g2d.setComposite(oldComposite);
@@ -70,10 +70,7 @@ public class BlankBoard extends AbstractBoard {
g2d.setStroke(ObjectCache.getInstance().fetchBasicStroke(1)); g2d.setStroke(ObjectCache.getInstance().fetchBasicStroke(1));
// if (componentState != ComponentState.DRAGGING) { // if (componentState != ComponentState.DRAGGING) {
Composite oldComposite = g2d.getComposite(); Composite oldComposite = applyAlpha(g2d, componentState);
if (alpha < MAX_ALPHA) {
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * alpha / MAX_ALPHA));
}
g2d.setColor(boardColor); g2d.setColor(boardColor);
if (getType() == Type.SQUARE) if (getType() == Type.SQUARE)
g2d.fillRect((int)firstPoint.getX(), (int)firstPoint.getY(), (int)(finalSecondPoint.getX() - firstPoint.getX()), (int)(finalSecondPoint.getY() - firstPoint.getY())); g2d.fillRect((int)firstPoint.getX(), (int)firstPoint.getY(), (int)(finalSecondPoint.getX() - firstPoint.getX()), (int)(finalSecondPoint.getY() - firstPoint.getY()));
@@ -78,9 +78,7 @@ public class EyeletBoard extends AbstractBoard {
} }
super.draw(g2d, componentState, outlineMode, project, drawingObserver); super.draw(g2d, componentState, outlineMode, project, drawingObserver);
if (componentState != ComponentState.DRAGGING) { if (componentState != ComponentState.DRAGGING) {
if (alpha < MAX_ALPHA) { applyAlpha(g2d, componentState);
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * alpha / MAX_ALPHA));
}
double x = firstPoint.getX(); double x = firstPoint.getX();
double y = firstPoint.getY(); double y = firstPoint.getY();
int diameter = getClosestOdd((int) EYELET_SIZE.convertToPixels()); int diameter = getClosestOdd((int) EYELET_SIZE.convertToPixels());
@@ -76,9 +76,7 @@ public class MarshallPerfBoard extends AbstractBoard {
} }
super.draw(g2d, componentState, outlineMode, project, drawingObserver); super.draw(g2d, componentState, outlineMode, project, drawingObserver);
if (componentState != ComponentState.DRAGGING) { if (componentState != ComponentState.DRAGGING) {
if (alpha < MAX_ALPHA) { applyAlpha(g2d, componentState);
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * alpha / MAX_ALPHA));
}
double x = firstPoint.getX(); double x = firstPoint.getX();
double y = firstPoint.getY(); double y = firstPoint.getY();
int holeDiameter = getClosestOdd((int) HOLE_SIZE.convertToPixels()); int holeDiameter = getClosestOdd((int) HOLE_SIZE.convertToPixels());
@@ -72,9 +72,7 @@ public class PerfBoard extends AbstractBoard implements ILayeredComponent {
} }
super.draw(g2d, componentState, outlineMode, project, drawingObserver); super.draw(g2d, componentState, outlineMode, project, drawingObserver);
if (componentState != ComponentState.DRAGGING) { if (componentState != ComponentState.DRAGGING) {
if (alpha < MAX_ALPHA) { applyAlpha(g2d, componentState);
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * alpha / MAX_ALPHA));
}
double x = firstPoint.getX(); double x = firstPoint.getX();
double y = firstPoint.getY(); double y = firstPoint.getY();
int diameter = getClosestOdd((int) PAD_SIZE.convertToPixels()); int diameter = getClosestOdd((int) PAD_SIZE.convertToPixels());
@@ -278,10 +278,7 @@ public class TagStrip extends AbstractTransparentComponent<String> implements IC
Area[] area = getBody(); Area[] area = getBody();
Area mainArea = area[0]; Area mainArea = area[0];
Composite oldComposite = g2d.getComposite(); Composite oldComposite = applyAlpha(g2d, componentState);
if (alpha < MAX_ALPHA) {
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * alpha / MAX_ALPHA));
}
g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : getBoardColor()); g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : getBoardColor());
g2d.fill(mainArea); g2d.fill(mainArea);
@@ -360,10 +360,7 @@ public class TerminalStrip extends AbstractTransparentComponent<String> implemen
Area[] body = getBody(); Area[] body = getBody();
Area mainArea = getBody()[0]; Area mainArea = getBody()[0];
Composite oldComposite = g2d.getComposite(); Composite oldComposite = applyAlpha(g2d, componentState);
if (alpha < MAX_ALPHA) {
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * alpha / MAX_ALPHA));
}
g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : getBoardColor()); g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : getBoardColor());
g2d.fill(mainArea); g2d.fill(mainArea);
@@ -61,10 +61,7 @@ public class TriPadBoard extends AbstractVeroBoard implements ILayeredComponent
} }
super.draw(g2d, componentState, outlineMode, project, drawingObserver); super.draw(g2d, componentState, outlineMode, project, drawingObserver);
if (componentState != ComponentState.DRAGGING) { if (componentState != ComponentState.DRAGGING) {
Composite oldComposite = g2d.getComposite(); Composite oldComposite = applyAlpha(g2d, componentState);
if (alpha < MAX_ALPHA) {
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * alpha / MAX_ALPHA));
}
double x = firstPoint.getX(); double x = firstPoint.getX();
double y = firstPoint.getY(); double y = firstPoint.getY();
int stripSize = getClosestOdd((int) STRIP_SIZE.convertToPixels()); int stripSize = getClosestOdd((int) STRIP_SIZE.convertToPixels());
@@ -60,10 +60,7 @@ public class VeroBoard extends AbstractVeroBoard implements ILayeredComponent {
} }
super.draw(g2d, componentState, outlineMode, project, drawingObserver); super.draw(g2d, componentState, outlineMode, project, drawingObserver);
if (componentState != ComponentState.DRAGGING) { if (componentState != ComponentState.DRAGGING) {
Composite oldComposite = g2d.getComposite(); Composite oldComposite = applyAlpha(g2d, componentState);
if (alpha < MAX_ALPHA) {
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * alpha / MAX_ALPHA));
}
double x = firstPoint.getX(); double x = firstPoint.getX();
double y = firstPoint.getY(); double y = firstPoint.getY();
int stripSize = getClosestOdd((int) STRIP_SIZE.convertToPixels()); int stripSize = getClosestOdd((int) STRIP_SIZE.convertToPixels());
@@ -59,10 +59,7 @@ public class ChassisPanel extends AbstractShape {
g2d.setStroke(ObjectCache.getInstance().fetchBasicStroke((int) borderThickness.convertToPixels())); g2d.setStroke(ObjectCache.getInstance().fetchBasicStroke((int) borderThickness.convertToPixels()));
int radius = (int) edgeRadius.convertToPixels(); int radius = (int) edgeRadius.convertToPixels();
if (componentState != ComponentState.DRAGGING) { if (componentState != ComponentState.DRAGGING) {
Composite oldComposite = g2d.getComposite(); Composite oldComposite = applyAlpha(g2d, componentState);
if (alpha < MAX_ALPHA) {
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * alpha / MAX_ALPHA));
}
g2d.setColor(color); g2d.setColor(color);
if (radius == 0) { if (radius == 0) {
g2d.fillRect((int) firstPoint.getX(), (int) firstPoint.getY(), g2d.fillRect((int) firstPoint.getX(), (int) firstPoint.getY(),
@@ -48,10 +48,7 @@ public class EllipticalCutout extends AbstractShape {
g2d.setStroke(ObjectCache.getInstance().fetchBasicStroke((int) borderThickness.convertToPixels())); g2d.setStroke(ObjectCache.getInstance().fetchBasicStroke((int) borderThickness.convertToPixels()));
if (componentState != ComponentState.DRAGGING) { if (componentState != ComponentState.DRAGGING) {
Composite oldComposite = g2d.getComposite(); Composite oldComposite = applyAlpha(g2d, componentState);
if (alpha < MAX_ALPHA) {
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * alpha / MAX_ALPHA));
}
g2d.setColor(color); g2d.setColor(color);
g2d.fillOval((int)firstPoint.getX(), (int)firstPoint.getY(), (int)(secondPoint.getX() - firstPoint.getX()), (int)(secondPoint.getY() - firstPoint.getY())); g2d.fillOval((int)firstPoint.getX(), (int)firstPoint.getY(), (int)(secondPoint.getX() - firstPoint.getX()), (int)(secondPoint.getY() - firstPoint.getY()));
g2d.setComposite(oldComposite); g2d.setComposite(oldComposite);
@@ -66,10 +66,7 @@ public class PolygonalCutout extends AbstractShape {
yPoints[i] = (int)controlPoints[i].getY(); yPoints[i] = (int)controlPoints[i].getY();
} }
Composite oldComposite = g2d.getComposite(); Composite oldComposite = applyAlpha(g2d, componentState);
if (this.alpha < MAX_ALPHA) {
g2d.setComposite(AlphaComposite.getInstance(3, 1.0F * this.alpha / MAX_ALPHA));
}
g2d.fillPolygon(xPoints, yPoints, controlPoints.length); g2d.fillPolygon(xPoints, yPoints, controlPoints.length);
g2d.setComposite(oldComposite); g2d.setComposite(oldComposite);
@@ -54,10 +54,7 @@ public class RectangularCutout extends AbstractShape {
g2d.setStroke(ObjectCache.getInstance().fetchBasicStroke((int) borderThickness.convertToPixels())); g2d.setStroke(ObjectCache.getInstance().fetchBasicStroke((int) borderThickness.convertToPixels()));
int radius = (int) edgeRadius.convertToPixels(); int radius = (int) edgeRadius.convertToPixels();
if (componentState != ComponentState.DRAGGING) { if (componentState != ComponentState.DRAGGING) {
Composite oldComposite = g2d.getComposite(); Composite oldComposite = applyAlpha(g2d, componentState);
if (alpha < MAX_ALPHA) {
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * alpha / MAX_ALPHA));
}
g2d.setColor(color); g2d.setColor(color);
g2d.fillRoundRect((int)firstPoint.getX(), (int)firstPoint.getY(), (int)(secondPoint.getX() - firstPoint.getX()), (int)(secondPoint.getY() - firstPoint.getY()), radius, g2d.fillRoundRect((int)firstPoint.getX(), (int)firstPoint.getY(), (int)(secondPoint.getX() - firstPoint.getX()), (int)(secondPoint.getY() - firstPoint.getY()), radius,
radius); radius);
@@ -27,6 +27,7 @@ import com.bancika.gerberwriter.GerberFunctions;
import org.diylc.common.LineStyle; import org.diylc.common.LineStyle;
import org.diylc.common.ObjectCache; import org.diylc.common.ObjectCache;
import org.diylc.common.PCBLayer; import org.diylc.common.PCBLayer;
import org.diylc.common.Percentage;
import org.diylc.components.AbstractCurvedComponent; import org.diylc.components.AbstractCurvedComponent;
import org.diylc.components.AbstractLeadedComponent; import org.diylc.components.AbstractLeadedComponent;
import org.diylc.components.LineEndingStyle; import org.diylc.components.LineEndingStyle;
@@ -126,7 +127,7 @@ public class CurvedTrace extends AbstractCurvedComponent<Void> implements ILayer
public void setValue(Void value) {} public void setValue(Void value) {}
@Override @Override
public void setAlpha(Byte alpha) { public void setAlpha(Percentage alpha) {
super.setAlpha(alpha); super.setAlpha(alpha);
} }
@@ -64,10 +64,7 @@ public class CutLine extends AbstractTransparentComponent<Void> {
: color); : color);
g2d.setStroke(ObjectCache.getInstance().fetchBasicStroke(w)); g2d.setStroke(ObjectCache.getInstance().fetchBasicStroke(w));
Composite oldComposite = g2d.getComposite(); Composite oldComposite = applyAlpha(g2d, componentState);
if (alpha < MAX_ALPHA) {
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * alpha / MAX_ALPHA));
}
if (getOrientation() == OrientationHV.HORIZONTAL) if (getOrientation() == OrientationHV.HORIZONTAL)
g2d.drawLine((int)point.getX(), (int)point.getY(), (int)point.getX() + l, (int)point.getY()); g2d.drawLine((int)point.getX(), (int)point.getY(), (int)point.getX() + l, (int)point.getY());
@@ -72,10 +72,7 @@ public class Eyelet extends AbstractTransparentComponent<String> {
int diameter = getClosestOdd((int) size.convertToPixels()); int diameter = getClosestOdd((int) size.convertToPixels());
int holeDiameter = getClosestOdd((int) holeSize.convertToPixels()); int holeDiameter = getClosestOdd((int) holeSize.convertToPixels());
Composite oldComposite = g2d.getComposite(); Composite oldComposite = applyAlpha(g2d, componentState);
if (getAlpha() < MAX_ALPHA) {
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * getAlpha() / MAX_ALPHA));
}
g2d.setStroke(ObjectCache.getInstance().fetchBasicStroke(1f)); g2d.setStroke(ObjectCache.getInstance().fetchBasicStroke(1f));
g2d.setColor(color); g2d.setColor(color);
@@ -84,10 +84,7 @@ public class GroundFill extends AbstractTransparentComponent<Void>
yPoints[i] = (int)controlPoints[i].getY(); yPoints[i] = (int)controlPoints[i].getY();
} }
drawingObserver.startTrackingContinuityArea(true); drawingObserver.startTrackingContinuityArea(true);
Composite oldComposite = g2d.getComposite(); Composite oldComposite = applyAlpha(g2d, componentState);
if (getAlpha() < MAX_ALPHA) {
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * getAlpha() / MAX_ALPHA));
}
g2d.fillPolygon(xPoints, yPoints, controlPoints.length); g2d.fillPolygon(xPoints, yPoints, controlPoints.length);
g2d.setComposite(oldComposite); g2d.setComposite(oldComposite);
drawingObserver.stopTrackingContinuityArea(); drawingObserver.stopTrackingContinuityArea();
@@ -32,6 +32,7 @@ import org.diylc.appframework.miscutils.ConfigurationManager;
import org.diylc.common.IPlugInPort; import org.diylc.common.IPlugInPort;
import org.diylc.common.ObjectCache; import org.diylc.common.ObjectCache;
import org.diylc.common.Orientation45; import org.diylc.common.Orientation45;
import org.diylc.common.Percentage;
import org.diylc.components.AbstractTransparentComponent; import org.diylc.components.AbstractTransparentComponent;
import org.diylc.components.transform.SimpleComponentTransformer; import org.diylc.components.transform.SimpleComponentTransformer;
import org.diylc.core.*; import org.diylc.core.*;
@@ -67,7 +68,7 @@ public class MultimeterProbe extends AbstractTransparentComponent<Color> {
private transient Shape[] body = null; private transient Shape[] body = null;
public MultimeterProbe() { public MultimeterProbe() {
this.alpha = (byte) (MAX_ALPHA / 2); this.alphaPercent = new Percentage(50);
} }
@Override @Override
@@ -85,11 +86,7 @@ public class MultimeterProbe extends AbstractTransparentComponent<Color> {
(int) (sensitivity * 2), (int) (sensitivity * 2)); (int) (sensitivity * 2), (int) (sensitivity * 2));
drawingObserver.stopTrackingContinuityArea(); drawingObserver.stopTrackingContinuityArea();
Composite oldComposite = g2d.getComposite(); Composite oldComposite = applyAlpha(g2d, componentState);
if (alpha < MAX_ALPHA) {
g2d.setComposite(
AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * alpha / MAX_ALPHA));
}
g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : PROBE_COLOR); g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : PROBE_COLOR);
g2d.fill(shapes[0]); g2d.fill(shapes[0]);
g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : handleColor); g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : handleColor);
@@ -206,11 +206,7 @@ public class PCBTerminalBlock extends AbstractTransparentComponent<PCBTerminalBl
Constants.DEFAULT_THEME); Constants.DEFAULT_THEME);
// Draw body if available. // Draw body if available.
if (body != null) { if (body != null) {
Composite oldComposite = g2d.getComposite(); Composite oldComposite = applyAlpha(g2d, componentState);
if (alpha < MAX_ALPHA) {
g2d.setComposite(
AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * alpha / MAX_ALPHA));
}
g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : getBodyColor()); g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : getBodyColor());
g2d.fill(body[0]); g2d.fill(body[0]);
// Do not track these changes because the whole switch has been tracked // Do not track these changes because the whole switch has been tracked
@@ -80,10 +80,7 @@ public class SolderLug extends AbstractMultiPartComponent<String> {
Shape[] body = getBody(); Shape[] body = getBody();
g2d.setStroke(ObjectCache.getInstance().fetchBasicStroke(1)); g2d.setStroke(ObjectCache.getInstance().fetchBasicStroke(1));
Composite oldComposite = g2d.getComposite(); Composite oldComposite = applyAlpha(g2d, componentState);
if (alpha < MAX_ALPHA) {
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * alpha / MAX_ALPHA));
}
g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : BASE_COLOR); g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : BASE_COLOR);
g2d.fill(body[0]); g2d.fill(body[0]);
@@ -91,10 +91,7 @@ public class SolderPad extends AbstractTransparentComponent<Void>
gerberDrawingObserver.startGerberOutput(gerberCopperLayer, GerberFunctions.CONNECTOR_PAD, false); gerberDrawingObserver.startGerberOutput(gerberCopperLayer, GerberFunctions.CONNECTOR_PAD, false);
gerberDrawingObserver.startGerberOutput(org.diylc.core.gerber.GerberLayer.SolderMaskBot, "Material", false); gerberDrawingObserver.startGerberOutput(org.diylc.core.gerber.GerberLayer.SolderMaskBot, "Material", false);
} }
Composite oldComposite = g2d.getComposite(); Composite oldComposite = applyAlpha(g2d, componentState);
if (getAlpha() < MAX_ALPHA) {
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * getAlpha() / MAX_ALPHA));
}
if (type == Type.ROUND) { if (type == Type.ROUND) {
g2d.fill(new Ellipse2D.Double(point.getX() - diameter / 2, point.getY() - diameter / 2, g2d.fill(new Ellipse2D.Double(point.getX() - diameter / 2, point.getY() - diameter / 2,
@@ -79,10 +79,7 @@ public class TraceCut extends AbstractTransparentComponent<Void> implements ILay
if (checkPointsClipped(g2d.getClip())) { if (checkPointsClipped(g2d.getClip())) {
return; return;
} }
Composite oldComposite = g2d.getComposite(); Composite oldComposite = applyAlpha(g2d, componentState);
if (getAlpha() < MAX_ALPHA) {
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * getAlpha() / MAX_ALPHA));
}
g2d.setStroke(ObjectCache.getInstance().fetchZoomableStroke(1f)); g2d.setStroke(ObjectCache.getInstance().fetchZoomableStroke(1f));
int size = getClosestOdd((int) this.size.convertToPixels()); int size = getClosestOdd((int) this.size.convertToPixels());
int cutWidth = getClosestOdd((int) CUT_WIDTH.convertToPixels()); int cutWidth = getClosestOdd((int) CUT_WIDTH.convertToPixels());
@@ -67,10 +67,7 @@ public class Turret extends AbstractTransparentComponent<String> {
if (checkPointsClipped(g2d.getClip())) { if (checkPointsClipped(g2d.getClip())) {
return; return;
} }
Composite oldComposite = g2d.getComposite(); Composite oldComposite = applyAlpha(g2d, componentState);
if (getAlpha() < MAX_ALPHA) {
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * getAlpha() / MAX_ALPHA));
}
int diameter = getClosestOdd((int) size.convertToPixels()); int diameter = getClosestOdd((int) size.convertToPixels());
int holeDiameter = getClosestOdd((int) holeSize.convertToPixels()); int holeDiameter = getClosestOdd((int) holeSize.convertToPixels());
g2d.setColor(color); g2d.setColor(color);
@@ -78,10 +78,7 @@ public class BatterySnap9V extends AbstractTransparentComponent<String> {
g2d.setStroke(ObjectCache.getInstance().fetchBasicStroke(1)); g2d.setStroke(ObjectCache.getInstance().fetchBasicStroke(1));
if (componentState != ComponentState.DRAGGING) { if (componentState != ComponentState.DRAGGING) {
Composite oldComposite = g2d.getComposite(); Composite oldComposite = applyAlpha(g2d, componentState);
if (alpha < MAX_ALPHA) {
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * alpha / MAX_ALPHA));
}
g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : color); g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : color);
g2d.fill(body[0]); g2d.fill(body[0]);
g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : METAL_COLOR); g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : METAL_COLOR);
@@ -202,10 +202,7 @@ public class CliffJack1_4 extends AbstractMultiPartComponent<JackType> implement
g2d.setStroke(ObjectCache.getInstance().fetchBasicStroke(1)); g2d.setStroke(ObjectCache.getInstance().fetchBasicStroke(1));
// if (componentState != ComponentState.DRAGGING) { // if (componentState != ComponentState.DRAGGING) {
Composite oldComposite = g2d.getComposite(); Composite oldComposite = applyAlpha(g2d, componentState);
if (alpha < MAX_ALPHA) {
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * alpha / MAX_ALPHA));
}
g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : BODY_COLOR); g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : BODY_COLOR);
for (int i = 0; i < body.length - 1; i++) { for (int i = 0; i < body.length - 1; i++) {
// Nut is brighter colored. // Nut is brighter colored.
@@ -216,10 +216,7 @@ public class CliffJack1_8 extends AbstractMultiPartComponent<JackType> implement
g2d.setStroke(ObjectCache.getInstance().fetchBasicStroke(1)); g2d.setStroke(ObjectCache.getInstance().fetchBasicStroke(1));
// if (componentState != ComponentState.DRAGGING) { // if (componentState != ComponentState.DRAGGING) {
Composite oldComposite = g2d.getComposite(); Composite oldComposite = applyAlpha(g2d, componentState);
if (alpha < MAX_ALPHA) {
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * alpha / MAX_ALPHA));
}
g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : BODY_COLOR); g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : BODY_COLOR);
for (int i = 0; i < 2; i++) { for (int i = 0; i < 2; i++) {
g2d.fill(body[i]); g2d.fill(body[i]);
@@ -223,10 +223,7 @@ public class ClosedJack1_4 extends AbstractMultiPartComponent<JackType> implemen
g2d.setStroke(ObjectCache.getInstance().fetchBasicStroke(1)); g2d.setStroke(ObjectCache.getInstance().fetchBasicStroke(1));
// if (componentState != ComponentState.DRAGGING) { // if (componentState != ComponentState.DRAGGING) {
Composite oldComposite = g2d.getComposite(); Composite oldComposite = applyAlpha(g2d, componentState);
if (alpha < MAX_ALPHA) {
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * alpha / MAX_ALPHA));
}
g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : BODY_COLOR); g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : BODY_COLOR);
g2d.fill(body[0]); g2d.fill(body[0]);
g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : SHAFT_COLOR); g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : SHAFT_COLOR);
@@ -31,10 +31,7 @@ import java.awt.geom.Rectangle2D;
import java.awt.geom.RoundRectangle2D; import java.awt.geom.RoundRectangle2D;
import org.diylc.appframework.miscutils.ConfigurationManager; import org.diylc.appframework.miscutils.ConfigurationManager;
import org.diylc.common.Display; import org.diylc.common.*;
import org.diylc.common.IPlugInPort;
import org.diylc.common.ObjectCache;
import org.diylc.common.Orientation;
import org.diylc.components.AbstractTransparentComponent; import org.diylc.components.AbstractTransparentComponent;
import org.diylc.core.ComponentState; import org.diylc.core.ComponentState;
import org.diylc.core.IDIYComponent; import org.diylc.core.IDIYComponent;
@@ -97,7 +94,7 @@ public class DIPSwitch extends AbstractTransparentComponent<String> implements I
public DIPSwitch() { public DIPSwitch() {
super(); super();
updateControlPoints(); updateControlPoints();
alpha = (byte) 100; this.alphaPercent = new Percentage(100);
} }
@EditableProperty @EditableProperty
@@ -348,10 +345,7 @@ public class DIPSwitch extends AbstractTransparentComponent<String> implements I
pinWidth, pinHeight); pinWidth, pinHeight);
} }
} }
Composite oldComposite = g2d.getComposite(); Composite oldComposite = applyAlpha(g2d, componentState);
if (alpha < MAX_ALPHA) {
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * alpha / MAX_ALPHA));
}
g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : getBodyColor()); g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : getBodyColor());
g2d.fill(mainArea); g2d.fill(mainArea);
g2d.setComposite(oldComposite); g2d.setComposite(oldComposite);
@@ -79,10 +79,7 @@ public class DrillHole extends AbstractTransparentComponent<Void>
gerberDrawingObserver.startGerberOutput(drillLayer, GerberFunctions.COMPONENT_DRILL, false); gerberDrawingObserver.startGerberOutput(drillLayer, GerberFunctions.COMPONENT_DRILL, false);
} }
Composite oldComposite = g2d.getComposite(); Composite oldComposite = applyAlpha(g2d, componentState);
if (getAlpha() < MAX_ALPHA) {
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * getAlpha() / MAX_ALPHA));
}
// Draw white circle (hole) // Draw white circle (hole)
g2d.setColor(Color.white); g2d.setColor(Color.white);
@@ -174,10 +174,7 @@ public class FuseHolderPanel extends AbstractMultiPartComponent<String> {
Theme theme = (Theme) ConfigurationManager.getInstance().readObject(IPlugInPort.THEME_KEY, Constants.DEFAULT_THEME); Theme theme = (Theme) ConfigurationManager.getInstance().readObject(IPlugInPort.THEME_KEY, Constants.DEFAULT_THEME);
// Draw body if available. // Draw body if available.
if (body != null) { if (body != null) {
Composite oldComposite = g2d.getComposite(); Composite oldComposite = applyAlpha(g2d, componentState);
if (alpha < MAX_ALPHA) {
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * alpha / MAX_ALPHA));
}
g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : getBodyColor()); g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : getBodyColor());
for (Area a : body) for (Area a : body)
if (a != null) { if (a != null) {
@@ -197,10 +197,7 @@ public class IECSocket extends AbstractMultiPartComponent<String> {
Theme theme = (Theme) ConfigurationManager.getInstance().readObject(IPlugInPort.THEME_KEY, Constants.DEFAULT_THEME); Theme theme = (Theme) ConfigurationManager.getInstance().readObject(IPlugInPort.THEME_KEY, Constants.DEFAULT_THEME);
// Draw body if available. // Draw body if available.
if (body != null) { if (body != null) {
Composite oldComposite = g2d.getComposite(); Composite oldComposite = applyAlpha(g2d, componentState);
if (alpha < MAX_ALPHA) {
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * alpha / MAX_ALPHA));
}
g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : getBodyColor()); g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : getBodyColor());
for (Area a : body) for (Area a : body)
if (a != null) { if (a != null) {
@@ -297,10 +297,7 @@ public class MiniRelay extends AbstractLabeledComponent<String> implements IGerb
return; return;
} }
Area mainArea = getBody()[0]; Area mainArea = getBody()[0];
Composite oldComposite = g2d.getComposite(); Composite oldComposite = applyAlpha(g2d, componentState);
if (alpha < MAX_ALPHA) {
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * alpha / MAX_ALPHA));
}
g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : BODY_COLOR); g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : BODY_COLOR);
g2d.fill(mainArea); g2d.fill(mainArea);
g2d.setComposite(oldComposite); g2d.setComposite(oldComposite);
@@ -277,10 +277,7 @@ public class MiniToggleSwitch extends AbstractTransparentComponent<ToggleSwitchT
Theme theme = (Theme) ConfigurationManager.getInstance().readObject(IPlugInPort.THEME_KEY, Constants.DEFAULT_THEME); Theme theme = (Theme) ConfigurationManager.getInstance().readObject(IPlugInPort.THEME_KEY, Constants.DEFAULT_THEME);
// Draw body if available. // Draw body if available.
if (body != null) { if (body != null) {
Composite oldComposite = g2d.getComposite(); Composite oldComposite = applyAlpha(g2d, componentState);
if (alpha < MAX_ALPHA) {
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * alpha / MAX_ALPHA));
}
g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : getBodyColor()); g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : getBodyColor());
g2d.fill(body); g2d.fill(body);
g2d.setComposite(oldComposite); g2d.setComposite(oldComposite);
@@ -215,10 +215,7 @@ public class NeutrikJack1_4 extends AbstractMultiPartComponent<JackType> {
g2d.setStroke(ObjectCache.getInstance().fetchBasicStroke(1)); g2d.setStroke(ObjectCache.getInstance().fetchBasicStroke(1));
// if (componentState != ComponentState.DRAGGING) { // if (componentState != ComponentState.DRAGGING) {
Composite oldComposite = g2d.getComposite(); Composite oldComposite = applyAlpha(g2d, componentState);
if (alpha < MAX_ALPHA) {
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * alpha / MAX_ALPHA));
}
g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : BODY_COLOR); g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : BODY_COLOR);
for (int i = 0; i < body.length - 1; i++) { for (int i = 0; i < body.length - 1; i++) {
// Nut is brighter colored. // Nut is brighter colored.
@@ -102,10 +102,7 @@ public class OpenJack1_4 extends AbstractMultiPartComponent<OpenJackType> {
g2d.setStroke(ObjectCache.getInstance().fetchBasicStroke(1)); g2d.setStroke(ObjectCache.getInstance().fetchBasicStroke(1));
// if (componentState != ComponentState.DRAGGING) { // if (componentState != ComponentState.DRAGGING) {
Composite oldComposite = g2d.getComposite(); Composite oldComposite = applyAlpha(g2d, componentState);
if (alpha < MAX_ALPHA) {
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * alpha / MAX_ALPHA));
}
g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : WAFER_COLOR); g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : WAFER_COLOR);
g2d.fill(body[0]); g2d.fill(body[0]);
@@ -126,10 +123,7 @@ public class OpenJack1_4 extends AbstractMultiPartComponent<OpenJackType> {
g2d.draw(body[0]); g2d.draw(body[0]);
// if (componentState != ComponentState.DRAGGING) { // if (componentState != ComponentState.DRAGGING) {
oldComposite = g2d.getComposite(); oldComposite = applyAlpha(g2d, componentState);
if (alpha < MAX_ALPHA) {
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * alpha / MAX_ALPHA));
}
g2d.setColor(Constants.TRANSPARENT_COLOR); g2d.setColor(Constants.TRANSPARENT_COLOR);
drawingObserver.startTrackingContinuityArea(true); drawingObserver.startTrackingContinuityArea(true);
@@ -102,10 +102,7 @@ public class OpenJack1_8 extends AbstractMultiPartComponent<OpenJackType> {
g2d.setStroke(ObjectCache.getInstance().fetchBasicStroke(1)); g2d.setStroke(ObjectCache.getInstance().fetchBasicStroke(1));
// if (componentState != ComponentState.DRAGGING) { // if (componentState != ComponentState.DRAGGING) {
Composite oldComposite = g2d.getComposite(); Composite oldComposite = applyAlpha(g2d, componentState);
if (alpha < MAX_ALPHA) {
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * alpha / MAX_ALPHA));
}
g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : WAFER_COLOR); g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : WAFER_COLOR);
g2d.fill(body[0]); g2d.fill(body[0]);
@@ -126,10 +123,7 @@ public class OpenJack1_8 extends AbstractMultiPartComponent<OpenJackType> {
g2d.draw(body[0]); g2d.draw(body[0]);
// if (componentState != ComponentState.DRAGGING) { // if (componentState != ComponentState.DRAGGING) {
oldComposite = g2d.getComposite(); oldComposite = applyAlpha(g2d, componentState);
if (alpha < MAX_ALPHA) {
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * alpha / MAX_ALPHA));
}
g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : BASE_COLOR); g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : BASE_COLOR);
drawingObserver.startTrackingContinuityArea(true); drawingObserver.startTrackingContinuityArea(true);
@@ -94,10 +94,7 @@ public class PilotLampHolder extends AbstractMultiPartComponent<String> {
g2d.setStroke(ObjectCache.getInstance().fetchBasicStroke(1)); g2d.setStroke(ObjectCache.getInstance().fetchBasicStroke(1));
// if (componentState != ComponentState.DRAGGING) { // if (componentState != ComponentState.DRAGGING) {
Composite oldComposite = g2d.getComposite(); Composite oldComposite = applyAlpha(g2d, componentState);
if (alpha < MAX_ALPHA) {
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * alpha / MAX_ALPHA));
}
g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : WAFER_COLOR); g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : WAFER_COLOR);
g2d.fill(body[0]); g2d.fill(body[0]);
@@ -118,10 +115,7 @@ public class PilotLampHolder extends AbstractMultiPartComponent<String> {
g2d.draw(body[0]); g2d.draw(body[0]);
// if (componentState != ComponentState.DRAGGING) { // if (componentState != ComponentState.DRAGGING) {
oldComposite = g2d.getComposite(); oldComposite = applyAlpha(g2d, componentState);
if (alpha < MAX_ALPHA) {
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * alpha / MAX_ALPHA));
}
g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : BASE_COLOR); g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : BASE_COLOR);
drawingObserver.startTrackingContinuityArea(true); drawingObserver.startTrackingContinuityArea(true);
@@ -222,10 +222,7 @@ public class PinHeader extends AbstractTransparentComponent<Void> {
Area[] body = getBody(); Area[] body = getBody();
Area mainArea = body[0]; Area mainArea = body[0];
Area shroudArea = body[1]; Area shroudArea = body[1];
Composite oldComposite = g2d.getComposite(); Composite oldComposite = applyAlpha(g2d, componentState);
if (alpha < MAX_ALPHA) {
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * alpha / MAX_ALPHA));
}
g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : bodyColor); g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : bodyColor);
g2d.fill(mainArea); g2d.fill(mainArea);
if (shroudArea != null) { if (shroudArea != null) {
@@ -136,10 +136,7 @@ public class PlasticDCJack extends AbstractMultiPartComponent<String> implements
g2d.setStroke(ObjectCache.getInstance().fetchBasicStroke(1)); g2d.setStroke(ObjectCache.getInstance().fetchBasicStroke(1));
// if (componentState != ComponentState.DRAGGING) { // if (componentState != ComponentState.DRAGGING) {
Composite oldComposite = g2d.getComposite(); Composite oldComposite = applyAlpha(g2d, componentState);
if (alpha < MAX_ALPHA) {
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * alpha / MAX_ALPHA));
}
g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : BODY_COLOR); g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : BODY_COLOR);
g2d.fill(body[0]); g2d.fill(body[0]);
drawingObserver.stopTracking(); drawingObserver.stopTracking();
@@ -86,10 +86,7 @@ public class RCAJack extends AbstractMultiPartComponent<String> {
g2d.setStroke(ObjectCache.getInstance().fetchBasicStroke(1)); g2d.setStroke(ObjectCache.getInstance().fetchBasicStroke(1));
// if (componentState != ComponentState.DRAGGING) { // if (componentState != ComponentState.DRAGGING) {
Composite oldComposite = g2d.getComposite(); Composite oldComposite = applyAlpha(g2d, componentState);
if (alpha < MAX_ALPHA) {
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * alpha / MAX_ALPHA));
}
g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : WAFER_COLOR); g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : WAFER_COLOR);
g2d.fill(body[0]); g2d.fill(body[0]);
@@ -111,10 +108,7 @@ public class RCAJack extends AbstractMultiPartComponent<String> {
g2d.setColor(finalBorderColor); g2d.setColor(finalBorderColor);
g2d.draw(body[0]); g2d.draw(body[0]);
oldComposite = g2d.getComposite(); oldComposite = applyAlpha(g2d, componentState);
if (alpha < MAX_ALPHA) {
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * alpha / MAX_ALPHA));
}
g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : BASE_COLOR); g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : BASE_COLOR);
drawingObserver.startTrackingContinuityArea(true); drawingObserver.startTrackingContinuityArea(true);
@@ -94,10 +94,7 @@ public class RotarySelectorSwitch extends AbstractMultiPartComponent<String> imp
g2d.setStroke(ObjectCache.getInstance().fetchBasicStroke(1)); g2d.setStroke(ObjectCache.getInstance().fetchBasicStroke(1));
// if (componentState != ComponentState.DRAGGING) { // if (componentState != ComponentState.DRAGGING) {
Composite oldComposite = g2d.getComposite(); Composite oldComposite = applyAlpha(g2d, componentState);
if (alpha < MAX_ALPHA) {
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * alpha / MAX_ALPHA));
}
g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : BODY_COLOR); g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : BODY_COLOR);
g2d.fill(body[0]); g2d.fill(body[0]);
@@ -117,10 +114,7 @@ public class RotarySelectorSwitch extends AbstractMultiPartComponent<String> imp
g2d.setColor(finalBorderColor); g2d.setColor(finalBorderColor);
g2d.draw(body[0]); g2d.draw(body[0]);
oldComposite = g2d.getComposite(); oldComposite = applyAlpha(g2d, componentState);
if (alpha < MAX_ALPHA) {
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * alpha / MAX_ALPHA));
}
g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : TERMINAL_COLOR); g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : TERMINAL_COLOR);
drawingObserver.startTrackingContinuityArea(true); drawingObserver.startTrackingContinuityArea(true);
@@ -349,10 +349,8 @@ public class RotarySwitchOpen extends AbstractAngledComponent<RotarySwitchOpenTy
: getColor().darker(); : getColor().darker();
} }
Composite oldComposite = g2d.getComposite(); Composite oldComposite = applyAlpha(g2d, componentState);
if (alpha < MAX_ALPHA) { Composite alphaComposite = g2d.getComposite();
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * alpha / MAX_ALPHA));
}
int commonPinCount = 2; int commonPinCount = 2;
int secondLevelStart = 2 * configuration.getPositionCount() + commonPinCount; int secondLevelStart = 2 * configuration.getPositionCount() + commonPinCount;
@@ -365,8 +363,10 @@ public class RotarySwitchOpen extends AbstractAngledComponent<RotarySwitchOpenTy
drawingObserver.startTracking(); drawingObserver.startTracking();
g2d.fill(body[i]); g2d.fill(body[i]);
drawingObserver.stopTracking(); drawingObserver.stopTracking();
g2d.setComposite(oldComposite);
g2d.setColor(outlineMode ? finalBorderColor : pinColor.darker()); g2d.setColor(outlineMode ? finalBorderColor : pinColor.darker());
g2d.draw(body[i]); g2d.draw(body[i]);
g2d.setComposite(alphaComposite);
} }
drawingObserver.stopTrackingContinuityArea(); drawingObserver.stopTrackingContinuityArea();
} }
@@ -380,7 +380,9 @@ public class RotarySwitchOpen extends AbstractAngledComponent<RotarySwitchOpenTy
} }
g2d.setColor(finalBorderColor); g2d.setColor(finalBorderColor);
g2d.setComposite(oldComposite);
g2d.draw(body[0]); g2d.draw(body[0]);
g2d.setComposite(alphaComposite);
// Draw pins // Draw pins
for (int i = 1; i <= secondLevelStart; i++) { for (int i = 1; i <= secondLevelStart; i++) {
@@ -389,8 +391,10 @@ public class RotarySwitchOpen extends AbstractAngledComponent<RotarySwitchOpenTy
g2d.fill(body[i]); g2d.fill(body[i]);
drawingObserver.stopTrackingContinuityArea(); drawingObserver.stopTrackingContinuityArea();
if (!outlineMode) { if (!outlineMode) {
g2d.setColor(outlineMode ? finalBorderColor : pinColor.darker()); g2d.setComposite(oldComposite);
g2d.setColor(pinColor.darker());
g2d.draw(body[i]); g2d.draw(body[i]);
g2d.setComposite(alphaComposite);
} }
} }
@@ -174,10 +174,7 @@ public class RotarySwitchSealed extends AbstractAngledComponent<RotarySwitchSeal
// Draw body // Draw body
Shape[] body = getBody(); Shape[] body = getBody();
Composite oldComposite = g2d.getComposite(); Composite oldComposite = applyAlpha(g2d, componentState);
if (alpha < MAX_ALPHA) {
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * alpha / MAX_ALPHA));
}
if (componentState != ComponentState.DRAGGING) { if (componentState != ComponentState.DRAGGING) {
g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : getColor()); g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : getColor());
g2d.fill(body[0]); g2d.fill(body[0]);
@@ -234,11 +234,7 @@ public class SlideSwitch extends AbstractTransparentComponent<SlideSwitchType> i
Constants.DEFAULT_THEME); Constants.DEFAULT_THEME);
// Draw body if available. // Draw body if available.
if (body != null) { if (body != null) {
Composite oldComposite = g2d.getComposite(); Composite oldComposite = applyAlpha(g2d, componentState);
if (alpha < MAX_ALPHA) {
g2d.setComposite(
AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * alpha / MAX_ALPHA));
}
if (getShowBracket()) { if (getShowBracket()) {
g2d.setColor(getBracketColor()); g2d.setColor(getBracketColor());
@@ -242,10 +242,7 @@ public class TactileMicroSwitch extends AbstractLabeledComponent<String> impleme
g2d.draw(rect); g2d.draw(rect);
} }
} }
Composite oldComposite = g2d.getComposite(); Composite oldComposite = applyAlpha(g2d, componentState);
if (alpha < MAX_ALPHA) {
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * alpha / MAX_ALPHA));
}
g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : getBodyColor()); g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : getBodyColor());
drawingObserver.startTracking(); drawingObserver.startTracking();
g2d.fill(mainArea); g2d.fill(mainArea);
@@ -146,10 +146,7 @@ public class Freeway3x3_03 extends AbstractTransparentComponent<Void> implements
List<Shape> labels = getLabels(); List<Shape> labels = getLabels();
Shape caseShape = getCase(); Shape caseShape = getCase();
Composite oldComposite = g2d.getComposite(); Composite oldComposite = applyAlpha(g2d, componentState);
if (alpha < MAX_ALPHA) {
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * alpha / MAX_ALPHA));
}
AffineTransform oldTx = new AffineTransform(g2d.getTransform()); AffineTransform oldTx = new AffineTransform(g2d.getTransform());
@@ -121,10 +121,7 @@ public class Freeway3x3_05 extends AbstractTransparentComponent<Void> implements
g2d.rotate(theta, x, y); g2d.rotate(theta, x, y);
} }
Composite oldComposite = g2d.getComposite(); Composite oldComposite = applyAlpha(g2d, componentState);
if (alpha < MAX_ALPHA) {
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * alpha / MAX_ALPHA));
}
double offsetX = getXOffsetsPx()[0]; double offsetX = getXOffsetsPx()[0];
double offsetY = getYOffsetsPx()[0]; double offsetY = getYOffsetsPx()[0];
@@ -98,10 +98,7 @@ public class HumbuckerPickup extends AbstractGuitarPickup {
g2d.setStroke(ObjectCache.getInstance().fetchBasicStroke(1)); g2d.setStroke(ObjectCache.getInstance().fetchBasicStroke(1));
Composite oldComposite = g2d.getComposite(); Composite oldComposite = applyAlpha(g2d, componentState);
if (alpha < MAX_ALPHA) {
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * alpha / MAX_ALPHA));
}
g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : color); g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : color);
if (getType() != HumbuckerType.Filtertron) { if (getType() != HumbuckerType.Filtertron) {
drawingObserver.startTracking(); drawingObserver.startTracking();
@@ -85,10 +85,7 @@ public class JazzBassPickup extends AbstractSingleOrHumbuckerPickup {
g2d.setStroke(ObjectCache.getInstance().fetchBasicStroke(1)); g2d.setStroke(ObjectCache.getInstance().fetchBasicStroke(1));
Composite oldComposite = g2d.getComposite(); Composite oldComposite = applyAlpha(g2d, componentState);
if (alpha < MAX_ALPHA) {
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * alpha / MAX_ALPHA));
}
g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : color); g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : color);
g2d.fill(body[0]); g2d.fill(body[0]);
g2d.fill(body[1]); g2d.fill(body[1]);
@@ -85,10 +85,7 @@ public class LPSwitch extends AbstractTransparentComponent<String> implements IS
g2d.setStroke(ObjectCache.getInstance().fetchBasicStroke(1)); g2d.setStroke(ObjectCache.getInstance().fetchBasicStroke(1));
if (componentState != ComponentState.DRAGGING) { if (componentState != ComponentState.DRAGGING) {
Composite oldComposite = g2d.getComposite(); Composite oldComposite = applyAlpha(g2d, componentState);
if (alpha < MAX_ALPHA) {
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * alpha / MAX_ALPHA));
}
g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : WAFER_COLOR); g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : WAFER_COLOR);
g2d.fill(body[1]); g2d.fill(body[1]);
g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : BASE_COLOR); g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : BASE_COLOR);
@@ -100,10 +100,7 @@ public class LeverSwitch extends AbstractAngledComponent<LeverSwitch.LeverSwitch
g2d.setStroke(ObjectCache.getInstance().fetchBasicStroke(1)); g2d.setStroke(ObjectCache.getInstance().fetchBasicStroke(1));
if (componentState != ComponentState.DRAGGING) { if (componentState != ComponentState.DRAGGING) {
Composite oldComposite = g2d.getComposite(); Composite oldComposite = applyAlpha(g2d, componentState);
if (alpha < MAX_ALPHA) {
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * alpha / MAX_ALPHA));
}
g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : BASE_COLOR); g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : BASE_COLOR);
g2d.fill(body[0]); g2d.fill(body[0]);
g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : WAFER_COLOR); g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : WAFER_COLOR);
@@ -96,10 +96,7 @@ public class P90Pickup extends AbstractSingleOrHumbuckerPickup {
g2d.setStroke(ObjectCache.getInstance().fetchBasicStroke(1)); g2d.setStroke(ObjectCache.getInstance().fetchBasicStroke(1));
Composite oldComposite = g2d.getComposite(); Composite oldComposite = applyAlpha(g2d, componentState);
if (alpha < MAX_ALPHA) {
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * alpha / MAX_ALPHA));
}
g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : color); g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : color);
g2d.fill(body[0]); g2d.fill(body[0]);
if (body[1] != null) if (body[1] != null)
@@ -82,10 +82,7 @@ public class PBassPickup extends AbstractSingleOrHumbuckerPickup {
g2d.setStroke(ObjectCache.getInstance().fetchBasicStroke(1)); g2d.setStroke(ObjectCache.getInstance().fetchBasicStroke(1));
Composite oldComposite = g2d.getComposite(); Composite oldComposite = applyAlpha(g2d, componentState);
if (alpha < MAX_ALPHA) {
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * alpha / MAX_ALPHA));
}
g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : color); g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : color);
g2d.fill(body[0]); g2d.fill(body[0]);
g2d.fill(body[1]); g2d.fill(body[1]);
@@ -156,10 +156,7 @@ public class S1Switch extends AbstractTransparentComponent<Void> implements ISwi
Theme theme = (Theme) ConfigurationManager.getInstance().readObject(IPlugInPort.THEME_KEY, Constants.DEFAULT_THEME); Theme theme = (Theme) ConfigurationManager.getInstance().readObject(IPlugInPort.THEME_KEY, Constants.DEFAULT_THEME);
// Draw body if available. // Draw body if available.
if (body != null) { if (body != null) {
Composite oldComposite = g2d.getComposite(); Composite oldComposite = applyAlpha(g2d, componentState);
if (alpha < MAX_ALPHA) {
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * alpha / MAX_ALPHA));
}
g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : BODY_COLOR); g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : BODY_COLOR);
g2d.fill(body); g2d.fill(body);
drawingObserver.stopTracking(); drawingObserver.stopTracking();
@@ -103,11 +103,7 @@ public class SchallerMegaSwitch extends AbstractAngledComponent<String> implemen
g2d.setStroke(ObjectCache.getInstance().fetchBasicStroke(1)); g2d.setStroke(ObjectCache.getInstance().fetchBasicStroke(1));
if (componentState != ComponentState.DRAGGING) { if (componentState != ComponentState.DRAGGING) {
Composite oldComposite = g2d.getComposite(); Composite oldComposite = applyAlpha(g2d, componentState);
if (alpha < MAX_ALPHA) {
g2d.setComposite(
AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * alpha / MAX_ALPHA));
}
g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : BASE_COLOR); g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : BASE_COLOR);
g2d.fill(body[0]); g2d.fill(body[0]);
drawingObserver.stopTracking(); drawingObserver.stopTracking();
@@ -109,10 +109,7 @@ public class SingleCoilPickup extends AbstractSingleOrHumbuckerPickup {
g2d.setStroke(ObjectCache.getInstance().fetchBasicStroke(1)); g2d.setStroke(ObjectCache.getInstance().fetchBasicStroke(1));
Composite oldComposite = g2d.getComposite(); Composite oldComposite = applyAlpha(g2d, componentState);
if (alpha < MAX_ALPHA) {
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * alpha / MAX_ALPHA));
}
Theme theme = Theme theme =
(Theme) ConfigurationManager.getInstance().readObject(IPlugInPort.THEME_KEY, Constants.DEFAULT_THEME); (Theme) ConfigurationManager.getInstance().readObject(IPlugInPort.THEME_KEY, Constants.DEFAULT_THEME);
@@ -82,11 +82,7 @@ import java.awt.geom.*;
Shape[] body = getBody(); Shape[] body = getBody();
g2d.setStroke(ObjectCache.getInstance().fetchBasicStroke(1)); g2d.setStroke(ObjectCache.getInstance().fetchBasicStroke(1));
Composite oldComposite = g2d.getComposite(); Composite oldComposite = applyAlpha(g2d, componentState);
if (alpha < MAX_ALPHA) {
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * alpha / MAX_ALPHA));
}
g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : color); g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : color);
g2d.fill(body[0]); g2d.fill(body[0]);
@@ -128,10 +128,7 @@ public class Image extends AbstractTransparentComponent<Void> {
.getIconHeight() * scaleY))) { .getIconHeight() * scaleY))) {
return; return;
} }
Composite oldComposite = g2d.getComposite(); Composite oldComposite = applyAlpha(g2d, componentState);
if (alpha < MAX_ALPHA) {
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * alpha / MAX_ALPHA));
}
double x; double x;
double y; double y;
@@ -242,7 +239,7 @@ public class Image extends AbstractTransparentComponent<Void> {
} }
} }
@PercentEditor(_100PercentValue = 25) @PercentEditor(minValue = 1, maxValue = 1000)
@EditableProperty(defaultable = false) @EditableProperty(defaultable = false)
public byte getScale() { public byte getScale() {
if (scale != null) { if (scale != null) {
@@ -72,11 +72,7 @@ public class Loadline extends AbstractBoard {
g2d.setStroke(ObjectCache.getInstance().fetchBasicStroke(1)); g2d.setStroke(ObjectCache.getInstance().fetchBasicStroke(1));
if (componentState != ComponentState.DRAGGING) { if (componentState != ComponentState.DRAGGING) {
Composite oldComposite = g2d.getComposite(); Composite oldComposite = applyAlpha(g2d, componentState);
if (alpha < MAX_ALPHA) {
g2d.setComposite(
AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * alpha / MAX_ALPHA));
}
g2d.setColor(boardColor); g2d.setColor(boardColor);
g2d.fillRect((int)firstPoint.getX(), (int)firstPoint.getY(), (int)(finalSecondPoint.getX() - firstPoint.getX()), g2d.fillRect((int)firstPoint.getX(), (int)firstPoint.getY(), (int)(finalSecondPoint.getX() - firstPoint.getX()),
@@ -107,10 +107,7 @@ public class SVGImage extends AbstractTransparentComponent<Void> {
svgDiagram.getWidth() * scaleX, svgDiagram.getHeight() * scaleY))) { svgDiagram.getWidth() * scaleX, svgDiagram.getHeight() * scaleY))) {
return; return;
} }
Composite oldComposite = g2d.getComposite(); Composite oldComposite = applyAlpha(g2d, componentState);
if (alpha < MAX_ALPHA) {
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * alpha / MAX_ALPHA));
}
double x; double x;
double y; double y;
@@ -229,7 +226,7 @@ public class SVGImage extends AbstractTransparentComponent<Void> {
this.svgDiagram = null; this.svgDiagram = null;
} }
@PercentEditor(_100PercentValue = 25) @PercentEditor(minValue = 0, maxValue = 1000)
@EditableProperty(defaultable = false) @EditableProperty(defaultable = false)
public byte getScale() { public byte getScale() {
if (scale != null) { if (scale != null) {
@@ -97,7 +97,7 @@ public class AudioTransformer extends AbstractMultiPartComponent<String> impleme
public AudioTransformer() { public AudioTransformer() {
super(); super();
updateControlPoints(); updateControlPoints();
alpha = 100; // alpha = 100;
} }
@EditableProperty @EditableProperty
@@ -276,10 +276,7 @@ public class AudioTransformer extends AbstractMultiPartComponent<String> impleme
g2d.drawOval((int)(point.getX() - pinSize / 2), (int)(point.getY() - pinSize / 2), pinSize, pinSize); g2d.drawOval((int)(point.getX() - pinSize / 2), (int)(point.getY() - pinSize / 2), pinSize, pinSize);
} }
} }
Composite oldComposite = g2d.getComposite(); Composite oldComposite = applyAlpha(g2d, componentState);
if (alpha < MAX_ALPHA) {
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * alpha / MAX_ALPHA));
}
// render coil // render coil
g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : getCoilColor()); g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : getCoilColor());
@@ -110,10 +110,7 @@ public class BoxTrimmer extends AbstractTransparentComponent<Resistance> {
} }
// Draw body // Draw body
Composite oldComposite = g2d.getComposite(); Composite oldComposite = applyAlpha(g2d, componentState);
if (alpha < MAX_ALPHA) {
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * alpha / MAX_ALPHA));
}
g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : bodyColor); g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : bodyColor);
g2d.fillRoundRect(bodyX, bodyY, bodyW, bodyH, bodyW / 10, bodyH / 10); g2d.fillRoundRect(bodyX, bodyY, bodyW, bodyH, bodyW / 10, bodyH / 10);
g2d.setComposite(oldComposite); g2d.setComposite(oldComposite);
@@ -351,10 +351,7 @@ public class MultiSectionCapacitor extends AbstractLabeledComponent<Capacitance[
} }
int pinSize = (int) PIN_SIZE.convertToPixels() / 2 * 2; int pinSize = (int) PIN_SIZE.convertToPixels() / 2 * 2;
Area[] area = getBody(); Area[] area = getBody();
Composite oldComposite = g2d.getComposite(); Composite oldComposite = applyAlpha(g2d, componentState);
if (alpha < MAX_ALPHA) {
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * alpha / MAX_ALPHA));
}
g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : bodyColor); g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : bodyColor);
g2d.fill(area[0]); g2d.fill(area[0]);
drawingObserver.startTracking(); drawingObserver.startTracking();
@@ -289,10 +289,7 @@ public class PotentiometerPanel extends AbstractPotentiometer implements ILayere
g2d.setColor(getBodyColor()); g2d.setColor(getBodyColor());
} }
Composite oldComposite = g2d.getComposite(); Composite oldComposite = applyAlpha(g2d, componentState);
if (alpha < MAX_ALPHA) {
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * alpha / MAX_ALPHA));
}
if (!outlineMode) { if (!outlineMode) {
if (i >= 10) if (i >= 10)
drawingObserver.startTrackingContinuityArea(true); drawingObserver.startTrackingContinuityArea(true);
@@ -376,10 +376,7 @@ public class TrimmerPotentiometer extends AbstractPotentiometer {
Theme theme = (Theme) ConfigurationManager.getInstance().readObject(IPlugInPort.THEME_KEY, Constants.DEFAULT_THEME); Theme theme = (Theme) ConfigurationManager.getInstance().readObject(IPlugInPort.THEME_KEY, Constants.DEFAULT_THEME);
if (mainShape != null) { if (mainShape != null) {
g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : bodyColor); g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : bodyColor);
Composite oldComposite = g2d.getComposite(); Composite oldComposite = applyAlpha(g2d, componentState);
if (alpha < MAX_ALPHA) {
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * alpha / MAX_ALPHA));
}
g2d.fill(mainShape); g2d.fill(mainShape);
drawingObserver.stopTracking(); drawingObserver.stopTracking();
if (!outlineMode && shaftShape != null) { if (!outlineMode && shaftShape != null) {
@@ -34,12 +34,7 @@ import java.awt.geom.RoundRectangle2D;
import org.diylc.appframework.miscutils.ConfigurationManager; import org.diylc.appframework.miscutils.ConfigurationManager;
import org.diylc.awt.StringUtils; import org.diylc.awt.StringUtils;
import org.diylc.common.Display; import org.diylc.common.*;
import org.diylc.common.HorizontalAlignment;
import org.diylc.common.IPlugInPort;
import org.diylc.common.ObjectCache;
import org.diylc.common.Orientation;
import org.diylc.common.VerticalAlignment;
import org.diylc.components.AbstractLabeledComponent; import org.diylc.components.AbstractLabeledComponent;
import org.diylc.components.RoundedPolygon; import org.diylc.components.RoundedPolygon;
import org.diylc.components.AbstractLeadedComponent.LabelOriantation; import org.diylc.components.AbstractLeadedComponent.LabelOriantation;
@@ -117,7 +112,7 @@ public class BridgeRectifier extends AbstractLabeledComponent<String> implements
public BridgeRectifier() { public BridgeRectifier() {
super(); super();
updateControlPoints(); updateControlPoints();
alpha = 100; this.alphaPercent = new Percentage(100);
} }
@EditableProperty @EditableProperty
@@ -380,10 +375,7 @@ public class BridgeRectifier extends AbstractLabeledComponent<String> implements
} }
} }
Composite oldComposite = g2d.getComposite(); Composite oldComposite = applyAlpha(g2d, componentState);
if (alpha < MAX_ALPHA) {
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * alpha / MAX_ALPHA));
}
g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : getBodyColor()); g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : getBodyColor());
g2d.fill(mainArea); g2d.fill(mainArea);
g2d.setComposite(oldComposite); g2d.setComposite(oldComposite);
@@ -322,10 +322,7 @@ public class DIL_IC extends AbstractLabeledComponent<String> implements IGerberC
g2d.draw(rect); g2d.draw(rect);
} }
} }
Composite oldComposite = g2d.getComposite(); Composite oldComposite = applyAlpha(g2d, componentState);
if (alpha < MAX_ALPHA) {
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * alpha / MAX_ALPHA));
}
g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : getBodyColor()); g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : getBodyColor());
drawingObserver.startTracking(); drawingObserver.startTracking();
g2d.fill(mainArea); g2d.fill(mainArea);
@@ -86,10 +86,7 @@ public class ICSymbol extends AbstractTransparentComponent<String> {
return; return;
} }
int pinSpacing = (int) PIN_SPACING.convertToPixels(); int pinSpacing = (int) PIN_SPACING.convertToPixels();
Composite oldComposite = g2d.getComposite(); Composite oldComposite = applyAlpha(g2d, componentState);
if (alpha < MAX_ALPHA) {
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * alpha / MAX_ALPHA));
}
Shape[] body = getBody(); Shape[] body = getBody();
@@ -82,10 +82,7 @@ public class LogicGateSymbol extends AbstractTransparentComponent<String> {
return; return;
} }
int pinSpacing = (int) PIN_SPACING.convertToPixels(); int pinSpacing = (int) PIN_SPACING.convertToPixels();
Composite oldComposite = g2d.getComposite(); Composite oldComposite = applyAlpha(g2d, componentState);
if (alpha < MAX_ALPHA) {
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * alpha / MAX_ALPHA));
}
Shape[] body = getBody(); Shape[] body = getBody();
@@ -32,10 +32,7 @@ import java.awt.geom.Point2D;
import java.awt.geom.Rectangle2D; import java.awt.geom.Rectangle2D;
import org.diylc.appframework.miscutils.ConfigurationManager; import org.diylc.appframework.miscutils.ConfigurationManager;
import org.diylc.common.Display; import org.diylc.common.*;
import org.diylc.common.IPlugInPort;
import org.diylc.common.ObjectCache;
import org.diylc.common.Orientation;
import org.diylc.components.AbstractTransparentComponent; import org.diylc.components.AbstractTransparentComponent;
import org.diylc.core.ComponentState; import org.diylc.core.ComponentState;
import org.diylc.core.IDIYComponent; import org.diylc.core.IDIYComponent;
@@ -92,7 +89,7 @@ public class MultiwattIC extends AbstractTransparentComponent<String> implements
public MultiwattIC() { public MultiwattIC() {
super(); super();
updateControlPoints(); updateControlPoints();
alpha = 100; this.alphaPercent = new Percentage(100);
} }
@EditableProperty @EditableProperty
@@ -421,10 +418,7 @@ public class MultiwattIC extends AbstractTransparentComponent<String> implements
} }
drawingObserver.startTracking(); drawingObserver.startTracking();
Composite oldComposite = g2d.getComposite(); Composite oldComposite = applyAlpha(g2d, componentState);
if (alpha < MAX_ALPHA) {
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * alpha / MAX_ALPHA));
}
g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : getBodyColor()); g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : getBodyColor());
g2d.fill(mainArea); g2d.fill(mainArea);
drawingObserver.stopTracking(); drawingObserver.stopTracking();
@@ -34,10 +34,7 @@ import java.awt.geom.Rectangle2D;
import java.awt.geom.RoundRectangle2D; import java.awt.geom.RoundRectangle2D;
import org.diylc.appframework.miscutils.ConfigurationManager; import org.diylc.appframework.miscutils.ConfigurationManager;
import org.diylc.common.Display; import org.diylc.common.*;
import org.diylc.common.IPlugInPort;
import org.diylc.common.ObjectCache;
import org.diylc.common.Orientation;
import org.diylc.components.AbstractTransparentComponent; import org.diylc.components.AbstractTransparentComponent;
import org.diylc.components.transform.SIL_ICTransformer; import org.diylc.components.transform.SIL_ICTransformer;
import org.diylc.core.ComponentState; import org.diylc.core.ComponentState;
@@ -99,7 +96,7 @@ public class SIL_IC extends AbstractTransparentComponent<String> implements IGer
public SIL_IC() { public SIL_IC() {
super(); super();
updateControlPoints(); updateControlPoints();
alpha = 100; this.alphaPercent = new Percentage(100);
} }
@EditableProperty @EditableProperty
@@ -302,10 +299,7 @@ public class SIL_IC extends AbstractTransparentComponent<String> implements IGer
} }
} }
Composite oldComposite = g2d.getComposite(); Composite oldComposite = applyAlpha(g2d, componentState);
if (alpha < MAX_ALPHA) {
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * alpha / MAX_ALPHA));
}
g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : getBodyColor()); g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : getBodyColor());
g2d.fill(mainArea); g2d.fill(mainArea);
drawingObserver.stopTracking(); drawingObserver.stopTracking();
@@ -37,6 +37,7 @@ import org.diylc.appframework.miscutils.ConfigurationManager;
import org.diylc.common.IPlugInPort; import org.diylc.common.IPlugInPort;
import org.diylc.common.ObjectCache; import org.diylc.common.ObjectCache;
import org.diylc.common.Percentage;
import org.diylc.components.transform.TO1Transformer; import org.diylc.components.transform.TO1Transformer;
import org.diylc.core.ComponentState; import org.diylc.core.ComponentState;
import org.diylc.core.IDIYComponent; import org.diylc.core.IDIYComponent;
@@ -74,7 +75,7 @@ public class TransistorTO1 extends AbstractTransistorPackage {
public TransistorTO1() { public TransistorTO1() {
super(); super();
updateControlPoints(); updateControlPoints();
alpha = (byte) 100; this.alphaPercent = new Percentage(100);
bodyColor = BODY_COLOR; bodyColor = BODY_COLOR;
borderColor = BORDER_COLOR; borderColor = BORDER_COLOR;
} }
@@ -181,10 +182,7 @@ public class TransistorTO1 extends AbstractTransistorPackage {
} }
Area mainArea = getBody()[0]; Area mainArea = getBody()[0];
Composite oldComposite = g2d.getComposite(); Composite oldComposite = applyAlpha(g2d, componentState);
if (alpha < MAX_ALPHA) {
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * alpha / MAX_ALPHA));
}
g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : bodyColor); g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : bodyColor);
drawingObserver.startTracking(); drawingObserver.startTracking();
g2d.fill(mainArea); g2d.fill(mainArea);
@@ -37,6 +37,7 @@ import org.diylc.appframework.miscutils.ConfigurationManager;
import org.diylc.common.IPlugInPort; import org.diylc.common.IPlugInPort;
import org.diylc.common.ObjectCache; import org.diylc.common.ObjectCache;
import org.diylc.common.Percentage;
import org.diylc.components.transform.TO220Transformer; import org.diylc.components.transform.TO220Transformer;
import org.diylc.core.ComponentState; import org.diylc.core.ComponentState;
import org.diylc.core.IDIYComponent; import org.diylc.core.IDIYComponent;
@@ -78,7 +79,7 @@ public class TransistorTO126 extends AbstractTransistorPackage {
public TransistorTO126() { public TransistorTO126() {
super(); super();
updateControlPoints(); updateControlPoints();
alpha = (byte) 100; this.alphaPercent = new Percentage(100);
bodyColor = BODY_COLOR; bodyColor = BODY_COLOR;
borderColor = BORDER_COLOR; borderColor = BORDER_COLOR;
} }
@@ -270,10 +271,7 @@ public class TransistorTO126 extends AbstractTransistorPackage {
Shape mainArea = getBody()[0]; Shape mainArea = getBody()[0];
Composite oldComposite = g2d.getComposite(); Composite oldComposite = applyAlpha(g2d, componentState);
if (alpha < MAX_ALPHA) {
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * alpha / MAX_ALPHA));
}
g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : bodyColor); g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : bodyColor);
drawingObserver.startTracking(); drawingObserver.startTracking();
g2d.fill(mainArea); g2d.fill(mainArea);
@@ -37,6 +37,7 @@ import org.diylc.appframework.miscutils.ConfigurationManager;
import org.diylc.common.IPlugInPort; import org.diylc.common.IPlugInPort;
import org.diylc.common.ObjectCache; import org.diylc.common.ObjectCache;
import org.diylc.common.Percentage;
import org.diylc.components.transform.TO220Transformer; import org.diylc.components.transform.TO220Transformer;
import org.diylc.core.ComponentState; import org.diylc.core.ComponentState;
import org.diylc.core.IDIYComponent; import org.diylc.core.IDIYComponent;
@@ -83,7 +84,7 @@ public class TransistorTO220 extends AbstractTransistorPackage {
public TransistorTO220() { public TransistorTO220() {
super(); super();
updateControlPoints(); updateControlPoints();
alpha = (byte) 100; this.alphaPercent = new Percentage(100);
bodyColor = BODY_COLOR; bodyColor = BODY_COLOR;
borderColor = BORDER_COLOR; borderColor = BORDER_COLOR;
} }
@@ -298,10 +299,7 @@ public class TransistorTO220 extends AbstractTransistorPackage {
Shape mainArea = getBody()[0]; Shape mainArea = getBody()[0];
Shape tabArea = getBody()[1]; Shape tabArea = getBody()[1];
Composite oldComposite = g2d.getComposite(); Composite oldComposite = applyAlpha(g2d, componentState);
if (alpha < MAX_ALPHA) {
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * alpha / MAX_ALPHA));
}
g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : bodyColor); g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : bodyColor);
drawingObserver.startTracking(); drawingObserver.startTracking();
g2d.fill(mainArea); g2d.fill(mainArea);
@@ -37,10 +37,7 @@ import java.awt.geom.Rectangle2D;
import org.diylc.appframework.miscutils.ConfigurationManager; import org.diylc.appframework.miscutils.ConfigurationManager;
import org.diylc.awt.TwoCircleTangent; import org.diylc.awt.TwoCircleTangent;
import org.diylc.common.Display; import org.diylc.common.*;
import org.diylc.common.IPlugInPort;
import org.diylc.common.ObjectCache;
import org.diylc.common.Orientation;
import org.diylc.components.AbstractLabeledComponent; import org.diylc.components.AbstractLabeledComponent;
import org.diylc.core.ComponentState; import org.diylc.core.ComponentState;
import org.diylc.core.IDIYComponent; import org.diylc.core.IDIYComponent;
@@ -89,7 +86,7 @@ public class TransistorTO3 extends AbstractLabeledComponent<String> {
public TransistorTO3() { public TransistorTO3() {
super(); super();
updateControlPoints(); updateControlPoints();
alpha = (byte) 100; this.alphaPercent = new Percentage(100);
} }
@EditableProperty @EditableProperty
@@ -247,10 +244,7 @@ public class TransistorTO3 extends AbstractLabeledComponent<String> {
Area mainArea = getBody()[0]; Area mainArea = getBody()[0];
Area innerArea = getBody()[1]; Area innerArea = getBody()[1];
Composite oldComposite = g2d.getComposite(); Composite oldComposite = applyAlpha(g2d, componentState);
if (alpha < MAX_ALPHA) {
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * alpha / MAX_ALPHA));
}
g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : bodyColor); g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : bodyColor);
drawingObserver.startTracking(); drawingObserver.startTracking();
g2d.fill(mainArea); g2d.fill(mainArea);
@@ -37,6 +37,7 @@ import org.diylc.appframework.miscutils.ConfigurationManager;
import org.diylc.common.IPlugInPort; import org.diylc.common.IPlugInPort;
import org.diylc.common.ObjectCache; import org.diylc.common.ObjectCache;
import org.diylc.common.Percentage;
import org.diylc.components.transform.TO92Transformer; import org.diylc.components.transform.TO92Transformer;
import org.diylc.core.ComponentState; import org.diylc.core.ComponentState;
import org.diylc.core.IDIYComponent; import org.diylc.core.IDIYComponent;
@@ -72,7 +73,7 @@ public class TransistorTO92 extends AbstractTransistorPackage {
public TransistorTO92() { public TransistorTO92() {
super(); super();
updateControlPoints(); updateControlPoints();
alpha = (byte) 100; this.alphaPercent = new Percentage(100);
bodyColor = BODY_COLOR; bodyColor = BODY_COLOR;
borderColor = BORDER_COLOR; borderColor = BORDER_COLOR;
} }
@@ -202,10 +203,7 @@ public class TransistorTO92 extends AbstractTransistorPackage {
} }
Area mainArea = getBody()[0]; Area mainArea = getBody()[0];
Composite oldComposite = g2d.getComposite(); Composite oldComposite = applyAlpha(g2d, componentState);
if (alpha < MAX_ALPHA) {
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * alpha / MAX_ALPHA));
}
g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : bodyColor); g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : bodyColor);
drawingObserver.startTracking(); drawingObserver.startTracking();
g2d.fill(mainArea); g2d.fill(mainArea);
@@ -26,6 +26,7 @@ import java.awt.Composite;
import java.awt.Graphics2D; import java.awt.Graphics2D;
import org.diylc.common.ObjectCache; import org.diylc.common.ObjectCache;
import org.diylc.common.Percentage;
import org.diylc.components.transform.SimpleComponentTransformer; import org.diylc.components.transform.SimpleComponentTransformer;
import org.diylc.core.ComponentState; import org.diylc.core.ComponentState;
import org.diylc.core.IDIYComponent; import org.diylc.core.IDIYComponent;
@@ -46,13 +47,7 @@ public class Ellipse extends AbstractShapeWithDimensions {
IDrawingObserver drawingObserver) { IDrawingObserver drawingObserver) {
g2d.setStroke(ObjectCache.getInstance().fetchBasicStroke((int) borderThickness.convertToPixels())); g2d.setStroke(ObjectCache.getInstance().fetchBasicStroke((int) borderThickness.convertToPixels()));
float alpha = this.alpha; Composite oldComposite = applyAlpha(g2d, componentState);
if (componentState == ComponentState.DRAGGING)
alpha = 0;
Composite oldComposite = g2d.getComposite();
if (alpha < MAX_ALPHA) {
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * alpha / MAX_ALPHA));
}
g2d.setColor(color); g2d.setColor(color);
g2d.fillOval((int)firstPoint.getX(), (int)firstPoint.getY(), (int)(secondPoint.getX() - firstPoint.getX()), (int)(secondPoint.getY() - firstPoint.getY())); g2d.fillOval((int)firstPoint.getX(), (int)firstPoint.getY(), (int)(secondPoint.getX() - firstPoint.getX()), (int)(secondPoint.getY() - firstPoint.getY()));
g2d.setComposite(oldComposite); g2d.setComposite(oldComposite);
@@ -69,10 +69,7 @@ public class Polygon extends AbstractShape {
yPoints[i] = (int)controlPoints[i].getY(); yPoints[i] = (int)controlPoints[i].getY();
} }
Composite oldComposite = g2d.getComposite(); Composite oldComposite = applyAlpha(g2d, componentState);
if (this.alpha < MAX_ALPHA) {
g2d.setComposite(AlphaComposite.getInstance(3, 1.0F * this.alpha / MAX_ALPHA));
}
g2d.fillPolygon(xPoints, yPoints, controlPoints.length); g2d.fillPolygon(xPoints, yPoints, controlPoints.length);
g2d.setComposite(oldComposite); g2d.setComposite(oldComposite);
@@ -53,14 +53,7 @@ public class Rectangle extends AbstractShapeWithDimensions {
g2d.setStroke(ObjectCache.getInstance().fetchBasicStroke((int) borderThickness.convertToPixels())); g2d.setStroke(ObjectCache.getInstance().fetchBasicStroke((int) borderThickness.convertToPixels()));
int radius = (int) edgeRadius.convertToPixels(); int radius = (int) edgeRadius.convertToPixels();
float alpha = this.alpha; Composite oldComposite = applyAlpha(g2d, componentState);
if (componentState == ComponentState.DRAGGING)
alpha = 0;
Composite oldComposite = g2d.getComposite();
if (alpha < MAX_ALPHA) {
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * alpha / MAX_ALPHA));
}
g2d.setColor(color); g2d.setColor(color);
g2d.fillRoundRect((int)firstPoint.getX(), (int)firstPoint.getY(), (int)(secondPoint.getX() - firstPoint.getX()), (int)(secondPoint.getY() - firstPoint.getY()), radius, g2d.fillRoundRect((int)firstPoint.getX(), (int)firstPoint.getY(), (int)(secondPoint.getX() - firstPoint.getX()), (int)(secondPoint.getY() - firstPoint.getY()), radius,
radius); radius);
@@ -38,6 +38,7 @@ import java.text.DecimalFormat;
import org.diylc.common.Display; import org.diylc.common.Display;
import org.diylc.common.LineStyle; import org.diylc.common.LineStyle;
import org.diylc.common.ObjectCache; import org.diylc.common.ObjectCache;
import org.diylc.common.Percentage;
import org.diylc.components.AbstractLeadedComponent; import org.diylc.components.AbstractLeadedComponent;
import org.diylc.components.transform.SimpleComponentTransformer; import org.diylc.components.transform.SimpleComponentTransformer;
import org.diylc.core.ComponentState; import org.diylc.core.ComponentState;
@@ -276,7 +277,7 @@ public class TapeMeasure extends AbstractLeadedComponent<String> {
} }
@Override @Override
public Byte getAlpha() { public Percentage getAlpha() {
return super.getAlpha(); return super.getAlpha();
} }
@@ -240,10 +240,7 @@ public abstract class PassiveSMDComponent<T> extends AbstractLabeledComponent<T>
// draw main area // draw main area
Area mainArea = getBody()[0]; Area mainArea = getBody()[0];
Composite oldComposite = g2d.getComposite(); Composite oldComposite = applyAlpha(g2d, componentState);
if (alpha < MAX_ALPHA) {
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * alpha / MAX_ALPHA));
}
g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : getBodyColor()); g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : getBodyColor());
g2d.fill(mainArea); g2d.fill(mainArea);
g2d.setComposite(oldComposite); g2d.setComposite(oldComposite);
@@ -269,9 +266,7 @@ public abstract class PassiveSMDComponent<T> extends AbstractLabeledComponent<T>
Area contactArea = getBody()[1]; Area contactArea = getBody()[1];
if (!outlineMode) { if (!outlineMode) {
g2d.setColor(PIN_COLOR); g2d.setColor(PIN_COLOR);
if (alpha < MAX_ALPHA) { applyAlpha(g2d, componentState);
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * alpha / MAX_ALPHA));
}
g2d.fill(contactArea); g2d.fill(contactArea);
g2d.setComposite(oldComposite); g2d.setComposite(oldComposite);
} }
@@ -266,8 +266,8 @@ package org.diylc.components.smd;
// // draw main area // // draw main area
// Area mainArea = getBody()[0]; // Area mainArea = getBody()[0];
// Composite oldComposite = g2d.getComposite(); // Composite oldComposite = g2d.getComposite();
// if (alpha < MAX_ALPHA) { // if (getAlpha().getValue() < MAX_ALPHA) {
// g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * alpha / MAX_ALPHA)); // g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, getAlpha().getValue() / 100f));
// } // }
// g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : getBodyColor()); // g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : getBodyColor());
// g2d.fill(mainArea); // g2d.fill(mainArea);
@@ -294,8 +294,8 @@ package org.diylc.components.smd;
// Area contactArea = getBody()[1]; // Area contactArea = getBody()[1];
// if (!outlineMode) { // if (!outlineMode) {
// g2d.setColor(PIN_COLOR); // g2d.setColor(PIN_COLOR);
// if (alpha < MAX_ALPHA) { // if (getAlpha().getValue() < MAX_ALPHA) {
// g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * alpha / MAX_ALPHA)); // g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, getAlpha().getValue() / 100f));
// } // }
// g2d.fill(contactArea); // g2d.fill(contactArea);
// g2d.setComposite(oldComposite); // g2d.setComposite(oldComposite);
@@ -206,10 +206,7 @@ public class Jumbo4PinTubeSocket extends AbstractAngledComponent<String> {
Shape baseShape = body[0]; Shape baseShape = body[0];
Composite oldComposite = g2d.getComposite(); Composite oldComposite = applyAlpha(g2d, componentState);
if (alpha < MAX_ALPHA) {
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * alpha / MAX_ALPHA));
}
if (componentState != ComponentState.DRAGGING) { if (componentState != ComponentState.DRAGGING) {
g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : getColor()); g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : getColor());
g2d.fill(baseShape); g2d.fill(baseShape);
@@ -306,10 +306,7 @@ public class SubminiTube extends AbstractLabeledComponent<String> {
} }
int pinSize = (int) LEAD_THICKNESS.convertToPixels() / 2 * 2; int pinSize = (int) LEAD_THICKNESS.convertToPixels() / 2 * 2;
Shape mainArea = getBody()[0]; Shape mainArea = getBody()[0];
Composite oldComposite = g2d.getComposite(); Composite oldComposite = applyAlpha(g2d, componentState);
if (alpha < MAX_ALPHA) {
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * alpha / MAX_ALPHA));
}
g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : bodyColor); g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : bodyColor);
g2d.fill(mainArea); g2d.fill(mainArea);
@@ -241,10 +241,7 @@ public class TubeSocket extends AbstractAngledComponent<String> implements IGerb
// Draw body // Draw body
Shape[] body = getBody(); Shape[] body = getBody();
Composite oldComposite = g2d.getComposite(); Composite oldComposite = applyAlpha(g2d, componentState);
if (alpha < MAX_ALPHA) {
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * alpha / MAX_ALPHA));
}
if (componentState != ComponentState.DRAGGING) { if (componentState != ComponentState.DRAGGING) {
g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : getColor()); g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : getColor());
g2d.fill(body[0]); g2d.fill(body[0]);
@@ -31,15 +31,11 @@ import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Random; import java.util.Random;
import org.apache.log4j.Logger; import org.apache.log4j.Logger;
import org.diylc.common.*;
import org.w3c.dom.Element; import org.w3c.dom.Element;
import org.w3c.dom.Node; import org.w3c.dom.Node;
import org.w3c.dom.NodeList; import org.w3c.dom.NodeList;
import org.diylc.common.Display;
import org.diylc.common.HorizontalAlignment;
import org.diylc.common.Orientation;
import org.diylc.common.OrientationHV;
import org.diylc.common.VerticalAlignment;
import org.diylc.components.AbstractLeadedComponent; import org.diylc.components.AbstractLeadedComponent;
import org.diylc.components.AbstractTransparentComponent; import org.diylc.components.AbstractTransparentComponent;
import org.diylc.components.boards.AbstractBoard; import org.diylc.components.boards.AbstractBoard;
@@ -673,7 +669,7 @@ public class V1FileParser implements IOldFileParser {
((AbstractLeadedComponent<?>) component).setDisplay(Display.NAME); ((AbstractLeadedComponent<?>) component).setDisplay(Display.NAME);
} }
if (component instanceof AbstractTransparentComponent<?>) { if (component instanceof AbstractTransparentComponent<?>) {
((AbstractTransparentComponent<?>) component).setAlpha((byte) 100); ((AbstractTransparentComponent<?>) component).setAlpha(new Percentage(100));
} }
project.getComponents().add(component); project.getComponents().add(component);
} }
@@ -27,6 +27,7 @@ import java.util.ArrayList;
import java.util.List; import java.util.List;
import org.apache.log4j.Logger; import org.apache.log4j.Logger;
import org.diylc.appframework.miscutils.ConfigurationManager; import org.diylc.appframework.miscutils.ConfigurationManager;
import org.diylc.common.Percentage;
import org.nfunk.jep.JEP; import org.nfunk.jep.JEP;
import org.w3c.dom.Element; import org.w3c.dom.Element;
import org.w3c.dom.Node; import org.w3c.dom.Node;
@@ -83,10 +84,8 @@ import org.diylc.core.measures.ResistanceUnit;
import org.diylc.core.measures.Size; import org.diylc.core.measures.Size;
import org.diylc.core.measures.SizeUnit; import org.diylc.core.measures.SizeUnit;
import org.diylc.presenter.Presenter; import org.diylc.presenter.Presenter;
import org.diylc.serialization.IOldFileParser;
import org.diylc.utils.Constants; import org.diylc.utils.Constants;
public class V2FileParser implements IOldFileParser { public class V2FileParser implements IOldFileParser {
private static final Logger LOG = Logger.getLogger(V2FileParser.class); private static final Logger LOG = Logger.getLogger(V2FileParser.class);
@@ -142,9 +141,9 @@ public class V2FileParser implements IOldFileParser {
if (node.getNodeType() == Node.ELEMENT_NODE) { if (node.getNodeType() == Node.ELEMENT_NODE) {
if (node.getNodeName().equalsIgnoreCase("component")) { if (node.getNodeName().equalsIgnoreCase("component")) {
LOG.debug(node.getAttributes().getNamedItem("name").getNodeValue()); LOG.debug(node.getAttributes().getNamedItem("name").getNodeValue());
NodeList unuci = node.getChildNodes(); NodeList grandchildNodes = node.getChildNodes();
Node properties = unuci.item(1); Node properties = grandchildNodes.item(1);
Node points = unuci.item(3); Node points = grandchildNodes.item(3);
NodeList propertyList = properties.getChildNodes(); NodeList propertyList = properties.getChildNodes();
NodeList pointList = points.getChildNodes(); NodeList pointList = points.getChildNodes();
@@ -174,7 +173,6 @@ public class V2FileParser implements IOldFileParser {
// // gives Name Part# Thickness Color Group // // gives Name Part# Thickness Color Group
if (propertyList.item(j).getAttributes().getNamedItem("name").getNodeValue().equalsIgnoreCase("color")) { if (propertyList.item(j).getAttributes().getNamedItem("name").getNodeValue().equalsIgnoreCase("color")) {
String color = propertyList.item(j).getAttributes().getNamedItem("value").getNodeValue(); String color = propertyList.item(j).getAttributes().getNamedItem("value").getNodeValue();
System.out.println(color);
String hex_r = color.substring(0, 2); String hex_r = color.substring(0, 2);
int value_r = Integer.parseInt(hex_r, 16); int value_r = Integer.parseInt(hex_r, 16);
String hex_g = color.substring(2, 4); String hex_g = color.substring(2, 4);
@@ -234,7 +232,7 @@ public class V2FileParser implements IOldFileParser {
} else if (propertyList.item(j).getAttributes().getNamedItem("name").getNodeValue() } else if (propertyList.item(j).getAttributes().getNamedItem("name").getNodeValue()
.equalsIgnoreCase("Value")) { .equalsIgnoreCase("Value")) {
String pr8 = propertyList.item(j).getAttributes().getNamedItem("value").getNodeValue(); String pr8 = propertyList.item(j).getAttributes().getNamedItem("value").getNodeValue();
if (pr8 != "") { if (!pr8.isEmpty()) {
value_s = pr8; value_s = pr8;
String pr9 = pr8.replaceAll("[^0-9.]", ""); String pr9 = pr8.replaceAll("[^0-9.]", "");
String pr10 = pr8.replaceAll("[^a-zA-Z]", ""); String pr10 = pr8.replaceAll("[^a-zA-Z]", "");
@@ -287,7 +285,7 @@ public class V2FileParser implements IOldFileParser {
if (cl != null) { if (cl != null) {
board.setBoardColor(cl); board.setBoardColor(cl);
} }
if (com_name != "") { if (!com_name.isEmpty()) {
board.setName(com_name); board.setName(com_name);
} else { } else {
board.setName("Main board"); board.setName("Main board");
@@ -298,7 +296,7 @@ public class V2FileParser implements IOldFileParser {
} else if (node.getAttributes().getNamedItem("name").getNodeValue().equalsIgnoreCase("Perfboard")) { } else if (node.getAttributes().getNamedItem("name").getNodeValue().equalsIgnoreCase("Perfboard")) {
PerfBoard board = new PerfBoard(); PerfBoard board = new PerfBoard();
board.setBoardColor(Color.white); board.setBoardColor(Color.white);
if (com_name != "") { if (!com_name.isEmpty()) {
board.setName(com_name); board.setName(com_name);
} else { } else {
board.setName("Main board"); board.setName("Main board");
@@ -309,7 +307,7 @@ public class V2FileParser implements IOldFileParser {
project.getComponents().add(board); project.getComponents().add(board);
} else if (node.getAttributes().getNamedItem("name").getNodeValue().equalsIgnoreCase("Copper Trace")) { } else if (node.getAttributes().getNamedItem("name").getNodeValue().equalsIgnoreCase("Copper Trace")) {
CopperTrace trace = new CopperTrace(); CopperTrace trace = new CopperTrace();
if (com_name != "") { if (!com_name.isEmpty()) {
trace.setName(com_name); trace.setName(com_name);
} else { } else {
trace.setName("t"); trace.setName("t");
@@ -324,7 +322,7 @@ public class V2FileParser implements IOldFileParser {
} else if (node.getAttributes().getNamedItem("name").getNodeValue().equalsIgnoreCase("Copper Trace Curved")) { } else if (node.getAttributes().getNamedItem("name").getNodeValue().equalsIgnoreCase("Copper Trace Curved")) {
CurvedTrace trace = new CurvedTrace(); CurvedTrace trace = new CurvedTrace();
if (com_name != "") { if (!com_name.isEmpty()) {
trace.setName(com_name); trace.setName(com_name);
} else { } else {
trace.setName("t"); trace.setName("t");
@@ -340,7 +338,7 @@ public class V2FileParser implements IOldFileParser {
project.getComponents().add(trace); project.getComponents().add(trace);
} else if (node.getAttributes().getNamedItem("name").getNodeValue().equalsIgnoreCase("Eyelet")) { } else if (node.getAttributes().getNamedItem("name").getNodeValue().equalsIgnoreCase("Eyelet")) {
Eyelet eyelet = new Eyelet(); Eyelet eyelet = new Eyelet();
if (com_name != "") { if (!com_name.isEmpty()) {
eyelet.setName(com_name); eyelet.setName(com_name);
} else { } else {
eyelet.setName("eyelet"); eyelet.setName("eyelet");
@@ -350,7 +348,7 @@ public class V2FileParser implements IOldFileParser {
project.getComponents().add(eyelet); project.getComponents().add(eyelet);
} else if (node.getAttributes().getNamedItem("name").getNodeValue().equalsIgnoreCase("Solder pad")) { } else if (node.getAttributes().getNamedItem("name").getNodeValue().equalsIgnoreCase("Solder pad")) {
SolderPad pad = new SolderPad(); SolderPad pad = new SolderPad();
if (com_name != "") { if (!com_name.isEmpty()) {
pad.setName(com_name); pad.setName(com_name);
} else } else
pad.setName("pad"); pad.setName("pad");
@@ -363,7 +361,7 @@ public class V2FileParser implements IOldFileParser {
project.getComponents().add(pad); project.getComponents().add(pad);
} else if (node.getAttributes().getNamedItem("name").getNodeValue().equalsIgnoreCase("Stripboard")) { } else if (node.getAttributes().getNamedItem("name").getNodeValue().equalsIgnoreCase("Stripboard")) {
VeroBoard board = new VeroBoard(); VeroBoard board = new VeroBoard();
if (com_name != "") { if (!com_name.isEmpty()) {
board.setName(com_name); board.setName(com_name);
} else { } else {
board.setName("Main board"); board.setName("Main board");
@@ -374,7 +372,7 @@ public class V2FileParser implements IOldFileParser {
project.getComponents().add(board); project.getComponents().add(board);
} else if (node.getAttributes().getNamedItem("name").getNodeValue().equalsIgnoreCase("Trace Cut")) { } else if (node.getAttributes().getNamedItem("name").getNodeValue().equalsIgnoreCase("Trace Cut")) {
TraceCut cut = new TraceCut(); TraceCut cut = new TraceCut();
if (com_name != "") { if (!com_name.isEmpty()) {
cut.setName(com_name); cut.setName(com_name);
} else } else
cut.setName("cut"); cut.setName("cut");
@@ -383,7 +381,7 @@ public class V2FileParser implements IOldFileParser {
} else if (node.getAttributes().getNamedItem("name").getNodeValue().equalsIgnoreCase("Switch")) { } else if (node.getAttributes().getNamedItem("name").getNodeValue().equalsIgnoreCase("Switch")) {
MiniToggleSwitch sw = new MiniToggleSwitch(); MiniToggleSwitch sw = new MiniToggleSwitch();
sw.setValue(ToggleSwitchType.DPDT); sw.setValue(ToggleSwitchType.DPDT);
if (com_name != "") { if (!com_name.isEmpty()) {
sw.setName(com_name); sw.setName(com_name);
} else } else
sw.setName("sw"); sw.setName("sw");
@@ -416,7 +414,7 @@ public class V2FileParser implements IOldFileParser {
project.getComponents().add(sw); project.getComponents().add(sw);
} else if (node.getAttributes().getNamedItem("name").getNodeValue().equalsIgnoreCase("Wire")) { } else if (node.getAttributes().getNamedItem("name").getNodeValue().equalsIgnoreCase("Wire")) {
HookupWire hw = new HookupWire(); HookupWire hw = new HookupWire();
if (com_name != "") { if (!com_name.isEmpty()) {
hw.setName(com_name); hw.setName(com_name);
} else } else
hw.setName("hookup_wire"); hw.setName("hookup_wire");
@@ -472,11 +470,11 @@ public class V2FileParser implements IOldFileParser {
project.getComponents().add(hw); project.getComponents().add(hw);
} else if (node.getAttributes().getNamedItem("name").getNodeValue().equalsIgnoreCase("Electrolytic (Axial)")) { } else if (node.getAttributes().getNamedItem("name").getNodeValue().equalsIgnoreCase("Electrolytic (Axial)")) {
AxialElectrolyticCapacitor capacitor = new AxialElectrolyticCapacitor(); AxialElectrolyticCapacitor capacitor = new AxialElectrolyticCapacitor();
if (com_name != "") { if (!com_name.isEmpty()) {
capacitor.setName(com_name); capacitor.setName(com_name);
} else } else
capacitor.setName("A_E_C"); capacitor.setName("A_E_C");
capacitor.setAlpha((byte) transparency); capacitor.setAlpha(new Percentage(transparency));
if (value != -9999) { if (value != -9999) {
capacitor.setValue(new Capacitance(value, cp)); capacitor.setValue(new Capacitance(value, cp));
} }
@@ -492,10 +490,10 @@ public class V2FileParser implements IOldFileParser {
project.getComponents().add(capacitor); project.getComponents().add(capacitor);
} else if (node.getAttributes().getNamedItem("name").getNodeValue().equalsIgnoreCase("Capacitor (Axial)")) { } else if (node.getAttributes().getNamedItem("name").getNodeValue().equalsIgnoreCase("Capacitor (Axial)")) {
AxialFilmCapacitor capacitor = new AxialFilmCapacitor(); AxialFilmCapacitor capacitor = new AxialFilmCapacitor();
if (com_name != "") { if (!com_name.isEmpty()) {
capacitor.setName(com_name); capacitor.setName(com_name);
} }
capacitor.setAlpha((byte) transparency); capacitor.setAlpha(new Percentage(transparency));
if (value != -9999) { if (value != -9999) {
capacitor.setValue(new Capacitance(value, cp)); capacitor.setValue(new Capacitance(value, cp));
} else } else
@@ -512,11 +510,11 @@ public class V2FileParser implements IOldFileParser {
project.getComponents().add(capacitor); project.getComponents().add(capacitor);
} else if (node.getAttributes().getNamedItem("name").getNodeValue().equalsIgnoreCase("Capacitor (Ceramic)")) { } else if (node.getAttributes().getNamedItem("name").getNodeValue().equalsIgnoreCase("Capacitor (Ceramic)")) {
RadialCeramicDiskCapacitor capacitor = new RadialCeramicDiskCapacitor(); RadialCeramicDiskCapacitor capacitor = new RadialCeramicDiskCapacitor();
if (com_name != "") { if (!com_name.isEmpty()) {
capacitor.setName(com_name); capacitor.setName(com_name);
} else } else
capacitor.setName("Radial_Ceramic_Capacitor"); capacitor.setName("Radial_Ceramic_Capacitor");
capacitor.setAlpha((byte) transparency); capacitor.setAlpha(new Percentage(transparency));
if (value != -9999) { if (value != -9999) {
capacitor.setValue(new Capacitance(value, cp)); capacitor.setValue(new Capacitance(value, cp));
} }
@@ -532,11 +530,11 @@ public class V2FileParser implements IOldFileParser {
project.getComponents().add(capacitor); project.getComponents().add(capacitor);
} else if (node.getAttributes().getNamedItem("name").getNodeValue().equalsIgnoreCase("Capacitor (Radial)")) { } else if (node.getAttributes().getNamedItem("name").getNodeValue().equalsIgnoreCase("Capacitor (Radial)")) {
RadialFilmCapacitor capacitor = new RadialFilmCapacitor(); RadialFilmCapacitor capacitor = new RadialFilmCapacitor();
if (com_name != "") { if (!com_name.isEmpty()) {
capacitor.setName(com_name); capacitor.setName(com_name);
} else } else
capacitor.setName("Radial_Film_Capacitor"); capacitor.setName("Radial_Film_Capacitor");
capacitor.setAlpha((byte) transparency); capacitor.setAlpha(new Percentage(transparency));
if (value != -9999) { if (value != -9999) {
capacitor.setValue(new Capacitance(value, cp)); capacitor.setValue(new Capacitance(value, cp));
} }
@@ -552,28 +550,28 @@ public class V2FileParser implements IOldFileParser {
project.getComponents().add(capacitor); project.getComponents().add(capacitor);
} else if (node.getAttributes().getNamedItem("name").getNodeValue().equalsIgnoreCase("Electrolytic (Radial)")) { } else if (node.getAttributes().getNamedItem("name").getNodeValue().equalsIgnoreCase("Electrolytic (Radial)")) {
RadialElectrolytic capacitor = new RadialElectrolytic(); RadialElectrolytic capacitor = new RadialElectrolytic();
if (com_name != "") { if (!com_name.isEmpty()) {
capacitor.setName(com_name); capacitor.setName(com_name);
} else } else
capacitor.setName("Radial_Electrolytic_Capacitor"); capacitor.setName("Radial_Electrolytic_Capacitor");
if (value != -9999) { if (value != -9999) {
capacitor.setValue(new Capacitance(value, cp)); capacitor.setValue(new Capacitance(value, cp));
} }
capacitor.setAlpha((byte) transparency); capacitor.setAlpha(new Percentage(transparency));
capacitor.setLength(diameterPro); capacitor.setLength(diameterPro);
capacitor.setControlPoint(tacke.get(0), 0); capacitor.setControlPoint(tacke.get(0), 0);
capacitor.setControlPoint(tacke.get(1), 1); capacitor.setControlPoint(tacke.get(1), 1);
project.getComponents().add(capacitor); project.getComponents().add(capacitor);
} else if (node.getAttributes().getNamedItem("name").getNodeValue().equalsIgnoreCase("Potentiometer Lug")) { } else if (node.getAttributes().getNamedItem("name").getNodeValue().equalsIgnoreCase("Potentiometer Lug")) {
PotentiometerPanel panel = new PotentiometerPanel(); PotentiometerPanel panel = new PotentiometerPanel();
if (com_name != "") { if (!com_name.isEmpty()) {
panel.setName(com_name); panel.setName(com_name);
} else } else
panel.setName("potentiometer_panel"); panel.setName("potentiometer_panel");
if (value != -9999) { if (value != -9999) {
panel.setValue(new Resistance(value, ru)); panel.setValue(new Resistance(value, ru));
} }
panel.setAlpha((byte) transparency); panel.setAlpha(new Percentage(transparency));
if (angle > 45 && angle <= 135) if (angle > 45 && angle <= 135)
panel.setOrientation(Orientation._90); panel.setOrientation(Orientation._90);
else if (angle > 135 && angle <= 225) else if (angle > 135 && angle <= 225)
@@ -592,14 +590,14 @@ public class V2FileParser implements IOldFileParser {
} else if (node.getAttributes().getNamedItem("name").getNodeValue().equalsIgnoreCase("Resistor") } else if (node.getAttributes().getNamedItem("name").getNodeValue().equalsIgnoreCase("Resistor")
|| node.getAttributes().getNamedItem("name").getNodeValue().equalsIgnoreCase("Resistor Standing")) { || node.getAttributes().getNamedItem("name").getNodeValue().equalsIgnoreCase("Resistor Standing")) {
Resistor resistor = new Resistor(); Resistor resistor = new Resistor();
if (com_name != "") { if (!com_name.isEmpty()) {
resistor.setName(com_name); resistor.setName(com_name);
} else } else
resistor.setName("resistor"); resistor.setName("resistor");
if (value != -9999) { if (value != -9999) {
resistor.setValue(new Resistance(value, ru)); resistor.setValue(new Resistance(value, ru));
} }
resistor.setAlpha((byte) transparency); resistor.setAlpha(new Percentage(transparency));
resistor.setWidth(diameterPro); resistor.setWidth(diameterPro);
if (lengthPro.getValue() != 0) { if (lengthPro.getValue() != 0) {
resistor.setLength(lengthPro); resistor.setLength(lengthPro);
@@ -609,7 +607,7 @@ public class V2FileParser implements IOldFileParser {
project.getComponents().add(resistor); project.getComponents().add(resistor);
} else if (node.getAttributes().getNamedItem("name").getNodeValue().equalsIgnoreCase("Capacitor Symbol")) { } else if (node.getAttributes().getNamedItem("name").getNodeValue().equalsIgnoreCase("Capacitor Symbol")) {
CapacitorSymbol cap = new CapacitorSymbol(); CapacitorSymbol cap = new CapacitorSymbol();
if (com_name != "") { if (!com_name.isEmpty()) {
cap.setName(com_name); cap.setName(com_name);
} else } else
cap.setName("cap_simbol"); cap.setName("cap_simbol");
@@ -625,7 +623,7 @@ public class V2FileParser implements IOldFileParser {
project.getComponents().add(cap); project.getComponents().add(cap);
} else if (node.getAttributes().getNamedItem("name").getNodeValue().equalsIgnoreCase("Diode Symbol")) { } else if (node.getAttributes().getNamedItem("name").getNodeValue().equalsIgnoreCase("Diode Symbol")) {
DiodeSymbol dio = new DiodeSymbol(); DiodeSymbol dio = new DiodeSymbol();
if (com_name != "") { if (!com_name.isEmpty()) {
dio.setName(com_name); dio.setName(com_name);
} else } else
dio.setName("dp"); dio.setName("dp");
@@ -639,7 +637,7 @@ public class V2FileParser implements IOldFileParser {
project.getComponents().add(dio); project.getComponents().add(dio);
} else if (node.getAttributes().getNamedItem("name").getNodeValue().equalsIgnoreCase("Ground Symbol")) { } else if (node.getAttributes().getNamedItem("name").getNodeValue().equalsIgnoreCase("Ground Symbol")) {
GroundSymbol gs = new GroundSymbol(); GroundSymbol gs = new GroundSymbol();
if (com_name != "") { if (!com_name.isEmpty()) {
gs.setName(com_name); gs.setName(com_name);
} else } else
gs.setName("gs"); gs.setName("gs");
@@ -648,11 +646,11 @@ public class V2FileParser implements IOldFileParser {
project.getComponents().add(gs); project.getComponents().add(gs);
} else if (node.getAttributes().getNamedItem("name").getNodeValue().equalsIgnoreCase("LED Symbol")) { } else if (node.getAttributes().getNamedItem("name").getNodeValue().equalsIgnoreCase("LED Symbol")) {
LEDSymbol ls = new LEDSymbol(); LEDSymbol ls = new LEDSymbol();
if (com_name != "") { if (!com_name.isEmpty()) {
ls.setName(com_name); ls.setName(com_name);
} else } else
ls.setName("ls"); ls.setName("ls");
if (value_s != "") { if (!value_s.isEmpty()) {
ls.setValue(value_s); ls.setValue(value_s);
} }
ls.setBodyColor(cl); ls.setBodyColor(cl);
@@ -662,12 +660,12 @@ public class V2FileParser implements IOldFileParser {
project.getComponents().add(ls); project.getComponents().add(ls);
} else if (node.getAttributes().getNamedItem("name").getNodeValue().equalsIgnoreCase("Pentode")) { } else if (node.getAttributes().getNamedItem("name").getNodeValue().equalsIgnoreCase("Pentode")) {
PentodeSymbol ps = new PentodeSymbol(); PentodeSymbol ps = new PentodeSymbol();
if (com_name != "") { if (!com_name.isEmpty()) {
ps.setName(com_name); ps.setName(com_name);
} else } else
ps.setName("ps"); ps.setName("ps");
ps.setColor(cl); ps.setColor(cl);
if (value_s != "") if (!value_s.isEmpty())
ps.setValue(value_s); ps.setValue(value_s);
Point point; Point point;
@@ -678,7 +676,7 @@ public class V2FileParser implements IOldFileParser {
project.getComponents().add(ps); project.getComponents().add(ps);
} else if (node.getAttributes().getNamedItem("name").getNodeValue().equalsIgnoreCase("Electrolytic Symbol")) { } else if (node.getAttributes().getNamedItem("name").getNodeValue().equalsIgnoreCase("Electrolytic Symbol")) {
CapacitorSymbol cs = new CapacitorSymbol(); CapacitorSymbol cs = new CapacitorSymbol();
if (com_name != "") { if (!com_name.isEmpty()) {
cs.setName(com_name); cs.setName(com_name);
} else } else
cs.setName("cs"); cs.setName("cs");
@@ -694,13 +692,13 @@ public class V2FileParser implements IOldFileParser {
project.getComponents().add(cs); project.getComponents().add(cs);
} else if (node.getAttributes().getNamedItem("name").getNodeValue().equalsIgnoreCase("Opamp Symbol")) { } else if (node.getAttributes().getNamedItem("name").getNodeValue().equalsIgnoreCase("Opamp Symbol")) {
ICSymbol ic = new ICSymbol(); ICSymbol ic = new ICSymbol();
if (com_name != "") { if (!com_name.isEmpty()) {
ic.setName(com_name); ic.setName(com_name);
} else } else
ic.setName("ics"); ic.setName("ics");
if (value_s != "") if (!value_s.isEmpty())
ic.setValue(value_s); ic.setValue(value_s);
ic.setAlpha((byte) transparency); ic.setAlpha(new Percentage(transparency));
Point point; Point point;
int x = (int) (tacke.get(0).getX() - 70); int x = (int) (tacke.get(0).getX() - 70);
int y = (int) tacke.get(0).getY() - 20; int y = (int) tacke.get(0).getY() - 20;
@@ -710,12 +708,12 @@ public class V2FileParser implements IOldFileParser {
project.getComponents().add(ic); project.getComponents().add(ic);
} else if (node.getAttributes().getNamedItem("name").getNodeValue().equalsIgnoreCase("Potentiometer Symbol")) { } else if (node.getAttributes().getNamedItem("name").getNodeValue().equalsIgnoreCase("Potentiometer Symbol")) {
PotentiometerSymbol ps = new PotentiometerSymbol(); PotentiometerSymbol ps = new PotentiometerSymbol();
if (com_name != "") { if (!com_name.isEmpty()) {
ps.setName(com_name); ps.setName(com_name);
} else } else
ps.setName("ps"); ps.setName("ps");
ps.setOrientation(Orientation._270); ps.setOrientation(Orientation._270);
if (value_s != "") if (!value_s.isEmpty())
ps.setValue(value_s); ps.setValue(value_s);
ps.setColor(cl); ps.setColor(cl);
Point point; Point point;
@@ -730,7 +728,7 @@ public class V2FileParser implements IOldFileParser {
project.getComponents().add(ps); project.getComponents().add(ps);
} else if (node.getAttributes().getNamedItem("name").getNodeValue().equalsIgnoreCase("Resistor Symbol")) { } else if (node.getAttributes().getNamedItem("name").getNodeValue().equalsIgnoreCase("Resistor Symbol")) {
ResistorSymbol rs = new ResistorSymbol(); ResistorSymbol rs = new ResistorSymbol();
if (com_name != "") { if (!com_name.isEmpty()) {
rs.setName(com_name); rs.setName(com_name);
} else } else
rs.setName("rs"); rs.setName("rs");
@@ -746,11 +744,11 @@ public class V2FileParser implements IOldFileParser {
project.getComponents().add(rs); project.getComponents().add(rs);
} else if (node.getAttributes().getNamedItem("name").getNodeValue().equalsIgnoreCase("Triode")) { } else if (node.getAttributes().getNamedItem("name").getNodeValue().equalsIgnoreCase("Triode")) {
TriodeSymbol ts = new TriodeSymbol(); TriodeSymbol ts = new TriodeSymbol();
if (com_name != "") { if (!com_name.isEmpty()) {
ts.setName(com_name); ts.setName(com_name);
} else } else
ts.setName("ts"); ts.setName("ts");
if (value_s != "") { if (!value_s.isEmpty()) {
ts.setValue(value_s); ts.setValue(value_s);
} }
ts.setColor(cl); ts.setColor(cl);
@@ -762,14 +760,14 @@ public class V2FileParser implements IOldFileParser {
project.getComponents().add(ts); project.getComponents().add(ts);
} else if (node.getAttributes().getNamedItem("name").getNodeValue().equalsIgnoreCase("Diode")) { } else if (node.getAttributes().getNamedItem("name").getNodeValue().equalsIgnoreCase("Diode")) {
DiodePlastic dp = new DiodePlastic(); DiodePlastic dp = new DiodePlastic();
if (com_name != "") { if (!com_name.isEmpty()) {
dp.setName(com_name); dp.setName(com_name);
} else } else
dp.setName("dp"); dp.setName("dp");
if (value_s != "") { if (!value_s.isEmpty()) {
dp.setValue(value_s); dp.setValue(value_s);
} }
dp.setAlpha((byte) transparency); dp.setAlpha(new Percentage(transparency));
if (display.equals("Name")) if (display.equals("Name"))
dp.setDisplay(Display.NAME); dp.setDisplay(Display.NAME);
else else
@@ -781,7 +779,7 @@ public class V2FileParser implements IOldFileParser {
project.getComponents().add(dp); project.getComponents().add(dp);
} else if (node.getAttributes().getNamedItem("name").getNodeValue().equalsIgnoreCase("IC DIL")) { } else if (node.getAttributes().getNamedItem("name").getNodeValue().equalsIgnoreCase("IC DIL")) {
DIL_IC dil = new DIL_IC(); DIL_IC dil = new DIL_IC();
if (com_name != "") { if (!com_name.isEmpty()) {
dil.setName(com_name); dil.setName(com_name);
} else } else
dil.setName("dil"); dil.setName("dil");
@@ -795,8 +793,6 @@ public class V2FileParser implements IOldFileParser {
dil.setPinCount(PinCount._10); dil.setPinCount(PinCount._10);
else if (pins == 12) else if (pins == 12)
dil.setPinCount(PinCount._12); dil.setPinCount(PinCount._12);
else if (pins == 12)
dil.setPinCount(PinCount._12);
else if (pins == 14) else if (pins == 14)
dil.setPinCount(PinCount._14); dil.setPinCount(PinCount._14);
else if (pins == 16) else if (pins == 16)
@@ -835,8 +831,8 @@ public class V2FileParser implements IOldFileParser {
dil.setPinCount(PinCount._48); dil.setPinCount(PinCount._48);
else if (pins == 50) else if (pins == 50)
dil.setPinCount(PinCount._50); dil.setPinCount(PinCount._50);
dil.setAlpha((byte) transparency); dil.setAlpha(new Percentage(transparency));
if (value_s != "") if (!value_s.isEmpty())
dil.setValue(value_s); dil.setValue(value_s);
dil.setRowSpacing(spacingPro); dil.setRowSpacing(spacingPro);
dil.setControlPoint(tacke.get(0), 0); dil.setControlPoint(tacke.get(0), 0);
@@ -844,12 +840,12 @@ public class V2FileParser implements IOldFileParser {
project.getComponents().add(dil); project.getComponents().add(dil);
} else if (node.getAttributes().getNamedItem("name").getNodeValue().equalsIgnoreCase("Transistor")) { } else if (node.getAttributes().getNamedItem("name").getNodeValue().equalsIgnoreCase("Transistor")) {
TransistorTO92 trans = new TransistorTO92(); TransistorTO92 trans = new TransistorTO92();
if (com_name != "") { if (!com_name.isEmpty()) {
trans.setName(com_name); trans.setName(com_name);
} else } else
trans.setName("tr"); trans.setName("tr");
trans.setAlpha((byte) transparency); trans.setAlpha(new Percentage(transparency));
if (value_s != "") { if (!value_s.isEmpty()) {
trans.setValue(value_s); trans.setValue(value_s);
} }
trans.setPinSpacing(new Size(0.1, SizeUnit.in)); trans.setPinSpacing(new Size(0.1, SizeUnit.in));
@@ -898,7 +894,7 @@ public class V2FileParser implements IOldFileParser {
} else if (node.getAttributes().getNamedItem("name").getNodeValue().equalsIgnoreCase("Ellipse")) { } else if (node.getAttributes().getNamedItem("name").getNodeValue().equalsIgnoreCase("Ellipse")) {
Ellipse el = new Ellipse(); Ellipse el = new Ellipse();
el.setName("elipse"); el.setName("elipse");
el.setAlpha((byte) transparency); el.setAlpha(new Percentage(transparency));
el.setColor(cl); el.setColor(cl);
el.setControlPoint(tacke.get(0), 0); el.setControlPoint(tacke.get(0), 0);
el.setControlPoint(tacke.get(1), 1); el.setControlPoint(tacke.get(1), 1);
@@ -915,19 +911,19 @@ public class V2FileParser implements IOldFileParser {
Rectangle rec = new Rectangle(); Rectangle rec = new Rectangle();
rec.setName("rec"); rec.setName("rec");
rec.setColor(cl); rec.setColor(cl);
rec.setAlpha((byte) transparency); rec.setAlpha(new Percentage(transparency));
rec.setEdgeRadius(radiusPro); rec.setEdgeRadius(radiusPro);
rec.setControlPoint(tacke.get(0), 0); rec.setControlPoint(tacke.get(0), 0);
rec.setControlPoint(tacke.get(1), 1); rec.setControlPoint(tacke.get(1), 1);
project.getComponents().add(rec); project.getComponents().add(rec);
} else if (node.getAttributes().getNamedItem("name").getNodeValue().equalsIgnoreCase("Noval Tube Socket")) { } else if (node.getAttributes().getNamedItem("name").getNodeValue().equalsIgnoreCase("Noval Tube Socket")) {
TubeSocket ts = new TubeSocket(); TubeSocket ts = new TubeSocket();
if (com_name != "") { if (!com_name.isEmpty()) {
ts.setName(com_name); ts.setName(com_name);
} else } else
ts.setName("ts"); ts.setName("ts");
ts.setAlpha((byte) transparency); ts.setAlpha(new Percentage(transparency));
if (value_s != "") if (!value_s.isEmpty())
ts.setValue(value_s); ts.setValue(value_s);
ts.setAngle(Angle.of((int) angle)); ts.setAngle(Angle.of((int) angle));
ts.setControlPoint(tacke.get(0), 0); ts.setControlPoint(tacke.get(0), 0);
@@ -935,12 +931,12 @@ public class V2FileParser implements IOldFileParser {
project.getComponents().add(ts); project.getComponents().add(ts);
} else if (node.getAttributes().getNamedItem("name").getNodeValue().equalsIgnoreCase("BJT Transistor")) { } else if (node.getAttributes().getNamedItem("name").getNodeValue().equalsIgnoreCase("BJT Transistor")) {
BJTSymbol bjt = new BJTSymbol(); BJTSymbol bjt = new BJTSymbol();
if (com_name != "") { if (!com_name.isEmpty()) {
bjt.setName(com_name); bjt.setName(com_name);
} else } else
bjt.setName("bjt"); bjt.setName("bjt");
bjt.setColor(cl); bjt.setColor(cl);
if (value_s != "") if (!value_s.isEmpty())
bjt.setValue(value_s); bjt.setValue(value_s);
if (angle <= 45 || angle > 315) if (angle <= 45 || angle > 315)
bjt.setOrientation(Orientation.DEFAULT); bjt.setOrientation(Orientation.DEFAULT);
@@ -958,12 +954,12 @@ public class V2FileParser implements IOldFileParser {
project.getComponents().add(bjt); project.getComponents().add(bjt);
} else if (node.getAttributes().getNamedItem("name").getNodeValue().equalsIgnoreCase("Octal Tube Socket")) { } else if (node.getAttributes().getNamedItem("name").getNodeValue().equalsIgnoreCase("Octal Tube Socket")) {
TubeSocket ts = new TubeSocket(); TubeSocket ts = new TubeSocket();
if (com_name != "") { if (!com_name.isEmpty()) {
ts.setName(com_name); ts.setName(com_name);
} else } else
ts.setName("ts"); ts.setName("ts");
ts.setAlpha((byte) transparency); ts.setAlpha(new Percentage(transparency));
if (value_s != "") if (!value_s.isEmpty())
ts.setValue(value_s); ts.setValue(value_s);
ts.setAngle(Angle.of((int) angle)); ts.setAngle(Angle.of((int) angle));
ts.setControlPoint(tacke.get(0), 0); ts.setControlPoint(tacke.get(0), 0);
@@ -971,12 +967,12 @@ public class V2FileParser implements IOldFileParser {
project.getComponents().add(ts); project.getComponents().add(ts);
} else if (node.getAttributes().getNamedItem("name").getNodeValue().equalsIgnoreCase("7-pin Tube Socket")) { } else if (node.getAttributes().getNamedItem("name").getNodeValue().equalsIgnoreCase("7-pin Tube Socket")) {
TubeSocket ts = new TubeSocket(); TubeSocket ts = new TubeSocket();
if (com_name != "") { if (!com_name.isEmpty()) {
ts.setName(com_name); ts.setName(com_name);
} else } else
ts.setName("ts"); ts.setName("ts");
ts.setAlpha((byte) transparency); ts.setAlpha(new Percentage(transparency));
if (value_s != "") if (!value_s.isEmpty())
ts.setValue(value_s); ts.setValue(value_s);
ts.setAngle(Angle.of((int)angle)); ts.setAngle(Angle.of((int)angle));
@@ -26,6 +26,7 @@ import java.awt.Component;
import java.awt.Font; import java.awt.Font;
import javax.swing.JLabel; import javax.swing.JLabel;
import org.apache.log4j.Logger; import org.apache.log4j.Logger;
import org.diylc.common.Percentage;
import org.diylc.components.misc.LoadlineEntity; import org.diylc.components.misc.LoadlineEntity;
import org.diylc.common.PropertyWrapper; import org.diylc.common.PropertyWrapper;
@@ -99,8 +100,8 @@ public class FieldEditorFactory {
DynamicValueEditor editor = new DynamicValueEditor(property); DynamicValueEditor editor = new DynamicValueEditor(property);
return editor; return editor;
} }
if (Byte.class.isAssignableFrom(property.getType()) || byte.class.isAssignableFrom(property.getType())) { if (Percentage.class.isAssignableFrom(property.getType())) {
ByteEditor editor = new ByteEditor(property); PercentageEditor editor = new PercentageEditor(property);
return editor; return editor;
} }
if (Boolean.class.isAssignableFrom(property.getType()) || boolean.class.isAssignableFrom(property.getType())) { if (Boolean.class.isAssignableFrom(property.getType()) || boolean.class.isAssignableFrom(property.getType())) {
@@ -33,33 +33,32 @@ import javax.swing.event.ChangeListener;
import org.diylc.swingframework.DoubleTextField; import org.diylc.swingframework.DoubleTextField;
import org.diylc.common.Percentage;
import org.diylc.common.PropertyWrapper; import org.diylc.common.PropertyWrapper;
import org.diylc.core.annotations.PercentEditor; import org.diylc.core.annotations.PercentEditor;
import org.diylc.utils.Constants; import org.diylc.utils.Constants;
public class ByteEditor extends JPanel { public class PercentageEditor extends JPanel {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
private Color oldBg = getBackground(); private Color oldBg = getBackground();
private static final byte default100Percent = 127; private int minValue = 0;
private int maxValue = 100;
private byte _100PercentValue; public PercentageEditor(final PropertyWrapper property) {
public ByteEditor(final PropertyWrapper property) {
super(); super();
setLayout(new FlowLayout()); setLayout(new FlowLayout());
try { try {
PercentEditor percentEditor = property.getGetter().getAnnotation(PercentEditor.class); PercentEditor percentEditor = property.getGetter().getAnnotation(PercentEditor.class);
if (percentEditor == null) if (percentEditor != null) {
_100PercentValue = default100Percent; minValue = percentEditor.minValue();
else maxValue = percentEditor.maxValue();
_100PercentValue = percentEditor._100PercentValue(); }
} catch (Exception e) { } catch (Exception e) {
_100PercentValue = default100Percent;
} }
final JSlider slider = new JSlider(); final JSlider slider = new JSlider();
@@ -70,10 +69,8 @@ public class ByteEditor extends JPanel {
valueField.setEnabled(false); valueField.setEnabled(false);
} }
final double percentFactor = (double) default100Percent / _100PercentValue; slider.setMinimum(minValue);
slider.setMaximum(maxValue);
slider.setMinimum(0);
slider.setMaximum(default100Percent * 100);
slider.addChangeListener(new ChangeListener() { slider.addChangeListener(new ChangeListener() {
@@ -82,24 +79,30 @@ public class ByteEditor extends JPanel {
property.setChanged(true); property.setChanged(true);
setBackground(oldBg); setBackground(oldBg);
slider.setBackground(oldBg); slider.setBackground(oldBg);
property.setValue(Integer.valueOf(slider.getValue() / 100).byteValue());
valueField.setText(Integer.toString((int) Math.round(percentFactor * (double) slider.getValue() property.setValue(new Percentage(slider.getValue()));
/ default100Percent))); valueField.setText(Integer.toString(slider.getValue()));
} }
}); });
slider.setValue((Byte) property.getValue() * 100);
valueField Object val = property.getValue();
.setText(Integer.toString((int) Math.round(percentFactor * (double) slider.getValue() / default100Percent))); if (val != null) {
slider.setValue(((Percentage) val).getValue());
} else {
slider.setValue(minValue);
}
valueField.setText(Integer.toString(slider.getValue()));
valueField.setColumns(3); valueField.setColumns(3);
valueField.addKeyListener(new KeyAdapter() { valueField.addKeyListener(new KeyAdapter() {
@Override @Override
public void keyReleased(KeyEvent e) { public void keyReleased(KeyEvent e) {
try { try {
int newPosition = (int) (Double.parseDouble(valueField.getText()) * default100Percent / percentFactor); int newPosition = (int) Double.parseDouble(valueField.getText());
System.out.println("keyReleased, pos: " + newPosition); if (newPosition >= minValue && newPosition <= maxValue) {
slider.setValue(newPosition); slider.setValue(newPosition);
}
} catch (Exception ex) { } catch (Exception ex) {
} }
} }
@@ -35,6 +35,7 @@ import org.apache.poi.util.IOUtils;
import org.diylc.appframework.miscutils.IConfigurationManager; import org.diylc.appframework.miscutils.IConfigurationManager;
import org.diylc.appframework.miscutils.InMemoryConfigurationManager; import org.diylc.appframework.miscutils.InMemoryConfigurationManager;
import org.diylc.appframework.miscutils.Utils; import org.diylc.appframework.miscutils.Utils;
import org.diylc.common.*;
import org.diylc.components.connectivity.Dot; import org.diylc.components.connectivity.Dot;
import org.diylc.components.connectivity.Line; import org.diylc.components.connectivity.Line;
import org.diylc.components.misc.Image; import org.diylc.components.misc.Image;
@@ -47,12 +48,6 @@ import org.diylc.swingframework.DoubleTextField;
import com.thoughtworks.xstream.XStream; import com.thoughtworks.xstream.XStream;
import com.thoughtworks.xstream.io.xml.DomDriver; import com.thoughtworks.xstream.io.xml.DomDriver;
import org.diylc.common.EventType;
import org.diylc.common.HorizontalAlignment;
import org.diylc.common.IPlugIn;
import org.diylc.common.IPlugInPort;
import org.diylc.common.PropertyWrapper;
import org.diylc.common.VerticalAlignment;
import org.diylc.components.AbstractCurvedComponent.PointCount; import org.diylc.components.AbstractCurvedComponent.PointCount;
import org.diylc.core.IDIYComponent; import org.diylc.core.IDIYComponent;
import org.diylc.core.IView; import org.diylc.core.IView;
@@ -687,7 +682,7 @@ public class LoadlineEditorFrame extends JFrame implements IView {
image.setControlPoint(new Point((int) spacing, (int) spacing), 0); image.setControlPoint(new Point((int) spacing, (int) spacing), 0);
image.setControlPoint(new Point((int) (canvasDimensions.width - spacing), image.setControlPoint(new Point((int) (canvasDimensions.width - spacing),
(int) (canvasDimensions.height - spacing)), 1); (int) (canvasDimensions.height - spacing)), 1);
image.setAlpha((byte) 50); // make it transparent image.setAlpha(new Percentage(50)); // make it transparent
fis.close(); fis.close();
// add to the bottom // add to the bottom
project.getComponents().add(0, image); project.getComponents().add(0, image);