diff --git a/diylc/diylc-core/src/org/diylc/common/PCBLayer.java b/diylc/diylc-core/src/org/diylc/common/PCBLayer.java
index c5e97460..4b8ffcad 100644
--- a/diylc/diylc-core/src/org/diylc/common/PCBLayer.java
+++ b/diylc/diylc-core/src/org/diylc/common/PCBLayer.java
@@ -27,9 +27,5 @@ public enum PCBLayer {
public String toString() {
return name().substring(1);
- };
-
- public int getId() {
- return Integer.parseInt(toString());
- }
+ };
}
diff --git a/diylc/diylc-core/src/org/diylc/core/IDrawingObserver.java b/diylc/diylc-core/src/org/diylc/core/IDrawingObserver.java
index 88541a3e..c7e69562 100644
--- a/diylc/diylc-core/src/org/diylc/core/IDrawingObserver.java
+++ b/diylc/diylc-core/src/org/diylc/core/IDrawingObserver.java
@@ -42,10 +42,9 @@ public interface IDrawingObserver {
/**
* Notifies the observer that it should start tracking conductive continuity areas.
*
- * @param layerId id of the layer
* @param positive designates if the area should be additive or subtractive
*/
- void startTrackingContinuityArea(int layerId, boolean positive);
+ void startTrackingContinuityArea(boolean positive);
/**
* Notifies the observer that it should stop tracking conductive continuity areas.
diff --git a/diylc/diylc-core/src/org/diylc/presenter/ComponentArea.java b/diylc/diylc-core/src/org/diylc/presenter/ComponentArea.java
index 85e598a1..c6140807 100644
--- a/diylc/diylc-core/src/org/diylc/presenter/ComponentArea.java
+++ b/diylc/diylc-core/src/org/diylc/presenter/ComponentArea.java
@@ -32,17 +32,15 @@ public class ComponentArea implements Serializable {
private Area outlineArea;
private Collection continuityPositiveAreas;
private Collection continuityNegativeAreas;
- private int layerId;
public ComponentArea() {
}
- public ComponentArea(Area outlineArea, Collection continuityPositiveAreas, Collection continuityNegativeAreas, int layerId) {
+ public ComponentArea(Area outlineArea, Collection continuityPositiveAreas, Collection continuityNegativeAreas) {
super();
this.outlineArea = outlineArea;
this.continuityPositiveAreas = continuityPositiveAreas;
this.continuityNegativeAreas = continuityNegativeAreas;
- this.layerId = layerId;
}
public Area getOutlineArea() {
@@ -56,8 +54,4 @@ public class ComponentArea implements Serializable {
public Collection getContinuityNegativeAreas() {
return continuityNegativeAreas;
}
-
- public int getLayerId() {
- return layerId;
- }
}
diff --git a/diylc/diylc-core/src/org/diylc/presenter/DrawingCache.java b/diylc/diylc-core/src/org/diylc/presenter/DrawingCache.java
index ff4c759d..357d8cf2 100644
--- a/diylc/diylc-core/src/org/diylc/presenter/DrawingCache.java
+++ b/diylc/diylc-core/src/org/diylc/presenter/DrawingCache.java
@@ -134,7 +134,7 @@ public class DrawingCache {
stats.getSecond().add(componentEnd - componentStart);
// copy over tracking area from the cache, regardless if we rendered or not
- g2d.merge(value.getCurrentArea(), value.getContinuityPositiveAreas(), value.getContinuityNegativeAreas(), value.getLayerId());
+ g2d.merge(value.getCurrentArea(), value.getContinuityPositiveAreas(), value.getContinuityNegativeAreas());
} else {
// no caching, just draw as usual
component.draw(g2d, componentState, outlineMode, project, g2d);
@@ -264,7 +264,7 @@ public class DrawingCache {
// add to the cache
value = new CacheValue(component, image, wrapper.getCurrentArea(), wrapper.getContinuityPositiveAreas(),
- wrapper.getContinuityNegativeAreas(), wrapper.getLayerId(), componentState, outlineMode, zoom, dx, dy, rect);
+ wrapper.getContinuityNegativeAreas(), componentState, outlineMode, zoom, dx, dy, rect);
imageCache.put(component, new SoftReference(value));
}
@@ -283,13 +283,11 @@ public class DrawingCache {
int dx;
int dy;
Rectangle2D cacheBounds;
- int layerId;
public CacheValue(IDIYComponent> component, BufferedImage image, Area currentArea,
- Map continuityPositiveAreas, Map continuityNegativeAreas, int layerId,
+ Map continuityPositiveAreas, Map continuityNegativeAreas,
ComponentState state, boolean outlineMode, double zoom, int dx, int dy, Rectangle2D cacheBounds) {
super();
- this.layerId = layerId;
this.cacheBounds = cacheBounds;
// take a copy of the component, so we can check if it changed in the meantime
try {
@@ -326,10 +324,6 @@ public class DrawingCache {
public Map getContinuityNegativeAreas() {
return continuityNegativeAreas;
}
-
- public int getLayerId() {
- return layerId;
- }
public ComponentState getState() {
return state;
diff --git a/diylc/diylc-core/src/org/diylc/presenter/DrawingManager.java b/diylc/diylc-core/src/org/diylc/presenter/DrawingManager.java
index 7a3910e8..55c08180 100644
--- a/diylc/diylc-core/src/org/diylc/presenter/DrawingManager.java
+++ b/diylc/diylc-core/src/org/diylc/presenter/DrawingManager.java
@@ -684,22 +684,23 @@ public class DrawingManager {
messageDispatcher.dispatchMessage(EventType.REPAINT);
}
- public void findContinuityAreaAtPoint(Point2D p) {
+ public void findContinuityAreaAtPoint(Project project, Point2D p) {
if (continuityGraphCache == null)
- continuityGraphCache = getContinuityGraph();
+ continuityGraphCache = getContinuityGraph(project);
currentContinuityAreas = continuityGraphCache.findAreasFor(p);
}
- public List getContinuityAreas() {
+ public List getContinuityAreas(Project project) {
// Find all individual continuity areas for all components
List preliminaryAreas = new ArrayList();
List checkBreakout = new ArrayList();
- for (ComponentArea a : this.componentAreaMap.values()) {
+ for (IDIYComponent> c : project.getComponents()) {
+ ComponentArea a = getComponentArea(c);
+
if (a == null || a.getOutlineArea() == null)
continue;
-
Collection positiveAreas = a.getContinuityPositiveAreas();
if (positiveAreas != null)
for (Area a1 : positiveAreas) {
@@ -732,9 +733,9 @@ public class DrawingManager {
return areas;
}
- public ContinuityGraph getContinuityGraph() {
+ public ContinuityGraph getContinuityGraph(Project project) {
Set connections = new HashSet();
- for (IDIYComponent> c : this.componentAreaMap.keySet()) {
+ for (IDIYComponent> c : project.getComponents()) {
if (c instanceof IContinuity) {
for (int i = 0; i < c.getControlPointCount() - 1; i++)
for (int j = i + 1; j < c.getControlPointCount(); j++)
@@ -743,13 +744,13 @@ public class DrawingManager {
}
}
- List areas = getContinuityAreas();
+ List areas = getContinuityAreas(project);
return NetlistBuilder.buildContinuityGraph(areas, connections);
}
- public List getContinuityAreaProximity(float threshold) {
- List continuityAreas = getContinuityAreas();
+ public List getContinuityAreaProximity(Project project, float threshold) {
+ List continuityAreas = getContinuityAreas(project);
Stroke s = ObjectCache.getInstance().fetchBasicStroke(threshold - 1); // value eyeballed for
// approx good results
List expanded = continuityAreas.parallelStream()
diff --git a/diylc/diylc-core/src/org/diylc/presenter/G2DWrapper.java b/diylc/diylc-core/src/org/diylc/presenter/G2DWrapper.java
index 2b2e995f..3122828e 100644
--- a/diylc/diylc-core/src/org/diylc/presenter/G2DWrapper.java
+++ b/diylc/diylc-core/src/org/diylc/presenter/G2DWrapper.java
@@ -82,7 +82,6 @@ class G2DWrapper extends Graphics2D implements IDrawingObserver {
private boolean drawingComponent = false;
private boolean trackingAllowed = true;
- private int layerId;
private boolean trackingContinuityAllowed = false;
private boolean trackingContinuityPositive = true;
@@ -104,7 +103,7 @@ class G2DWrapper extends Graphics2D implements IDrawingObserver {
private String continuityMarker;
private Shape lastShape;
- private double zoom;
+ private double zoom;
/**
* Creates a wrapper around specified {@link Graphics2D} object.
@@ -134,7 +133,6 @@ class G2DWrapper extends Graphics2D implements IDrawingObserver {
currentArea = new Area();
continuityPositiveAreas = new HashMap();
continuityNegativeAreas = new HashMap();
- layerId = 0;
// trackingStacks.clear();
continuityMarker = null;
originalStroke = canvasGraphics.getStroke();
@@ -161,8 +159,7 @@ class G2DWrapper extends Graphics2D implements IDrawingObserver {
canvasGraphics.setComposite(originalComposite);
canvasGraphics.setFont(originalFont);
// Map sorted = sortByComparator(trackingStacks, false);
- return new ComponentArea(currentArea, new ArrayList(continuityPositiveAreas.values()),
- new ArrayList(continuityNegativeAreas.values()), layerId);
+ return new ComponentArea(currentArea, new ArrayList(continuityPositiveAreas.values()), new ArrayList(continuityNegativeAreas.values()));
}
// start - used for caching
@@ -179,18 +176,12 @@ class G2DWrapper extends Graphics2D implements IDrawingObserver {
return continuityNegativeAreas;
}
- public int getLayerId() {
- return layerId;
- }
-
// end - used for caching
- public void merge(Area currentArea, Map continuityPositiveAreas,
- Map continuityNegativeAreas, int layerId) {
+ public void merge(Area currentArea, Map continuityPositiveAreas, Map continuityNegativeAreas) {
this.currentArea = currentArea;
this.continuityPositiveAreas = continuityPositiveAreas;
this.continuityNegativeAreas = continuityNegativeAreas;
- this.layerId = layerId;
}
@Override
@@ -204,8 +195,7 @@ class G2DWrapper extends Graphics2D implements IDrawingObserver {
}
@Override
- public void startTrackingContinuityArea(int layerId, boolean positive) {
- this.layerId = layerId;
+ public void startTrackingContinuityArea(boolean positive) {
this.trackingContinuityAllowed = true;
this.trackingContinuityPositive = positive;
}
diff --git a/diylc/diylc-core/src/org/diylc/presenter/Presenter.java b/diylc/diylc-core/src/org/diylc/presenter/Presenter.java
index d6da258b..481f4d1d 100644
--- a/diylc/diylc-core/src/org/diylc/presenter/Presenter.java
+++ b/diylc/diylc-core/src/org/diylc/presenter/Presenter.java
@@ -680,7 +680,7 @@ public class Presenter implements IPlugInPort {
projectFileManager.notifyFileChange();
}
} else if (configManager.readBoolean(HIGHLIGHT_CONTINUITY_AREA, false) || altDown) {
- drawingManager.findContinuityAreaAtPoint(scaledPoint);
+ drawingManager.findContinuityAreaAtPoint(currentProject, scaledPoint);
messageDispatcher.dispatchMessage(EventType.REPAINT);
} else {
List> newSelection = new ArrayList>(selectedComponents);
@@ -2809,7 +2809,7 @@ public class Presenter implements IPlugInPort {
@Override
public List extractNetlists(boolean includeSwitches) throws NetlistException {
- List continuityAreas = drawingManager.getContinuityAreas();
+ List continuityAreas = drawingManager.getContinuityAreas(currentProject);
return NetlistBuilder.extractNetlists(includeSwitches, currentProject, continuityAreas);
}
@@ -2874,12 +2874,11 @@ public class Presenter implements IPlugInPort {
ComponentArea componentArea = drawingManager.getComponentArea(c);
areas.put(c, componentArea);
}
- return new Snapshot(currentProject.clone(), new HashSet>(selectedComponents), areas,
- new HashSet(drawingManager.getContinuityAreas()));
+ return new Snapshot(currentProject.clone(), new HashSet>(selectedComponents), areas, new HashSet(drawingManager.getContinuityAreas(currentProject)));
}
@Override
public List checkContinuityAreaProximity(Size threshold) {
- return drawingManager.getContinuityAreaProximity((float)threshold.convertToPixels());
+ return drawingManager.getContinuityAreaProximity(this.currentProject, (float)threshold.convertToPixels());
}
}
diff --git a/diylc/diylc-library/lib/diylc-core.jar b/diylc/diylc-library/lib/diylc-core.jar
index 7b577c72..2754ec2f 100644
Binary files a/diylc/diylc-library/lib/diylc-core.jar and b/diylc/diylc-library/lib/diylc-core.jar differ
diff --git a/diylc/diylc-library/src/org/diylc/components/AbstractLeadedComponent.java b/diylc/diylc-library/src/org/diylc/components/AbstractLeadedComponent.java
index 8eda0b8b..d0019b2d 100644
--- a/diylc/diylc-library/src/org/diylc/components/AbstractLeadedComponent.java
+++ b/diylc/diylc-library/src/org/diylc/components/AbstractLeadedComponent.java
@@ -110,14 +110,10 @@ public abstract class AbstractLeadedComponent extends AbstractLabeledComponen
points[1] = new Point2D.Double(targetSize / 2, 0);
}
- protected boolean isCopperArea() {
+ protected boolean IsCopperArea() {
return false;
}
- protected int getLayerId() {
- return 0;
- }
-
protected Point2D[] getPoints() {
// convert old points to new
if (points.length == 2) {
@@ -153,7 +149,7 @@ public abstract class AbstractLeadedComponent extends AbstractLabeledComponen
Shape shape = getBodyShape();
// If there's no body, just draw the line connecting the ending points.
if (shape == null) {
- drawLead(g2d, componentState, drawingObserver, isCopperArea());
+ drawLead(g2d, componentState, drawingObserver, IsCopperArea());
return;
}
@@ -419,7 +415,7 @@ public abstract class AbstractLeadedComponent extends AbstractLabeledComponen
private void drawLead(Graphics2D g2d, ComponentState componentState, IDrawingObserver observer, boolean isCopperArea) {
if (isCopperArea)
- observer.startTrackingContinuityArea(getLayerId(), true);
+ observer.startTrackingContinuityArea(true);
float thickness = getLeadThickness();
diff --git a/diylc/diylc-library/src/org/diylc/components/boards/Breadboard.java b/diylc/diylc-library/src/org/diylc/components/boards/Breadboard.java
index b36191ae..00104e2e 100644
--- a/diylc/diylc-library/src/org/diylc/components/boards/Breadboard.java
+++ b/diylc/diylc-library/src/org/diylc/components/boards/Breadboard.java
@@ -195,7 +195,7 @@ public class Breadboard extends AbstractProtoBoard {
}
// draw transparent connections just to designate connections
- drawingObserver.startTrackingContinuityArea(1, true);
+ drawingObserver.startTrackingContinuityArea(true);
Composite oldComposite = g2d.getComposite();
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.0f));
diff --git a/diylc/diylc-library/src/org/diylc/components/boards/EurorackStripboard.java b/diylc/diylc-library/src/org/diylc/components/boards/EurorackStripboard.java
index b34e306c..be101842 100644
--- a/diylc/diylc-library/src/org/diylc/components/boards/EurorackStripboard.java
+++ b/diylc/diylc-library/src/org/diylc/components/boards/EurorackStripboard.java
@@ -380,7 +380,7 @@ public class EurorackStripboard extends AbstractProtoBoard {
int padX = (int) (x0 + (segment.x + i) * spacing);
int padY = (int) (y0 + (segment.y + j) * spacing);
- drawingObserver.startTrackingContinuityArea(1, true);
+ drawingObserver.startTrackingContinuityArea(true);
drawingObserver.setContinuityMarker(segment.label);
g2d.setColor(padColor);
@@ -432,7 +432,7 @@ public class EurorackStripboard extends AbstractProtoBoard {
int padX = (int) (x0 + potPad.x * spacing);
int padY = (int) (y0 + (potPad.y + 8 * i) * spacing);
- drawingObserver.startTrackingContinuityArea(1, true);
+ drawingObserver.startTrackingContinuityArea(true);
drawingObserver.setContinuityMarker(potPad.label + i);
g2d.setColor(padColor);
@@ -483,7 +483,7 @@ public class EurorackStripboard extends AbstractProtoBoard {
int padX = (int) (x0 + potPad.x * spacing);
int padY = (int) (y0 + potPad.y * spacing);
- drawingObserver.startTrackingContinuityArea(1, true);
+ drawingObserver.startTrackingContinuityArea(true);
drawingObserver.setContinuityMarker(potPad.label);
g2d.setColor(padColor);
@@ -513,7 +513,7 @@ public class EurorackStripboard extends AbstractProtoBoard {
int padX = (int) (x0 + (6.5 + i) * spacing);
int padY = (int) (y0 + (36 + j) * spacing);
- drawingObserver.startTrackingContinuityArea(1, true);
+ drawingObserver.startTrackingContinuityArea(true);
drawingObserver.setContinuityMarker(connectorLabels[i]);
g2d.setColor(padColor);
@@ -543,7 +543,7 @@ public class EurorackStripboard extends AbstractProtoBoard {
int padX = (int) (x0 + (17) * spacing);
int padY = (int) (y0 + 35.5 * spacing);
- drawingObserver.startTrackingContinuityArea(1, true);
+ drawingObserver.startTrackingContinuityArea(true);
drawingObserver.setContinuityMarker("GND");
g2d.setColor(padColor);
diff --git a/diylc/diylc-library/src/org/diylc/components/boards/ProtoBoard.java b/diylc/diylc-library/src/org/diylc/components/boards/ProtoBoard.java
index 76f941b1..d34fb7fe 100644
--- a/diylc/diylc-library/src/org/diylc/components/boards/ProtoBoard.java
+++ b/diylc/diylc-library/src/org/diylc/components/boards/ProtoBoard.java
@@ -140,7 +140,7 @@ public class ProtoBoard extends AbstractProtoBoard {
g2d.setColor(traceColor);
g2d.setStroke(ObjectCache.getInstance().fetchBasicStroke(padSize / 4));
- drawingObserver.startTrackingContinuityArea(1, true);
+ drawingObserver.startTrackingContinuityArea(true);
// draw segment connectors
for (int y = 0; y < ROW_COUNT; y++) {
@@ -223,7 +223,7 @@ public class ProtoBoard extends AbstractProtoBoard {
// draw top mini pad traces
g2d.setColor(traceColor);
g2d.setStroke(ObjectCache.getInstance().fetchBasicStroke(padSize / 4));
- drawingObserver.startTrackingContinuityArea(1, true);
+ drawingObserver.startTrackingContinuityArea(true);
g2d.drawLine((int) (point.getX() + (1 + SEGMENTS_SUM[3] + 0.5) * spacing), (int) (point.getY() + 1 * spacing),
(int) (point.getX() + (1 + SEGMENTS_SUM[3] + 0.5) * spacing), (int) (point.getY() + 3.5 * spacing));
g2d.drawLine((int) (point.getX() + (1 + SEGMENTS_SUM[3] + 1.5) * spacing + miniPadSize / 2), (int) (point.getY() + 1 * spacing),
@@ -255,7 +255,7 @@ public class ProtoBoard extends AbstractProtoBoard {
int padX = (int) (point.getX() + (xOffset + x) * spacing);
int padY = (int) (point.getY() + (yOffset + y) * spacing);
- drawingObserver.startTrackingContinuityArea(1, true);
+ drawingObserver.startTrackingContinuityArea(true);
drawingObserver.setContinuityMarker("SEGMENT=" + segment + ";ROW=" + y);
g2d.setColor(padColor);
@@ -295,7 +295,7 @@ public class ProtoBoard extends AbstractProtoBoard {
g2d.drawRect((int) (point.getX() + (1 + SEGMENTS_SUM[3]) * spacing), (int) (point.getY() + (yOffset - 2 + y * (ROW_COUNT + 2)) * spacing),
(int)(3 * spacing), (int)spacing);
- drawingObserver.startTrackingContinuityArea(1, true);
+ drawingObserver.startTrackingContinuityArea(true);
for (int x = 0; x < 3; x++) {
int padX = (int) (point.getX() + (1 + SEGMENTS_SUM[3] + 0.5 + x) * spacing);
@@ -344,7 +344,7 @@ public class ProtoBoard extends AbstractProtoBoard {
g2d.setColor(traceColor);
g2d.setStroke(ObjectCache.getInstance().fetchBasicStroke(padSize / 4));
- drawingObserver.startTrackingContinuityArea(1, true);
+ drawingObserver.startTrackingContinuityArea(true);
// Draw two horizontal traces in the top-right section
g2d.drawLine((int) (point.getX() + width - 4 * spacing), (int) (point.getY() + 0.5 * spacing), (int) (point.getX() + width - (2) * spacing), (int) (point.getY() + 0.5 * spacing));
@@ -403,7 +403,7 @@ public class ProtoBoard extends AbstractProtoBoard {
for (int i = 0; i < padXs.length; i++) {
int padX = padXs[i];
- drawingObserver.startTrackingContinuityArea(1, true);
+ drawingObserver.startTrackingContinuityArea(true);
if (i == 0 || i == 2 || i == 5) {
switch (y) {
@@ -473,7 +473,7 @@ public class ProtoBoard extends AbstractProtoBoard {
for (int y = 0; y < ROW_COUNT; y++) {
g2d.setColor(padColor);
- drawingObserver.startTrackingContinuityArea(1, true);
+ drawingObserver.startTrackingContinuityArea(true);
// top row
g2d.fillRect((int) (point.getX() + (1 + SEGMENTS_SUM[3] + 0.5) * spacing) + 1, (int) (point.getY() + (yOffset + y - 0.5d) * spacing + 2), miniPadSize, miniPadSize);
@@ -492,7 +492,7 @@ public class ProtoBoard extends AbstractProtoBoard {
g2d.setColor(undersidePadColor);
- drawingObserver.startTrackingContinuityArea(1, true);
+ drawingObserver.startTrackingContinuityArea(true);
// bottom row
diff --git a/diylc/diylc-library/src/org/diylc/components/boards/TagStrip.java b/diylc/diylc-library/src/org/diylc/components/boards/TagStrip.java
index 9405ac07..7d4f54d1 100644
--- a/diylc/diylc-library/src/org/diylc/components/boards/TagStrip.java
+++ b/diylc/diylc-library/src/org/diylc/components/boards/TagStrip.java
@@ -302,7 +302,7 @@ public class TagStrip extends AbstractTransparentComponent implements IC
g2d.draw(mainArea);
g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : TERMINAL_COLOR);
- drawingObserver.startTrackingContinuityArea(1, true);
+ drawingObserver.startTrackingContinuityArea(true);
for (int i = 1; i < body.length; i++)
g2d.fill(body[i]);
drawingObserver.stopTrackingContinuityArea();
diff --git a/diylc/diylc-library/src/org/diylc/components/boards/TerminalStrip.java b/diylc/diylc-library/src/org/diylc/components/boards/TerminalStrip.java
index 8d066a7f..713a2814 100644
--- a/diylc/diylc-library/src/org/diylc/components/boards/TerminalStrip.java
+++ b/diylc/diylc-library/src/org/diylc/components/boards/TerminalStrip.java
@@ -379,7 +379,7 @@ public class TerminalStrip extends AbstractTransparentComponent implemen
g2d.draw(mainArea);
g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : TERMINAL_COLOR);
- drawingObserver.startTrackingContinuityArea(1, true);
+ drawingObserver.startTrackingContinuityArea(true);
for (int i = 1; i < body.length; i++)
g2d.fill(body[i]);
drawingObserver.stopTrackingContinuityArea();
diff --git a/diylc/diylc-library/src/org/diylc/components/boards/TriPadBoard.java b/diylc/diylc-library/src/org/diylc/components/boards/TriPadBoard.java
index fd0add0d..6c3fe623 100644
--- a/diylc/diylc-library/src/org/diylc/components/boards/TriPadBoard.java
+++ b/diylc/diylc-library/src/org/diylc/components/boards/TriPadBoard.java
@@ -84,7 +84,7 @@ public class TriPadBoard extends AbstractVeroBoard {
}
g2d.setColor(stripColor);
- drawingObserver.startTrackingContinuityArea(1, true);
+ drawingObserver.startTrackingContinuityArea(true);
g2d.fillRect((int)(x + spacing - stripSize / 2), (int)(y - stripSize / 2), (int)(spacing * (spacesToDraw - 1) + stripSize),
stripSize);
drawingObserver.stopTrackingContinuityArea();
@@ -122,7 +122,7 @@ public class TriPadBoard extends AbstractVeroBoard {
}
g2d.setColor(stripColor);
- drawingObserver.startTrackingContinuityArea(1, true);
+ drawingObserver.startTrackingContinuityArea(true);
g2d.fillRect((int)(x - stripSize / 2), (int)(y + spacing - stripSize / 2), stripSize, (int)(spacing * (spacesToDraw - 1)
+ stripSize));
drawingObserver.stopTrackingContinuityArea();
diff --git a/diylc/diylc-library/src/org/diylc/components/boards/VeroBoard.java b/diylc/diylc-library/src/org/diylc/components/boards/VeroBoard.java
index 7eaec203..5d8cd16c 100644
--- a/diylc/diylc-library/src/org/diylc/components/boards/VeroBoard.java
+++ b/diylc/diylc-library/src/org/diylc/components/boards/VeroBoard.java
@@ -73,7 +73,7 @@ public class VeroBoard extends AbstractVeroBoard {
x = firstPoint.getX();
y += spacing;
g2d.setColor(stripColor);
- drawingObserver.startTrackingContinuityArea(1, true);
+ drawingObserver.startTrackingContinuityArea(true);
g2d.fillRect((int)(x + spacing / 2), (int)(y - stripSize / 2), (int)(finalSecondPoint.getX() - spacing - x), stripSize);
drawingObserver.stopTrackingContinuityArea();
g2d.setColor(stripColor.darker());
@@ -91,7 +91,7 @@ public class VeroBoard extends AbstractVeroBoard {
x += spacing;
y = firstPoint.getY();
g2d.setColor(stripColor);
- drawingObserver.startTrackingContinuityArea(1, true);
+ drawingObserver.startTrackingContinuityArea(true);
g2d.fillRect((int)(x - stripSize / 2), (int)(y + spacing / 2), stripSize, (int)(finalSecondPoint.getY() - spacing - y));
drawingObserver.stopTrackingContinuityArea();
g2d.setColor(stripColor.darker());
diff --git a/diylc/diylc-library/src/org/diylc/components/connectivity/CopperTrace.java b/diylc/diylc-library/src/org/diylc/components/connectivity/CopperTrace.java
index f1ea95eb..70cc903c 100644
--- a/diylc/diylc-library/src/org/diylc/components/connectivity/CopperTrace.java
+++ b/diylc/diylc-library/src/org/diylc/components/connectivity/CopperTrace.java
@@ -158,15 +158,10 @@ public class CopperTrace extends AbstractLeadedComponent {
}
@Override
- protected boolean isCopperArea() {
+ protected boolean IsCopperArea() {
return true;
}
- @Override
- protected int getLayerId() {
- return getLayer().getId();
- }
-
@Override
public String getControlPointNodeName(int index) {
return null;
diff --git a/diylc/diylc-library/src/org/diylc/components/connectivity/CurvedTrace.java b/diylc/diylc-library/src/org/diylc/components/connectivity/CurvedTrace.java
index 22a18845..ff3930b1 100644
--- a/diylc/diylc-library/src/org/diylc/components/connectivity/CurvedTrace.java
+++ b/diylc/diylc-library/src/org/diylc/components/connectivity/CurvedTrace.java
@@ -63,7 +63,7 @@ public class CurvedTrace extends AbstractCurvedComponent {
componentState == ComponentState.SELECTED || componentState == ComponentState.DRAGGING ? SELECTION_COLOR
: color;
g2d.setColor(curveColor);
- drawingObserver.startTrackingContinuityArea(getLayer().getId(), true);
+ drawingObserver.startTrackingContinuityArea(true);
g2d.draw(curve);
drawingObserver.stopTrackingContinuityArea();
}
diff --git a/diylc/diylc-library/src/org/diylc/components/connectivity/Eyelet.java b/diylc/diylc-library/src/org/diylc/components/connectivity/Eyelet.java
index 3a80271d..baae3e09 100644
--- a/diylc/diylc-library/src/org/diylc/components/connectivity/Eyelet.java
+++ b/diylc/diylc-library/src/org/diylc/components/connectivity/Eyelet.java
@@ -72,7 +72,7 @@ public class Eyelet extends AbstractComponent {
int holeDiameter = getClosestOdd((int) holeSize.convertToPixels());
g2d.setStroke(ObjectCache.getInstance().fetchBasicStroke(1f));
g2d.setColor(color);
- drawingObserver.startTrackingContinuityArea(1, true);
+ drawingObserver.startTrackingContinuityArea(true);
g2d.fillOval((int)(point.getX() - diameter / 2), (int)(point.getY() - diameter / 2), diameter, diameter);
drawingObserver.stopTrackingContinuityArea();
g2d.setColor(componentState == ComponentState.SELECTED || componentState == ComponentState.DRAGGING ? SELECTION_COLOR
diff --git a/diylc/diylc-library/src/org/diylc/components/connectivity/GroundFill.java b/diylc/diylc-library/src/org/diylc/components/connectivity/GroundFill.java
index b852f04d..5e1f11eb 100644
--- a/diylc/diylc-library/src/org/diylc/components/connectivity/GroundFill.java
+++ b/diylc/diylc-library/src/org/diylc/components/connectivity/GroundFill.java
@@ -73,7 +73,7 @@ public class GroundFill extends AbstractComponent {
xPoints[i] = (int)controlPoints[i].getX();
yPoints[i] = (int)controlPoints[i].getY();
}
- drawingObserver.startTrackingContinuityArea(getLayer().getId(), true);
+ drawingObserver.startTrackingContinuityArea(true);
g2d.fillPolygon(xPoints, yPoints, controlPoints.length);
drawingObserver.stopTrackingContinuityArea();
// Do not track any changes that follow because the whole board has been
diff --git a/diylc/diylc-library/src/org/diylc/components/connectivity/SolderPad.java b/diylc/diylc-library/src/org/diylc/components/connectivity/SolderPad.java
index d275c7d0..fb265cdd 100644
--- a/diylc/diylc-library/src/org/diylc/components/connectivity/SolderPad.java
+++ b/diylc/diylc-library/src/org/diylc/components/connectivity/SolderPad.java
@@ -69,7 +69,7 @@ public class SolderPad extends AbstractComponent {
double holeDiameter = getHoleSize().convertToPixels();
g2d.setColor(componentState == ComponentState.SELECTED || componentState == ComponentState.DRAGGING ? SELECTION_COLOR
: color);
- drawingObserver.startTrackingContinuityArea(getLayer().getId(), true);
+ drawingObserver.startTrackingContinuityArea(true);
if (type == Type.ROUND) {
g2d.fill(new Ellipse2D.Double(point.getX() - diameter / 2, point.getY() - diameter / 2, diameter, diameter));
} else if (type == Type.OVAL_HORIZONTAL) {
diff --git a/diylc/diylc-library/src/org/diylc/components/connectivity/TraceCut.java b/diylc/diylc-library/src/org/diylc/components/connectivity/TraceCut.java
index aa10222d..e9603ccb 100644
--- a/diylc/diylc-library/src/org/diylc/components/connectivity/TraceCut.java
+++ b/diylc/diylc-library/src/org/diylc/components/connectivity/TraceCut.java
@@ -84,7 +84,7 @@ public class TraceCut extends AbstractComponent {
int holeSpacing = getClosestOdd(getHoleSpacing().convertToPixels());
g2d.setColor(componentState == ComponentState.SELECTED || componentState == ComponentState.DRAGGING ? SELECTION_COLOR
: getBoardColor());
- drawingObserver.startTrackingContinuityArea(1, false);
+ drawingObserver.startTrackingContinuityArea(false);
if (getOrientation() == OrientationHV.VERTICAL)
g2d.fillRect((int)(point.getX() - holeSpacing / 2 - cutWidth / 2), (int)(point.getY() - size / 2 - 1), cutWidth, size + 2);
else
@@ -93,7 +93,7 @@ public class TraceCut extends AbstractComponent {
} else {
g2d.setColor(componentState == ComponentState.SELECTED || componentState == ComponentState.DRAGGING ? SELECTION_COLOR
: getBoardColor());
- drawingObserver.startTrackingContinuityArea(1, false);
+ drawingObserver.startTrackingContinuityArea(false);
g2d.fillRoundRect((int)(point.getX() - size / 2), (int)(point.getY() - size / 2), size, size, size, size);
drawingObserver.stopTrackingContinuityArea();
diff --git a/diylc/diylc-library/src/org/diylc/components/connectivity/Turret.java b/diylc/diylc-library/src/org/diylc/components/connectivity/Turret.java
index 41351e4d..ebdc300d 100644
--- a/diylc/diylc-library/src/org/diylc/components/connectivity/Turret.java
+++ b/diylc/diylc-library/src/org/diylc/components/connectivity/Turret.java
@@ -70,7 +70,7 @@ public class Turret extends AbstractComponent {
int holeDiameter = getClosestOdd((int) holeSize.convertToPixels());
g2d.setColor(color);
g2d.setStroke(ObjectCache.getInstance().fetchZoomableStroke(1f));
- drawingObserver.startTrackingContinuityArea(1, true);
+ drawingObserver.startTrackingContinuityArea(true);
g2d.fillOval((int)(point.getX() - diameter / 2), (int)(point.getY() - diameter / 2), diameter, diameter);
drawingObserver.stopTrackingContinuityArea();
g2d.setColor(componentState == ComponentState.SELECTED || componentState == ComponentState.DRAGGING ? SELECTION_COLOR
diff --git a/diylc/diylc-library/src/org/diylc/components/electromechanical/OpenJack1_4.java b/diylc/diylc-library/src/org/diylc/components/electromechanical/OpenJack1_4.java
index 2df221f8..e3daae3e 100644
--- a/diylc/diylc-library/src/org/diylc/components/electromechanical/OpenJack1_4.java
+++ b/diylc/diylc-library/src/org/diylc/components/electromechanical/OpenJack1_4.java
@@ -127,7 +127,7 @@ public class OpenJack1_4 extends AbstractMultiPartComponent {
}
g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : BASE_COLOR);
- drawingObserver.startTrackingContinuityArea(hashCode(), true);
+ drawingObserver.startTrackingContinuityArea(true);
g2d.fill(body[1]);
g2d.fill(body[2]);
if (body[3] != null)
diff --git a/diylc/diylc-library/src/org/diylc/components/electromechanical/OpenJack1_8.java b/diylc/diylc-library/src/org/diylc/components/electromechanical/OpenJack1_8.java
index 28bafb7c..e7b08966 100644
--- a/diylc/diylc-library/src/org/diylc/components/electromechanical/OpenJack1_8.java
+++ b/diylc/diylc-library/src/org/diylc/components/electromechanical/OpenJack1_8.java
@@ -127,7 +127,7 @@ public class OpenJack1_8 extends AbstractMultiPartComponent {
}
g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : BASE_COLOR);
- drawingObserver.startTrackingContinuityArea(hashCode(), true);
+ drawingObserver.startTrackingContinuityArea(true);
g2d.fill(body[1]);
g2d.fill(body[2]);
if (body[3] != null)
diff --git a/diylc/diylc-library/src/org/diylc/components/electromechanical/PilotLampHolder.java b/diylc/diylc-library/src/org/diylc/components/electromechanical/PilotLampHolder.java
index 495e41cf..7633bb65 100644
--- a/diylc/diylc-library/src/org/diylc/components/electromechanical/PilotLampHolder.java
+++ b/diylc/diylc-library/src/org/diylc/components/electromechanical/PilotLampHolder.java
@@ -123,7 +123,7 @@ public class PilotLampHolder extends AbstractMultiPartComponent {
}
g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : BASE_COLOR);
- drawingObserver.startTrackingContinuityArea(hashCode(), true);
+ drawingObserver.startTrackingContinuityArea(true);
g2d.fill(body[3]);
g2d.fill(body[4]);
diff --git a/diylc/diylc-library/src/org/diylc/components/electromechanical/RCAJack.java b/diylc/diylc-library/src/org/diylc/components/electromechanical/RCAJack.java
index 67265198..c8d0d0bb 100644
--- a/diylc/diylc-library/src/org/diylc/components/electromechanical/RCAJack.java
+++ b/diylc/diylc-library/src/org/diylc/components/electromechanical/RCAJack.java
@@ -114,7 +114,7 @@ public class RCAJack extends AbstractMultiPartComponent {
}
g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : BASE_COLOR);
- drawingObserver.startTrackingContinuityArea(hashCode(), true);
+ drawingObserver.startTrackingContinuityArea(true);
g2d.fill(body[1]);
g2d.fill(body[2]);
drawingObserver.stopTrackingContinuityArea();
diff --git a/diylc/diylc-library/src/org/diylc/components/electromechanical/RotarySelectorSwitch.java b/diylc/diylc-library/src/org/diylc/components/electromechanical/RotarySelectorSwitch.java
index 84188568..4c1e3990 100644
--- a/diylc/diylc-library/src/org/diylc/components/electromechanical/RotarySelectorSwitch.java
+++ b/diylc/diylc-library/src/org/diylc/components/electromechanical/RotarySelectorSwitch.java
@@ -121,7 +121,7 @@ public class RotarySelectorSwitch extends AbstractMultiPartComponent {
}
g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : TERMINAL_COLOR);
- drawingObserver.startTrackingContinuityArea(hashCode(), true);
+ drawingObserver.startTrackingContinuityArea(true);
for (int i = 2; i < body.length; i++)
g2d.fill(body[i]);
drawingObserver.stopTrackingContinuityArea();
diff --git a/diylc/diylc-library/src/org/diylc/components/electromechanical/RotarySwitchOpen.java b/diylc/diylc-library/src/org/diylc/components/electromechanical/RotarySwitchOpen.java
index 652eaa8e..64f994da 100644
--- a/diylc/diylc-library/src/org/diylc/components/electromechanical/RotarySwitchOpen.java
+++ b/diylc/diylc-library/src/org/diylc/components/electromechanical/RotarySwitchOpen.java
@@ -350,7 +350,7 @@ public class RotarySwitchOpen extends AbstractAngledComponent implements ISwi
g2d.drawOval((int)(p.getX() - padDiameter / 2), (int)(p.getY() - padDiameter / 2), padDiameter, padDiameter);
} else {
g2d.setColor(PAD_COLOR);
- drawingObserver.startTrackingContinuityArea(hashCode(), true);
+ drawingObserver.startTrackingContinuityArea(true);
g2d.fillOval((int)(p.getX() - padDiameter / 2), (int)(p.getY() - padDiameter / 2), padDiameter, padDiameter);
drawingObserver.stopTrackingContinuityArea();
g2d.setColor(PAD_COLOR.darker());
diff --git a/diylc/diylc-library/src/org/diylc/components/misc/CommonNode.java b/diylc/diylc-library/src/org/diylc/components/misc/CommonNode.java
index a41ff441..d53cc649 100644
--- a/diylc/diylc-library/src/org/diylc/components/misc/CommonNode.java
+++ b/diylc/diylc-library/src/org/diylc/components/misc/CommonNode.java
@@ -93,7 +93,7 @@ public class CommonNode extends AbstractComponent implements ICommonNode
}
g2d.setColor(bgColor);
- drawingObserver.startTrackingContinuityArea(text.hashCode(), true);
+ drawingObserver.startTrackingContinuityArea(true);
g2d.fill(rect);
drawingObserver.stopTrackingContinuityArea();
drawingObserver.stopTracking();
diff --git a/diylc/diylc-library/src/org/diylc/components/passive/PotentiometerPanel.java b/diylc/diylc-library/src/org/diylc/components/passive/PotentiometerPanel.java
index 4e837fa7..35f2836c 100644
--- a/diylc/diylc-library/src/org/diylc/components/passive/PotentiometerPanel.java
+++ b/diylc/diylc-library/src/org/diylc/components/passive/PotentiometerPanel.java
@@ -279,11 +279,11 @@ public class PotentiometerPanel extends AbstractPotentiometer {
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * alpha / MAX_ALPHA));
}
if (!outlineMode) {
-// if (i == 3)
-// drawingObserver.startTrackingContinuityArea(true);
+ if (i == 3)
+ drawingObserver.startTrackingContinuityArea(true);
g2d.fill(shape);
-// if (i == 3)
-// drawingObserver.stopTrackingContinuityArea();
+ if (i == 3)
+ drawingObserver.stopTrackingContinuityArea();
}
g2d.setComposite(oldComposite);
Color finalBorderColor;
diff --git a/diylc/diylc-library/src/org/diylc/components/tube/Jumbo4PinTubeSocket.java b/diylc/diylc-library/src/org/diylc/components/tube/Jumbo4PinTubeSocket.java
index fda937d1..c41191c9 100644
--- a/diylc/diylc-library/src/org/diylc/components/tube/Jumbo4PinTubeSocket.java
+++ b/diylc/diylc-library/src/org/diylc/components/tube/Jumbo4PinTubeSocket.java
@@ -248,7 +248,7 @@ public class Jumbo4PinTubeSocket extends AbstractAngledComponent {
Shape terminalShape = body[1];
g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : getTerminalColor());
- drawingObserver.startTrackingContinuityArea(hashCode(), true);
+ drawingObserver.startTrackingContinuityArea(true);
g2d.fill(terminalShape);
drawingObserver.stopTrackingContinuityArea();
diff --git a/diylc/diylc-library/src/org/diylc/components/tube/TubeSocket.java b/diylc/diylc-library/src/org/diylc/components/tube/TubeSocket.java
index 2b2b56cb..cc733bb1 100644
--- a/diylc/diylc-library/src/org/diylc/components/tube/TubeSocket.java
+++ b/diylc/diylc-library/src/org/diylc/components/tube/TubeSocket.java
@@ -287,7 +287,7 @@ public class TubeSocket extends AbstractAngledComponent {
}
g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : PIN_COLOR);
if (getMount() == Mount.CHASSIS)
- drawingObserver.startTrackingContinuityArea(hashCode(), true);
+ drawingObserver.startTrackingContinuityArea(true);
g2d.fill(pinShape);
drawingObserver.stopTrackingContinuityArea();
if (!outlineMode) {
diff --git a/diylc/diylc-swing/lib/diylc-core.jar b/diylc/diylc-swing/lib/diylc-core.jar
index 7b577c72..2754ec2f 100644
Binary files a/diylc/diylc-swing/lib/diylc-core.jar and b/diylc/diylc-swing/lib/diylc-core.jar differ
diff --git a/diylc/diylc-swing/library/main.jar b/diylc/diylc-swing/library/main.jar
index 8c8f48ed..910a532b 100644
Binary files a/diylc/diylc-swing/library/main.jar and b/diylc/diylc-swing/library/main.jar differ