diff --git a/ diy-layout-creator --username bancika@gmail.com/DIYLC/library/main.jar b/ diy-layout-creator --username bancika@gmail.com/DIYLC/library/main.jar index 7e394049..1253fc93 100644 Binary files a/ diy-layout-creator --username bancika@gmail.com/DIYLC/library/main.jar and b/ diy-layout-creator --username bancika@gmail.com/DIYLC/library/main.jar differ diff --git a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/components/AbstractLeadedComponent.java b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/components/AbstractLeadedComponent.java index 476a7ae3..b6608b0e 100644 --- a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/components/AbstractLeadedComponent.java +++ b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/components/AbstractLeadedComponent.java @@ -57,6 +57,8 @@ public abstract class AbstractLeadedComponent extends AbstractTransparentComp double distance = points[0].distance(points[1]); Shape shape = getBodyShape(); if (shape == null) { + g2d.setStroke(new BasicStroke(getLeadThickness().convertToPixels())); + g2d.setColor(getLeadColor(componentState)); g2d.drawLine(points[0].x, points[0].y, points[1].x, points[1].y); return; } @@ -85,7 +87,7 @@ public abstract class AbstractLeadedComponent extends AbstractTransparentComp g2d.draw(shape); // Draw leads. g2d.setStroke(new BasicStroke(getLeadThickness().convertToPixels())); - g2d.setColor(getLeadColor()); + g2d.setColor(getLeadColor(componentState)); g2d.drawLine((int) (shapeRect.width - distance) / 2, (int) shapeRect.height / 2, (int) ((shapeRect.width - distance) / 2 + leadLenght), (int) shapeRect.height / 2); g2d.drawLine((int) (shapeRect.width + distance) / 2, (int) shapeRect.height / 2, @@ -139,8 +141,9 @@ public abstract class AbstractLeadedComponent extends AbstractTransparentComp /** * @return default lead color. Override this method to change it. */ - protected Color getLeadColor() { - return LEAD_COLOR; + protected Color getLeadColor(ComponentState componentState) { + return componentState == ComponentState.SELECTED + || componentState == ComponentState.DRAGGING ? SELECTION_COLOR : LEAD_COLOR; } @Override diff --git a/ diy-layout-creator --username bancika@gmail.com/Library/lib/diylc.jar b/ diy-layout-creator --username bancika@gmail.com/Library/lib/diylc.jar index 5133853b..c4e64890 100644 Binary files a/ diy-layout-creator --username bancika@gmail.com/Library/lib/diylc.jar and b/ diy-layout-creator --username bancika@gmail.com/Library/lib/diylc.jar differ diff --git a/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/connectivity/CopperTrace.java b/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/connectivity/CopperTrace.java index 927fc368..6fa07c26 100644 --- a/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/connectivity/CopperTrace.java +++ b/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/connectivity/CopperTrace.java @@ -6,6 +6,7 @@ import java.awt.Graphics2D; import java.awt.Shape; import org.diylc.components.AbstractLeadedComponent; +import org.diylc.core.ComponentState; import org.diylc.core.IDIYComponent; import org.diylc.core.annotations.ComponentDescriptor; import org.diylc.core.annotations.EditableProperty; @@ -32,8 +33,9 @@ public class CopperTrace extends AbstractLeadedComponent { @Override @EditableProperty(name = "Color") - public Color getLeadColor() { - return leadColor; + public Color getLeadColor(ComponentState componentState) { + return componentState == ComponentState.SELECTED + || componentState == ComponentState.DRAGGING ? SELECTION_COLOR : leadColor; } public void setLeadColor(Color leadColor) { diff --git a/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/connectivity/Jumper.java b/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/connectivity/Jumper.java index 51c9236e..9a47eb04 100644 --- a/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/connectivity/Jumper.java +++ b/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/connectivity/Jumper.java @@ -6,8 +6,10 @@ import java.awt.Graphics2D; import java.awt.Shape; import org.diylc.components.AbstractLeadedComponent; +import org.diylc.core.ComponentState; import org.diylc.core.IDIYComponent; import org.diylc.core.annotations.ComponentDescriptor; +import org.diylc.core.annotations.EditableProperty; import org.diylc.core.measures.Size; @ComponentDescriptor(name = "Jumper", author = "Branislav Stojkovic", category = "Connectivity", instanceNamePrefix = "J", description = "", zOrder = IDIYComponent.ABOVE_BOARD) @@ -25,8 +27,10 @@ public class Jumper extends AbstractLeadedComponent { } @Override - protected Color getLeadColor() { - return COLOR; + @EditableProperty(name = "Color") + public Color getLeadColor(ComponentState componentState) { + return componentState == ComponentState.SELECTED + || componentState == ComponentState.DRAGGING ? SELECTION_COLOR : COLOR; } @Deprecated diff --git a/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/connectivity/SolderPad.java b/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/connectivity/SolderPad.java index dfdd67f7..b4d126e5 100644 --- a/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/connectivity/SolderPad.java +++ b/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/connectivity/SolderPad.java @@ -31,7 +31,8 @@ public class SolderPad extends AbstractComponent { public void draw(Graphics2D g2d, ComponentState componentState, Project project) { int diameter = getClosestOdd(size.convertToPixels()); int holeDiameter = getClosestOdd(HOLE_SIZE.convertToPixels()); - g2d.setColor(color); + g2d.setColor(componentState == ComponentState.SELECTED + || componentState == ComponentState.DRAGGING ? SELECTION_COLOR : color); g2d.fillOval(point.x - diameter / 2, point.y - diameter / 2, diameter, diameter); g2d.setColor(Constants.CANVAS_COLOR); g2d.fillOval(point.x - holeDiameter / 2, point.y - holeDiameter / 2, holeDiameter, diff --git a/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/connectivity/TraceCut.java b/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/connectivity/TraceCut.java index f172c074..298ac8dd 100644 --- a/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/connectivity/TraceCut.java +++ b/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/connectivity/TraceCut.java @@ -21,6 +21,7 @@ public class TraceCut extends AbstractSinglePointComponent { public static Size SIZE = new Size(0.085d, SizeUnit.in); public static Color FILL_COLOR = Color.white; public static Color BORDER_COLOR = Color.red; + public static Color SELECTION_COLOR = Color.blue; private Size size = SIZE; private Color fillColor = FILL_COLOR; @@ -32,7 +33,8 @@ public class TraceCut extends AbstractSinglePointComponent { int dotDiameter = (size / 3 * 2) / 2 * 2 + 1; g2d.setColor(fillColor); g2d.fillRect(point.x - size / 2, point.y - size / 2, size, size); - g2d.setColor(borderColor); + g2d.setColor(componentState == ComponentState.SELECTED + || componentState == ComponentState.DRAGGING ? SELECTION_COLOR : borderColor); g2d.setStroke(new BasicStroke(1)); g2d.drawRect(point.x - size / 2, point.y - size / 2, size, size); g2d