From 8364d05a947369c505df8d57f4356c4c69692794 Mon Sep 17 00:00:00 2001 From: bancika Date: Thu, 26 Mar 2020 18:02:16 +0100 Subject: [PATCH] Added ability to set board size explicitly by typing in dimensions, instead of dragging two control points --- .../src/org/diylc/core/AllowAllValidator.java | 2 +- .../src/org/diylc/core/IDIYComponent.java | 2 +- .../org/diylc/core/IPropertyValidator.java | 5 +- .../src/org/diylc/core/Project.java | 6 +- .../annotations/PositiveMeasureValidator.java | 6 +- .../PositiveNonZeroMeasureValidator.java | 6 +- .../diylc/core/measures/AbstractMeasure.java | 9 - .../src/org/diylc/core/measures/Size.java | 5 - .../src/org/diylc/presenter/update.xml | 4 + diylc/diylc-library/lib/diylc-core.jar | Bin 298598 -> 299009 bytes .../components/boards/AbstractBoard.java | 84 +++- .../diylc/components/boards/BlankBoard.java | 19 +- .../components/boards/BoardModeValidator.java | 19 + .../diylc/components/boards/EyeletBoard.java | 12 +- .../components/boards/MarshallPerfBoard.java | 12 +- .../diylc/components/boards/PerfBoard.java | 12 +- .../diylc/components/boards/TriPadBoard.java | 24 +- .../diylc/components/boards/VeroBoard.java | 24 +- .../diylc/components/tube/DiodeSymbol.java | 2 +- diylc/diylc-swing/lib/diylc-core.jar | Bin 298598 -> 299009 bytes diylc/diylc-swing/library/main.jar | Bin 632036 -> 635589 bytes .../diylc/swing/gui/editor/MeasureEditor.java | 4 +- .../gui/editor/PropertyEditorDialog.java | 396 +++++++++--------- 23 files changed, 379 insertions(+), 274 deletions(-) create mode 100644 diylc/diylc-library/src/org/diylc/components/boards/BoardModeValidator.java diff --git a/diylc/diylc-core/src/org/diylc/core/AllowAllValidator.java b/diylc/diylc-core/src/org/diylc/core/AllowAllValidator.java index 943fa509..bc060dca 100644 --- a/diylc/diylc-core/src/org/diylc/core/AllowAllValidator.java +++ b/diylc/diylc-core/src/org/diylc/core/AllowAllValidator.java @@ -29,5 +29,5 @@ package org.diylc.core; public class AllowAllValidator implements IPropertyValidator { @Override - public void validate(Object value) throws ValidationException {} + public void validate(Object owner, Object value) throws ValidationException {} } diff --git a/diylc/diylc-core/src/org/diylc/core/IDIYComponent.java b/diylc/diylc-core/src/org/diylc/core/IDIYComponent.java index 04a9dadf..0d5c8681 100644 --- a/diylc/diylc-core/src/org/diylc/core/IDIYComponent.java +++ b/diylc/diylc-core/src/org/diylc/core/IDIYComponent.java @@ -45,7 +45,7 @@ import org.diylc.core.annotations.EditableProperty; * * @param type of component values, e.g. Resistance for resistors or String for transistors. */ -public interface IDIYComponent extends Serializable { +public interface IDIYComponent extends Serializable, Cloneable { public static final int CHASSIS = 1; public static final int BOARD = 2; diff --git a/diylc/diylc-core/src/org/diylc/core/IPropertyValidator.java b/diylc/diylc-core/src/org/diylc/core/IPropertyValidator.java index bc312f4e..15b8fa91 100644 --- a/diylc/diylc-core/src/org/diylc/core/IPropertyValidator.java +++ b/diylc/diylc-core/src/org/diylc/core/IPropertyValidator.java @@ -28,9 +28,10 @@ package org.diylc.core; */ public interface IPropertyValidator { - /** + /** + * @param owner * @param value * @throws ValidationException if validation fails. Message will contain the reason. */ - void validate(Object value) throws ValidationException; + void validate(Object owner, Object value) throws ValidationException; } diff --git a/diylc/diylc-core/src/org/diylc/core/Project.java b/diylc/diylc-core/src/org/diylc/core/Project.java index 428f368a..627db442 100644 --- a/diylc/diylc-core/src/org/diylc/core/Project.java +++ b/diylc/diylc-core/src/org/diylc/core/Project.java @@ -45,7 +45,7 @@ import org.diylc.core.measures.SizeUnit; * * @author Branislav Stojkovic */ -public class Project implements Serializable { +public class Project implements Serializable, Cloneable { private static final long serialVersionUID = 1L; @@ -292,8 +292,8 @@ public class Project implements Serializable { public static class SpacingValidator extends PositiveMeasureValidator { @Override - public void validate(Object value) throws ValidationException { - super.validate(value); + public void validate(Object owner, Object value) throws ValidationException { + super.validate(owner, value); Size size = (Size) value; if (size.compareTo(new Size(0.1d, SizeUnit.mm)) < 0) { throw new ValidationException("must be at least 0.1mm"); diff --git a/diylc/diylc-core/src/org/diylc/core/annotations/PositiveMeasureValidator.java b/diylc/diylc-core/src/org/diylc/core/annotations/PositiveMeasureValidator.java index 9938888d..b9eb6743 100644 --- a/diylc/diylc-core/src/org/diylc/core/annotations/PositiveMeasureValidator.java +++ b/diylc/diylc-core/src/org/diylc/core/annotations/PositiveMeasureValidator.java @@ -21,8 +21,8 @@ */ package org.diylc.core.annotations; -import org.diylc.core.IPropertyValidator; -import org.diylc.core.ValidationException; +import org.diylc.core.IPropertyValidator; +import org.diylc.core.ValidationException; import org.diylc.core.measures.AbstractMeasure; /** @@ -34,7 +34,7 @@ import org.diylc.core.measures.AbstractMeasure; public class PositiveMeasureValidator implements IPropertyValidator { @Override - public void validate(Object value) throws ValidationException { + public void validate(Object owner, Object value) throws ValidationException { if (value == null) return; if (value instanceof AbstractMeasure) { diff --git a/diylc/diylc-core/src/org/diylc/core/annotations/PositiveNonZeroMeasureValidator.java b/diylc/diylc-core/src/org/diylc/core/annotations/PositiveNonZeroMeasureValidator.java index c0c3f2d6..fc4479c1 100644 --- a/diylc/diylc-core/src/org/diylc/core/annotations/PositiveNonZeroMeasureValidator.java +++ b/diylc/diylc-core/src/org/diylc/core/annotations/PositiveNonZeroMeasureValidator.java @@ -21,8 +21,8 @@ */ package org.diylc.core.annotations; -import org.diylc.core.IPropertyValidator; -import org.diylc.core.ValidationException; +import org.diylc.core.IPropertyValidator; +import org.diylc.core.ValidationException; import org.diylc.core.measures.AbstractMeasure; /** @@ -34,7 +34,7 @@ import org.diylc.core.measures.AbstractMeasure; public class PositiveNonZeroMeasureValidator implements IPropertyValidator { @Override - public void validate(Object value) throws ValidationException { + public void validate(Object owner, Object value) throws ValidationException { if (value == null) return; if (value instanceof AbstractMeasure) { diff --git a/diylc/diylc-core/src/org/diylc/core/measures/AbstractMeasure.java b/diylc/diylc-core/src/org/diylc/core/measures/AbstractMeasure.java index 2a599e0e..83a45b58 100644 --- a/diylc/diylc-core/src/org/diylc/core/measures/AbstractMeasure.java +++ b/diylc/diylc-core/src/org/diylc/core/measures/AbstractMeasure.java @@ -53,15 +53,6 @@ public class AbstractMeasure> implements Serializ public T getUnit() { return unit; - } - - /*** - * Flag that designates if measure value should be converted between different units. eg. 2.54mm <-> 0.1in - * - * @return - */ - public boolean isConvertible() { - return false; } @Override diff --git a/diylc/diylc-core/src/org/diylc/core/measures/Size.java b/diylc/diylc-core/src/org/diylc/core/measures/Size.java index 7536e291..378f64b0 100644 --- a/diylc/diylc-core/src/org/diylc/core/measures/Size.java +++ b/diylc/diylc-core/src/org/diylc/core/measures/Size.java @@ -65,10 +65,5 @@ public class Size extends AbstractMeasure implements Comparable @Override public int compareTo(Size o) { return new Double(value * unit.getFactor()).compareTo(o.getValue() * o.getUnit().getFactor()); - } - - @Override - public boolean isConvertible() { - return true; } } diff --git a/diylc/diylc-core/src/org/diylc/presenter/update.xml b/diylc/diylc-core/src/org/diylc/presenter/update.xml index db3ed0d5..d9e3fe72 100644 --- a/diylc/diylc-core/src/org/diylc/presenter/update.xml +++ b/diylc/diylc-core/src/org/diylc/presenter/update.xml @@ -2710,6 +2710,10 @@ NEW_FEATURE Added "Tape Measure" component for measuring the distance between any two points on the drawing + + NEW_FEATURE + Added ability to set board size explicitly by typing in dimensions, instead of dragging two control points + NEW_FEATURE New app bundle for Mac OS using appbundler instead of javabundler diff --git a/diylc/diylc-library/lib/diylc-core.jar b/diylc/diylc-library/lib/diylc-core.jar index e341f4bc1133341f0eece05dcd2e8933a01292be..d864ccbeb8dfdb05e6ab49144395df3eb6ac7cd4 100644 GIT binary patch delta 35145 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 Hg%|!G$?aE? delta 34618 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 diff --git a/diylc/diylc-library/src/org/diylc/components/boards/AbstractBoard.java b/diylc/diylc-library/src/org/diylc/components/boards/AbstractBoard.java index d3a9ad05..33ec9943 100644 --- a/diylc/diylc-library/src/org/diylc/components/boards/AbstractBoard.java +++ b/diylc/diylc-library/src/org/diylc/components/boards/AbstractBoard.java @@ -65,11 +65,17 @@ public abstract class AbstractBoard extends AbstractTransparentComponent protected CoordinateOrigin coordinateOrigin = CoordinateOrigin.Top_Left; protected CoordinateDisplay coordinateDisplay = CoordinateDisplay.One_Side; protected CoordinateType yType = CoordinateType.Letters; + + protected Size length; + protected Size width; + protected BoardSizingMode mode = BoardSizingMode.TwoPoints; @Override public void draw(Graphics2D g2d, ComponentState componentState, boolean outlineMode, Project project, IDrawingObserver drawingObserver) { g2d.setStroke(ObjectCache.getInstance().fetchBasicStroke(1)); + + Point finalSecondPoint = getFinalSecondPoint(); Composite oldComposite = g2d.getComposite(); // render as transparent when dragging @@ -78,7 +84,7 @@ public abstract class AbstractBoard extends AbstractTransparentComponent g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * alpha / MAX_ALPHA)); } g2d.setColor(boardColor); - g2d.fillRect(firstPoint.x, firstPoint.y, secondPoint.x - firstPoint.x, secondPoint.y - firstPoint.y); + g2d.fillRect(firstPoint.x, firstPoint.y, finalSecondPoint.x - firstPoint.x, finalSecondPoint.y - firstPoint.y); g2d.setComposite(oldComposite); // Do not track any changes that follow because the whole board has been @@ -86,7 +92,17 @@ public abstract class AbstractBoard extends AbstractTransparentComponent drawingObserver.stopTracking(); g2d.setColor(componentState == ComponentState.SELECTED || componentState == ComponentState.DRAGGING ? SELECTION_COLOR : borderColor); - g2d.drawRect(firstPoint.x, firstPoint.y, secondPoint.x - firstPoint.x, secondPoint.y - firstPoint.y); + g2d.drawRect(firstPoint.x, firstPoint.y, finalSecondPoint.x - firstPoint.x, finalSecondPoint.y - firstPoint.y); + } + + protected Point getFinalSecondPoint() { + Point finalSecondPoint; + if (getMode() == BoardSizingMode.TwoPoints) + finalSecondPoint = secondPoint; + else + finalSecondPoint = new Point((int)(firstPoint.x + getLength().convertToPixels()), + (int)(firstPoint.y + getWidth().convertToPixels())); + return finalSecondPoint; } protected void drawCoordinates(Graphics2D g2d, int spacing, Project project) { @@ -97,6 +113,8 @@ public abstract class AbstractBoard extends AbstractTransparentComponent int halfSpace = spacing / 2; CoordinateOrigin origin = getCoordinateOrigin(); + Point finalSecondPoint = getFinalSecondPoint(); + if (getCoordinateDisplay() != CoordinateDisplay.None) { int range; int yOffset; @@ -104,12 +122,12 @@ public abstract class AbstractBoard extends AbstractTransparentComponent Point drawPoint = new Point(firstPoint); if (origin == CoordinateOrigin.Top_Left || origin == CoordinateOrigin.Top_Right) { - range = (int) ((secondPoint.y - firstPoint.y + halfSpace) / spacing); + range = (int) ((finalSecondPoint.y - firstPoint.y + halfSpace) / spacing); yOffset = spacing; } else { - range = (int) ((secondPoint.y - firstPoint.y + halfSpace) / spacing); + range = (int) ((finalSecondPoint.y - firstPoint.y + halfSpace) / spacing); yOffset = -spacing; - drawPoint.y = secondPoint.y; + drawPoint.y = finalSecondPoint.y; } for (int c = 1; c < range; c++) { @@ -122,7 +140,7 @@ public abstract class AbstractBoard extends AbstractTransparentComponent HorizontalAlignment.LEFT, VerticalAlignment.CENTER); if (getCoordinateDisplay() == CoordinateDisplay.Both_Sides) { StringUtils.drawCenteredText(g2d, label, - secondPoint.x - xOffset, drawPoint.y, + finalSecondPoint.x - xOffset, drawPoint.y, HorizontalAlignment.RIGHT, VerticalAlignment.CENTER); } } @@ -135,12 +153,12 @@ public abstract class AbstractBoard extends AbstractTransparentComponent Point drawPoint = new Point(firstPoint); if (origin == CoordinateOrigin.Top_Left || origin == CoordinateOrigin.Bottom_Left) { - range = (int) ((secondPoint.x - firstPoint.x + halfSpace) / spacing); + range = (int) ((finalSecondPoint.x - firstPoint.x + halfSpace) / spacing); xOffset = spacing; } else { - range = (int) ((secondPoint.x - firstPoint.x + halfSpace) / spacing); + range = (int) ((finalSecondPoint.x - firstPoint.x + halfSpace) / spacing); xOffset = -spacing; - drawPoint.x = secondPoint.x; + drawPoint.x = finalSecondPoint.x; } for (int c = 1; c < range; c++) { @@ -152,7 +170,7 @@ public abstract class AbstractBoard extends AbstractTransparentComponent HorizontalAlignment.CENTER, VerticalAlignment.TOP); if (getCoordinateDisplay() == CoordinateDisplay.Both_Sides) { StringUtils.drawCenteredText(g2d, label, - drawPoint.x, (int) (secondPoint.y - COORDINATE_FONT_SIZE), + drawPoint.x, (int) (finalSecondPoint.y - COORDINATE_FONT_SIZE), HorizontalAlignment.CENTER, VerticalAlignment.BOTTOM); } } @@ -263,7 +281,7 @@ public abstract class AbstractBoard extends AbstractTransparentComponent @Override public VisibilityPolicy getControlPointVisibilityPolicy(int index) { - return VisibilityPolicy.WHEN_SELECTED; + return getMode() == BoardSizingMode.TwoPoints ? VisibilityPolicy.WHEN_SELECTED : VisibilityPolicy.NEVER; } @Override @@ -285,7 +303,36 @@ public abstract class AbstractBoard extends AbstractTransparentComponent public void setValue(String value) { this.value = value; } + + @EditableProperty(name = "Explicit Length", validatorClass = BoardModeValidator.class) + public Size getLength() { + return length; + } + + public void setLength(Size length) { + this.length = length; + } + + @EditableProperty(name = "Explicit Width", validatorClass = BoardModeValidator.class) + public Size getWidth() { + return width; + } + + public void setWidth(Size width) { + this.width = width; + } + @EditableProperty(name = "Sizing Mode") + public BoardSizingMode getMode() { + if (mode == null) + mode = BoardSizingMode.TwoPoints; + return mode; + } + + public void setMode(BoardSizingMode mode) { + this.mode = mode; + } + public static enum CoordinateType { Letters, Numbers } @@ -307,4 +354,19 @@ public abstract class AbstractBoard extends AbstractTransparentComponent return super.toString().replace('_', ' '); }; } + + public static enum BoardSizingMode { + TwoPoints("Opposing Points"), Explicit("Explicit Dimensions"); + + private String label; + + private BoardSizingMode(String label) { + this.label = label; + } + + @Override + public String toString() { + return label; + } + } } diff --git a/diylc/diylc-library/src/org/diylc/components/boards/BlankBoard.java b/diylc/diylc-library/src/org/diylc/components/boards/BlankBoard.java index 40ae0f00..300a21ed 100644 --- a/diylc/diylc-library/src/org/diylc/components/boards/BlankBoard.java +++ b/diylc/diylc-library/src/org/diylc/components/boards/BlankBoard.java @@ -25,6 +25,7 @@ import java.awt.AlphaComposite; import java.awt.Color; import java.awt.Composite; import java.awt.Graphics2D; +import java.awt.Point; import java.awt.Shape; import org.diylc.common.ObjectCache; @@ -57,12 +58,14 @@ public class BlankBoard extends AbstractBoard { @Override public void draw(Graphics2D g2d, ComponentState componentState, boolean outlineMode, Project project, - IDrawingObserver drawingObserver) { + IDrawingObserver drawingObserver) { + Point finalSecondPoint = getFinalSecondPoint(); + Shape clip = g2d.getClip(); - if (checkPointsClipped(clip) && !clip.contains(firstPoint.x, secondPoint.y) - && !clip.contains(secondPoint.x, firstPoint.y)) { + if (checkPointsClipped(clip) && !clip.contains(firstPoint.x, finalSecondPoint.y) + && !clip.contains(finalSecondPoint.x, firstPoint.y)) { return; - } + } g2d.setStroke(ObjectCache.getInstance().fetchBasicStroke(1)); if (componentState != ComponentState.DRAGGING) { @@ -72,9 +75,9 @@ public class BlankBoard extends AbstractBoard { } g2d.setColor(boardColor); if (getType() == Type.SQUARE) - g2d.fillRect(firstPoint.x, firstPoint.y, secondPoint.x - firstPoint.x, secondPoint.y - firstPoint.y); + g2d.fillRect(firstPoint.x, firstPoint.y, finalSecondPoint.x - firstPoint.x, finalSecondPoint.y - firstPoint.y); else - g2d.fillOval(firstPoint.x, firstPoint.y, secondPoint.x - firstPoint.x, secondPoint.y - firstPoint.y); + g2d.fillOval(firstPoint.x, firstPoint.y, finalSecondPoint.x - firstPoint.x, finalSecondPoint.y - firstPoint.y); g2d.setComposite(oldComposite); } // Do not track any changes that follow because the whole board has been @@ -83,9 +86,9 @@ public class BlankBoard extends AbstractBoard { g2d.setColor(componentState == ComponentState.SELECTED || componentState == ComponentState.DRAGGING ? SELECTION_COLOR : borderColor); if (getType() == Type.SQUARE) - g2d.drawRect(firstPoint.x, firstPoint.y, secondPoint.x - firstPoint.x, secondPoint.y - firstPoint.y); + g2d.drawRect(firstPoint.x, firstPoint.y, finalSecondPoint.x - firstPoint.x, finalSecondPoint.y - firstPoint.y); else - g2d.drawOval(firstPoint.x, firstPoint.y, secondPoint.x - firstPoint.x, secondPoint.y - firstPoint.y); + g2d.drawOval(firstPoint.x, firstPoint.y, finalSecondPoint.x - firstPoint.x, finalSecondPoint.y - firstPoint.y); } @Override diff --git a/diylc/diylc-library/src/org/diylc/components/boards/BoardModeValidator.java b/diylc/diylc-library/src/org/diylc/components/boards/BoardModeValidator.java new file mode 100644 index 00000000..e3ef4c24 --- /dev/null +++ b/diylc/diylc-library/src/org/diylc/components/boards/BoardModeValidator.java @@ -0,0 +1,19 @@ +package org.diylc.components.boards; + +import org.diylc.components.boards.AbstractBoard.BoardSizingMode; +import org.diylc.core.IPropertyValidator; +import org.diylc.core.ValidationException; +import org.diylc.core.measures.Size; + +public class BoardModeValidator implements IPropertyValidator { + + public BoardModeValidator() {} + + @Override + public void validate(Object owner, Object value) throws ValidationException { + AbstractBoard board = (AbstractBoard)owner; + Size size = (Size)value; + if (board.getMode() == BoardSizingMode.Explicit && (value == null || size.getValue() == null || size.getUnit() == null)) + throw new ValidationException("Dimensions are required when mode is set to " + BoardSizingMode.Explicit); + } +} \ No newline at end of file diff --git a/diylc/diylc-library/src/org/diylc/components/boards/EyeletBoard.java b/diylc/diylc-library/src/org/diylc/components/boards/EyeletBoard.java index d47e9999..66dff972 100644 --- a/diylc/diylc-library/src/org/diylc/components/boards/EyeletBoard.java +++ b/diylc/diylc-library/src/org/diylc/components/boards/EyeletBoard.java @@ -68,10 +68,12 @@ public class EyeletBoard extends AbstractBoard { @Override public void draw(Graphics2D g2d, ComponentState componentState, boolean outlineMode, Project project, - IDrawingObserver drawingObserver) { + IDrawingObserver drawingObserver) { + Point finalSecondPoint = getFinalSecondPoint(); + Shape clip = g2d.getClip(); - if (checkPointsClipped(clip) && !clip.contains(firstPoint.x, secondPoint.y) - && !clip.contains(secondPoint.x, firstPoint.y)) { + if (checkPointsClipped(clip) && !clip.contains(firstPoint.x, finalSecondPoint.y) + && !clip.contains(finalSecondPoint.x, firstPoint.y)) { return; } super.draw(g2d, componentState, outlineMode, project, drawingObserver); @@ -84,10 +86,10 @@ public class EyeletBoard extends AbstractBoard { int holeDiameter = getClosestOdd((int) HOLE_SIZE.convertToPixels()); int spacing = (int) this.spacing.convertToPixels(); - while (p.y < secondPoint.y - spacing) { + while (p.y < finalSecondPoint.y - spacing) { p.x = firstPoint.x; p.y += spacing; - while (p.x < secondPoint.x - spacing - diameter) { + while (p.x < finalSecondPoint.x - spacing - diameter) { p.x += spacing; g2d.setColor(eyeletColor); g2d.fillOval(p.x - diameter / 2, p.y - diameter / 2, diameter, diameter); diff --git a/diylc/diylc-library/src/org/diylc/components/boards/MarshallPerfBoard.java b/diylc/diylc-library/src/org/diylc/components/boards/MarshallPerfBoard.java index 4a0eda81..fed20b27 100644 --- a/diylc/diylc-library/src/org/diylc/components/boards/MarshallPerfBoard.java +++ b/diylc/diylc-library/src/org/diylc/components/boards/MarshallPerfBoard.java @@ -66,10 +66,12 @@ public class MarshallPerfBoard extends AbstractBoard { @Override public void draw(Graphics2D g2d, ComponentState componentState, boolean outlineMode, Project project, - IDrawingObserver drawingObserver) { + IDrawingObserver drawingObserver) { + Point finalSecondPoint = getFinalSecondPoint(); + Shape clip = g2d.getClip(); - if (checkPointsClipped(clip) && !clip.contains(firstPoint.x, secondPoint.y) - && !clip.contains(secondPoint.x, firstPoint.y)) { + if (checkPointsClipped(clip) && !clip.contains(firstPoint.x, finalSecondPoint.y) + && !clip.contains(finalSecondPoint.x, firstPoint.y)) { return; } super.draw(g2d, componentState, outlineMode, project, drawingObserver); @@ -81,10 +83,10 @@ public class MarshallPerfBoard extends AbstractBoard { int holeDiameter = getClosestOdd((int) HOLE_SIZE.convertToPixels()); int spacing = (int) this.spacing.convertToPixels(); - while (p.y < secondPoint.y - spacing) { + while (p.y < finalSecondPoint.y - spacing) { p.x = firstPoint.x; p.y += spacing; - while (p.x < secondPoint.x - spacing - holeDiameter) { + while (p.x < finalSecondPoint.x - spacing - holeDiameter) { p.x += spacing; g2d.setColor(Constants.CANVAS_COLOR); g2d.fillOval(p.x - holeDiameter / 2, p.y - holeDiameter / 2, holeDiameter, holeDiameter); diff --git a/diylc/diylc-library/src/org/diylc/components/boards/PerfBoard.java b/diylc/diylc-library/src/org/diylc/components/boards/PerfBoard.java index a88f7c8c..905b0c3a 100644 --- a/diylc/diylc-library/src/org/diylc/components/boards/PerfBoard.java +++ b/diylc/diylc-library/src/org/diylc/components/boards/PerfBoard.java @@ -61,10 +61,12 @@ public class PerfBoard extends AbstractBoard { @Override public void draw(Graphics2D g2d, ComponentState componentState, boolean outlineMode, Project project, - IDrawingObserver drawingObserver) { + IDrawingObserver drawingObserver) { + Point finalSecondPoint = getFinalSecondPoint(); + Shape clip = g2d.getClip(); - if (checkPointsClipped(clip) && !clip.contains(firstPoint.x, secondPoint.y) - && !clip.contains(secondPoint.x, firstPoint.y)) { + if (checkPointsClipped(clip) && !clip.contains(firstPoint.x, finalSecondPoint.y) + && !clip.contains(finalSecondPoint.x, firstPoint.y)) { return; } super.draw(g2d, componentState, outlineMode, project, drawingObserver); @@ -77,10 +79,10 @@ public class PerfBoard extends AbstractBoard { int holeDiameter = getClosestOdd((int) HOLE_SIZE.convertToPixels()); int spacing = (int) this.spacing.convertToPixels(); - while (p.y < secondPoint.y - spacing) { + while (p.y < finalSecondPoint.y - spacing) { p.x = firstPoint.x; p.y += spacing; - while (p.x < secondPoint.x - spacing - diameter) { + while (p.x < finalSecondPoint.x - spacing - diameter) { p.x += spacing; g2d.setColor(padColor); g2d.fillOval(p.x - diameter / 2, p.y - diameter / 2, diameter, diameter); 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 b2058def..a9c95edd 100644 --- a/diylc/diylc-library/src/org/diylc/components/boards/TriPadBoard.java +++ b/diylc/diylc-library/src/org/diylc/components/boards/TriPadBoard.java @@ -64,10 +64,12 @@ public class TriPadBoard extends AbstractBoard { @Override public void draw(Graphics2D g2d, ComponentState componentState, boolean outlineMode, Project project, - IDrawingObserver drawingObserver) { + IDrawingObserver drawingObserver) { + Point finalSecondPoint = getFinalSecondPoint(); + Shape clip = g2d.getClip(); - if (checkPointsClipped(clip) && !clip.contains(firstPoint.x, secondPoint.y) - && !clip.contains(secondPoint.x, firstPoint.y)) { + if (checkPointsClipped(clip) && !clip.contains(firstPoint.x, finalSecondPoint.y) + && !clip.contains(finalSecondPoint.x, firstPoint.y)) { return; } super.draw(g2d, componentState, outlineMode, project, drawingObserver); @@ -82,13 +84,13 @@ public class TriPadBoard extends AbstractBoard { int spacing = (int) this.spacing.convertToPixels(); if (orientation == OrientationHV.HORIZONTAL) { - while (p.y < secondPoint.y - spacing) { + while (p.y < finalSecondPoint.y - spacing) { p.x = firstPoint.x; p.y += spacing; - while (p.x + spacing < secondPoint.x) { + while (p.x + spacing < finalSecondPoint.x) { - int remainingSpace = secondPoint.x - p.x; + int remainingSpace = finalSecondPoint.x - p.x; int spacesToDraw = stripSpan; if (remainingSpace < (stripSize + (stripSpan * spacing))) { @@ -111,7 +113,7 @@ public class TriPadBoard extends AbstractBoard { // draw holes p.x = firstPoint.x; - while (p.x < secondPoint.x - spacing - holeSize) { + while (p.x < finalSecondPoint.x - spacing - holeSize) { p.x += spacing; g2d.setColor(Constants.CANVAS_COLOR); g2d.fillOval(p.x - holeSize / 2, p.y - holeSize / 2, holeSize, holeSize); @@ -120,13 +122,13 @@ public class TriPadBoard extends AbstractBoard { } } } else { - while (p.x < secondPoint.x - spacing) { + while (p.x < finalSecondPoint.x - spacing) { p.x += spacing; p.y = firstPoint.y; - while (p.y + spacing < secondPoint.y) { + while (p.y + spacing < finalSecondPoint.y) { - int remainingSpace = secondPoint.y - p.y; + int remainingSpace = finalSecondPoint.y - p.y; int spacesToDraw = stripSpan; if (remainingSpace < (stripSize + (stripSpan * spacing))) { @@ -148,7 +150,7 @@ public class TriPadBoard extends AbstractBoard { // draw holes p.y = firstPoint.y; - while (p.y < secondPoint.y - spacing - holeSize) { + while (p.y < finalSecondPoint.y - spacing - holeSize) { p.y += spacing; g2d.setColor(Constants.CANVAS_COLOR); g2d.fillOval(p.x - holeSize / 2, p.y - holeSize / 2, holeSize, holeSize); 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 c3816130..32298eb4 100644 --- a/diylc/diylc-library/src/org/diylc/components/boards/VeroBoard.java +++ b/diylc/diylc-library/src/org/diylc/components/boards/VeroBoard.java @@ -64,10 +64,12 @@ public class VeroBoard extends AbstractBoard { @Override public void draw(Graphics2D g2d, ComponentState componentState, boolean outlineMode, Project project, - IDrawingObserver drawingObserver) { + IDrawingObserver drawingObserver) { + Point finalSecondPoint = getFinalSecondPoint(); + Shape clip = g2d.getClip(); - if (checkPointsClipped(clip) && !clip.contains(firstPoint.x, secondPoint.y) - && !clip.contains(secondPoint.x, firstPoint.y)) { + if (checkPointsClipped(clip) && !clip.contains(firstPoint.x, finalSecondPoint.y) + && !clip.contains(finalSecondPoint.x, firstPoint.y)) { return; } super.draw(g2d, componentState, outlineMode, project, drawingObserver); @@ -82,16 +84,16 @@ public class VeroBoard extends AbstractBoard { int spacing = (int) this.spacing.convertToPixels(); if (orientation == OrientationHV.HORIZONTAL) { - while (p.y < secondPoint.y - spacing) { + while (p.y < finalSecondPoint.y - spacing) { p.x = firstPoint.x; p.y += spacing; g2d.setColor(stripColor); drawingObserver.startTrackingContinuityArea(true); - g2d.fillRect(p.x + spacing / 2, p.y - stripSize / 2, secondPoint.x - spacing - p.x, stripSize); + g2d.fillRect(p.x + spacing / 2, p.y - stripSize / 2, finalSecondPoint.x - spacing - p.x, stripSize); drawingObserver.stopTrackingContinuityArea(); g2d.setColor(stripColor.darker()); - g2d.drawRect(p.x + spacing / 2, p.y - stripSize / 2, secondPoint.x - spacing - p.x, stripSize); - while (p.x < secondPoint.x - spacing - holeSize) { + g2d.drawRect(p.x + spacing / 2, p.y - stripSize / 2, finalSecondPoint.x - spacing - p.x, stripSize); + while (p.x < finalSecondPoint.x - spacing - holeSize) { p.x += spacing; g2d.setColor(Constants.CANVAS_COLOR); g2d.fillOval(p.x - holeSize / 2, p.y - holeSize / 2, holeSize, holeSize); @@ -100,16 +102,16 @@ public class VeroBoard extends AbstractBoard { } } } else { - while (p.x < secondPoint.x - spacing) { + while (p.x < finalSecondPoint.x - spacing) { p.x += spacing; p.y = firstPoint.y; g2d.setColor(stripColor); drawingObserver.startTrackingContinuityArea(true); - g2d.fillRect(p.x - stripSize / 2, p.y + spacing / 2, stripSize, secondPoint.y - spacing - p.y); + g2d.fillRect(p.x - stripSize / 2, p.y + spacing / 2, stripSize, finalSecondPoint.y - spacing - p.y); drawingObserver.stopTrackingContinuityArea(); g2d.setColor(stripColor.darker()); - g2d.drawRect(p.x - stripSize / 2, p.y + spacing / 2, stripSize, secondPoint.y - spacing - p.y); - while (p.y < secondPoint.y - spacing - holeSize) { + g2d.drawRect(p.x - stripSize / 2, p.y + spacing / 2, stripSize, finalSecondPoint.y - spacing - p.y); + while (p.y < finalSecondPoint.y - spacing - holeSize) { p.y += spacing; g2d.setColor(Constants.CANVAS_COLOR); g2d.fillOval(p.x - holeSize / 2, p.y - holeSize / 2, holeSize, holeSize); diff --git a/diylc/diylc-library/src/org/diylc/components/tube/DiodeSymbol.java b/diylc/diylc-library/src/org/diylc/components/tube/DiodeSymbol.java index 3e02c889..2a93fcae 100644 --- a/diylc/diylc-library/src/org/diylc/components/tube/DiodeSymbol.java +++ b/diylc/diylc-library/src/org/diylc/components/tube/DiodeSymbol.java @@ -193,7 +193,7 @@ public class DiodeSymbol extends AbstractTubeSymbol { public class HeaterValidator implements IPropertyValidator { @Override - public void validate(Object value) throws ValidationException { + public void validate(Object owner, Object value) throws ValidationException { if (value != null && value instanceof Boolean) { boolean b = (Boolean) value; if (!b && getDirectlyHeated()) { diff --git a/diylc/diylc-swing/lib/diylc-core.jar b/diylc/diylc-swing/lib/diylc-core.jar index e341f4bc1133341f0eece05dcd2e8933a01292be..d864ccbeb8dfdb05e6ab49144395df3eb6ac7cd4 100644 GIT binary patch delta 35145 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 Hg%|!G$?aE? delta 34618 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 diff --git a/diylc/diylc-swing/library/main.jar b/diylc/diylc-swing/library/main.jar index 413e7255351967d2817627660f5bfcab59da7360..8acaf70499f2970aafe0ad4984f1c9976bcf3f7d 100644 GIT binary patch delta 43258 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 delta 39845 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

?~(R-KL;-6yg9ohm1@Ybtx2UqoC_Tc;ZXxhPwg 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 TO7RIZ3NtdN16#4SK+_ojasRJ> diff --git a/diylc/diylc-swing/src/org/diylc/swing/gui/editor/MeasureEditor.java b/diylc/diylc-swing/src/org/diylc/swing/gui/editor/MeasureEditor.java index 97d07b3e..526e023b 100644 --- a/diylc/diylc-swing/src/org/diylc/swing/gui/editor/MeasureEditor.java +++ b/diylc/diylc-swing/src/org/diylc/swing/gui/editor/MeasureEditor.java @@ -89,7 +89,7 @@ public class MeasureEditor extends Container { try { Constructor ctor = property.getType().getConstructors()[0]; Double newValue = valueField.getValue(); - if (newValue != null && property.isReadOnly() && measure.isConvertible()) { + if (newValue != null && property.isReadOnly()) { double oldFactor = ((Unit)((AbstractMeasure)property.getValue()).getUnit()).getFactor(); double newFactor = ((Unit)unitBox.getSelectedItem()).getFactor(); newValue = newValue * oldFactor / newFactor; @@ -111,7 +111,7 @@ public class MeasureEditor extends Container { if (property.isReadOnly()) { valueField.setEnabled(false); - unitBox.setEnabled(measure.isConvertible()); + unitBox.setEnabled(true); } if (!property.isUnique()) { diff --git a/diylc/diylc-swing/src/org/diylc/swing/gui/editor/PropertyEditorDialog.java b/diylc/diylc-swing/src/org/diylc/swing/gui/editor/PropertyEditorDialog.java index 6da46f9d..82a716fa 100644 --- a/diylc/diylc-swing/src/org/diylc/swing/gui/editor/PropertyEditorDialog.java +++ b/diylc/diylc-swing/src/org/diylc/swing/gui/editor/PropertyEditorDialog.java @@ -1,195 +1,215 @@ /* + * + * DIY Layout Creator (DIYLC). Copyright (c) 2009-2018 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 + * . + * + */ +package org.diylc.swing.gui.editor; - DIY Layout Creator (DIYLC). - Copyright (c) 2009-2018 held jointly by the individual authors. +import java.awt.Component; +import java.awt.Dimension; +import java.awt.GridBagConstraints; +import java.awt.GridBagLayout; +import java.awt.Insets; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.awt.event.KeyAdapter; +import java.awt.event.KeyEvent; +import java.lang.reflect.Method; +import java.util.HashSet; +import java.util.List; +import java.util.Set; - This file is part of DIYLC. +import javax.swing.BorderFactory; +import javax.swing.JCheckBox; +import javax.swing.JComponent; +import javax.swing.JFrame; +import javax.swing.JLabel; +import javax.swing.JOptionPane; +import javax.swing.JPanel; - 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. +import org.apache.log4j.Logger; +import org.diylc.common.PropertyWrapper; +import org.diylc.core.ValidationException; +import org.diylc.swingframework.ButtonDialog; - 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. +public class PropertyEditorDialog extends ButtonDialog { - You should have received a copy of the GNU General Public License - along with DIYLC. If not, see . + private static final Logger LOG = Logger.getLogger(PropertyEditorDialog.class); -*/ -package org.diylc.swing.gui.editor; - -import java.awt.Component; -import java.awt.Dimension; -import java.awt.GridBagConstraints; -import java.awt.GridBagLayout; -import java.awt.Insets; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.awt.event.KeyAdapter; -import java.awt.event.KeyEvent; -import java.util.HashSet; -import java.util.List; -import java.util.Set; - -import javax.swing.BorderFactory; -import javax.swing.JCheckBox; -import javax.swing.JComponent; -import javax.swing.JFrame; -import javax.swing.JLabel; -import javax.swing.JOptionPane; -import javax.swing.JPanel; - -import org.apache.log4j.Logger; -import org.diylc.common.PropertyWrapper; -import org.diylc.core.ValidationException; -import org.diylc.swingframework.ButtonDialog; - -public class PropertyEditorDialog extends ButtonDialog { - - private static final Logger LOG = Logger.getLogger(PropertyEditorDialog.class); - - private static final long serialVersionUID = 1L; - - private static final String DEFAULT_BOX_TOOLTIP = - "If this box is checked application will use the current value as a
default when creating new components of the same type"; - - private List properties; - private Set defaultedProperties; - private Component componentToFocus = null; - private boolean saveDefaults; - - public PropertyEditorDialog(JFrame owner, List properties, String title, boolean saveDefaults) { - super(owner, title, new String[] {ButtonDialog.OK, ButtonDialog.CANCEL}); - this.saveDefaults = saveDefaults; - - LOG.debug("Creating property editor for: " + properties); - - this.properties = properties; - this.defaultedProperties = new HashSet(); - - setMinimumSize(new Dimension(240, 40)); - - layoutGui(); - setLocationRelativeTo(owner); - } - - @Override - protected boolean validateInput(String button) { - if (button.equals(ButtonDialog.OK)) { - for (PropertyWrapper property : properties) { - try { - property.getValidator().validate(property.getValue()); - } catch (ValidationException ve) { - JOptionPane.showMessageDialog(PropertyEditorDialog.this, "Input error for \"" + property.getName() + "\": " - + ve.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); - return false; - } - } - } - return true; - } - - private JPanel createEditorFields() { - JPanel editorPanel = new JPanel(new GridBagLayout()); - editorPanel.setBorder(BorderFactory.createEmptyBorder(8, 8, 8, 8)); - - GridBagConstraints gbc = new GridBagConstraints(); - - gbc.gridy = 0; - - gbc.anchor = GridBagConstraints.FIRST_LINE_START; - - for (PropertyWrapper property : properties) { - gbc.gridx = 0; - gbc.fill = GridBagConstraints.NONE; - gbc.weightx = 0; - gbc.insets = new Insets(4, 2, 2, 2); - gbc.anchor = GridBagConstraints.WEST; - editorPanel.add(new JLabel(property.getName() + ": "), gbc); - - gbc.gridx = 1; - gbc.fill = GridBagConstraints.HORIZONTAL; - gbc.weightx = 1; - gbc.insets = new Insets(2, 2, 2, 2); - - Component editor = FieldEditorFactory.createFieldEditor(property); - editor.addKeyListener(new KeyAdapter() { - - @Override - public void keyPressed(KeyEvent e) { - if (e.getKeyCode() == KeyEvent.VK_ENTER) { - getButton(OK).doClick(); - } else if (e.getKeyCode() == KeyEvent.VK_ESCAPE) { - getButton(CANCEL).doClick(); - } - } - }); - editorPanel.add(editor, gbc); - - if (property.isDefaultable()) { - gbc.gridx = 2; - gbc.fill = GridBagConstraints.NONE; - gbc.weightx = 0; - - if (saveDefaults && !property.isReadOnly()) { - editorPanel.add(createDefaultCheckBox(property), gbc); - } - } - - if (property.getName().equalsIgnoreCase("value")) { - componentToFocus = editor; - } - - // Make value field focused - try { - if (componentToFocus == null && property.getGetter().getName().equalsIgnoreCase("getValue")) { - componentToFocus = editor; - } - } catch (Exception e1) { - LOG.warn("Could not determine editor component to focus", e1); - } - - gbc.gridy++; - } - - return editorPanel; - } - - private JCheckBox createDefaultCheckBox(final PropertyWrapper property) { - final JCheckBox checkBox = new JCheckBox(); - checkBox.setToolTipText(DEFAULT_BOX_TOOLTIP); - checkBox.addActionListener(new ActionListener() { - - @Override - public void actionPerformed(ActionEvent e) { - if (checkBox.isSelected()) { - defaultedProperties.add(property); - } else { - defaultedProperties.remove(property); - } - } - }); - return checkBox; - } - - public Set getDefaultedProperties() { - return defaultedProperties; - } - - @Override - public void setVisible(boolean b) { - if (b && componentToFocus != null) { - componentToFocus.requestFocusInWindow(); - componentToFocus = null; - } - super.setVisible(b); - } - - @Override - protected JComponent getMainComponent() { - return createEditorFields(); - } -} + private static final long serialVersionUID = 1L; + + private static final String DEFAULT_BOX_TOOLTIP = + "If this box is checked application will use the current value as a
default when creating new components of the same type"; + + private List properties; + private Set defaultedProperties; + private Component componentToFocus = null; + private boolean saveDefaults; + + public PropertyEditorDialog(JFrame owner, List properties, String title, + boolean saveDefaults) { + super(owner, title, new String[] {ButtonDialog.OK, ButtonDialog.CANCEL}); + this.saveDefaults = saveDefaults; + + LOG.debug("Creating property editor for: " + properties); + + this.properties = properties; + this.defaultedProperties = new HashSet(); + + setMinimumSize(new Dimension(240, 40)); + + layoutGui(); + setLocationRelativeTo(owner); + } + + @Override + protected boolean validateInput(String button) { + if (button.equals(ButtonDialog.OK)) { + Object testObject = null; + if (properties.size() > 0) { + if (properties.get(0).getOwnerObject() instanceof Cloneable) { + try { + Object object = ((Cloneable) properties.get(0).getOwnerObject()); + Method method = object.getClass().getMethod("clone"); + method.setAccessible(true); + testObject = method.invoke(object); + for (PropertyWrapper property : properties) { + property.writeTo(testObject); + } + } catch (Exception e) { + LOG.warn("Could not clone test object", e); + testObject = properties.get(0).getOwnerObject(); + } + } else { + testObject = properties.get(0).getOwnerObject(); + } + } + for (PropertyWrapper property : properties) { + try { + property.getValidator().validate(testObject, property.getValue()); + } catch (ValidationException ve) { + JOptionPane.showMessageDialog(PropertyEditorDialog.this, + "Input error for \"" + property.getName() + "\": " + ve.getMessage(), "Error", + JOptionPane.ERROR_MESSAGE); + return false; + } + } + } + return true; + } + + private JPanel createEditorFields() { + JPanel editorPanel = new JPanel(new GridBagLayout()); + editorPanel.setBorder(BorderFactory.createEmptyBorder(8, 8, 8, 8)); + + GridBagConstraints gbc = new GridBagConstraints(); + + gbc.gridy = 0; + + gbc.anchor = GridBagConstraints.FIRST_LINE_START; + + for (PropertyWrapper property : properties) { + gbc.gridx = 0; + gbc.fill = GridBagConstraints.NONE; + gbc.weightx = 0; + gbc.insets = new Insets(4, 2, 2, 2); + gbc.anchor = GridBagConstraints.WEST; + editorPanel.add(new JLabel(property.getName() + ": "), gbc); + + gbc.gridx = 1; + gbc.fill = GridBagConstraints.HORIZONTAL; + gbc.weightx = 1; + gbc.insets = new Insets(2, 2, 2, 2); + + Component editor = FieldEditorFactory.createFieldEditor(property); + editor.addKeyListener(new KeyAdapter() { + + @Override + public void keyPressed(KeyEvent e) { + if (e.getKeyCode() == KeyEvent.VK_ENTER) { + getButton(OK).doClick(); + } else if (e.getKeyCode() == KeyEvent.VK_ESCAPE) { + getButton(CANCEL).doClick(); + } + } + }); + editorPanel.add(editor, gbc); + + if (property.isDefaultable()) { + gbc.gridx = 2; + gbc.fill = GridBagConstraints.NONE; + gbc.weightx = 0; + + if (saveDefaults && !property.isReadOnly()) { + editorPanel.add(createDefaultCheckBox(property), gbc); + } + } + + if (property.getName().equalsIgnoreCase("value")) { + componentToFocus = editor; + } + + // Make value field focused + try { + if (componentToFocus == null + && property.getGetter().getName().equalsIgnoreCase("getValue")) { + componentToFocus = editor; + } + } catch (Exception e1) { + LOG.warn("Could not determine editor component to focus", e1); + } + + gbc.gridy++; + } + + return editorPanel; + } + + private JCheckBox createDefaultCheckBox(final PropertyWrapper property) { + final JCheckBox checkBox = new JCheckBox(); + checkBox.setToolTipText(DEFAULT_BOX_TOOLTIP); + checkBox.addActionListener(new ActionListener() { + + @Override + public void actionPerformed(ActionEvent e) { + if (checkBox.isSelected()) { + defaultedProperties.add(property); + } else { + defaultedProperties.remove(property); + } + } + }); + return checkBox; + } + + public Set getDefaultedProperties() { + return defaultedProperties; + } + + @Override + public void setVisible(boolean b) { + if (b && componentToFocus != null) { + componentToFocus.requestFocusInWindow(); + componentToFocus = null; + } + super.setVisible(b); + } + + @Override + protected JComponent getMainComponent() { + return createEditorFields(); + } +}