diff --git a/diylc/diylc-core/src/org/diylc/components/AbstractLeadedComponent.java b/diylc/diylc-core/src/org/diylc/components/AbstractLeadedComponent.java index 3e5a49cc..7d67ace4 100644 --- a/diylc/diylc-core/src/org/diylc/components/AbstractLeadedComponent.java +++ b/diylc/diylc-core/src/org/diylc/components/AbstractLeadedComponent.java @@ -41,6 +41,7 @@ import org.diylc.core.Project; import org.diylc.core.Theme; import org.diylc.core.VisibilityPolicy; import org.diylc.core.annotations.EditableProperty; +import org.diylc.core.annotations.PositiveMeasureValidator; import org.diylc.core.measures.Size; import org.diylc.core.measures.SizeUnit; import org.diylc.utils.Constants; @@ -439,7 +440,7 @@ public abstract class AbstractLeadedComponent extends AbstractTransparentComp this.borderColor = borderColor; } - @EditableProperty(name = "Length", defaultable = true) + @EditableProperty(name = "Length", defaultable = true, validatorClass = PositiveMeasureValidator.class) public Size getLength() { return length; } @@ -448,7 +449,7 @@ public abstract class AbstractLeadedComponent extends AbstractTransparentComp this.length = length; } - @EditableProperty(name = "Width", defaultable = true) + @EditableProperty(name = "Width", defaultable = true, validatorClass = PositiveMeasureValidator.class) public Size getWidth() { return width; } diff --git a/diylc/diylc-library/lib/diylc-core.jar b/diylc/diylc-library/lib/diylc-core.jar index 7f840a59..d01d0160 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/boards/MarshallPerfBoard.java b/diylc/diylc-library/src/org/diylc/components/boards/MarshallPerfBoard.java index 4fd49460..a3de525a 100644 --- a/diylc/diylc-library/src/org/diylc/components/boards/MarshallPerfBoard.java +++ b/diylc/diylc-library/src/org/diylc/components/boards/MarshallPerfBoard.java @@ -26,7 +26,7 @@ import java.awt.Color; import java.awt.Graphics2D; import java.awt.Point; import java.awt.Shape; - + import org.diylc.common.SimpleComponentTransformer; import org.diylc.core.ComponentState; import org.diylc.core.IDIYComponent; @@ -36,6 +36,7 @@ import org.diylc.core.annotations.BomPolicy; import org.diylc.core.annotations.ComponentDescriptor; import org.diylc.core.annotations.EditableProperty; import org.diylc.core.annotations.KeywordPolicy; +import org.diylc.core.annotations.PositiveMeasureValidator; import org.diylc.core.measures.Size; import org.diylc.core.measures.SizeUnit; import org.diylc.utils.Constants; @@ -95,7 +96,7 @@ public class MarshallPerfBoard extends AbstractBoard { } } - @EditableProperty + @EditableProperty(validatorClass = PositiveMeasureValidator.class) public Size getSpacing() { return spacing; } 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 cbb20f53..c74e35eb 100644 --- a/diylc/diylc-library/src/org/diylc/components/boards/PerfBoard.java +++ b/diylc/diylc-library/src/org/diylc/components/boards/PerfBoard.java @@ -26,7 +26,7 @@ import java.awt.Color; import java.awt.Graphics2D; import java.awt.Point; import java.awt.Shape; - + import org.diylc.common.SimpleComponentTransformer; import org.diylc.core.ComponentState; import org.diylc.core.IDIYComponent; @@ -36,6 +36,7 @@ import org.diylc.core.annotations.BomPolicy; import org.diylc.core.annotations.ComponentDescriptor; import org.diylc.core.annotations.EditableProperty; import org.diylc.core.annotations.KeywordPolicy; +import org.diylc.core.annotations.PositiveMeasureValidator; import org.diylc.core.measures.Size; import org.diylc.core.measures.SizeUnit; import org.diylc.utils.Constants; @@ -104,7 +105,7 @@ public class PerfBoard extends AbstractBoard { this.padColor = padColor; } - @EditableProperty + @EditableProperty(validatorClass = PositiveMeasureValidator.class) public Size getSpacing() { return spacing; } 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 d1f64211..7eb3d07a 100644 --- a/diylc/diylc-library/src/org/diylc/components/boards/TerminalStrip.java +++ b/diylc/diylc-library/src/org/diylc/components/boards/TerminalStrip.java @@ -29,7 +29,7 @@ import java.awt.Point; import java.awt.geom.Area; import java.awt.geom.Ellipse2D; import java.awt.geom.RoundRectangle2D; - + import org.diylc.appframework.miscutils.ConfigurationManager; import org.diylc.common.IPlugInPort; import org.diylc.common.ObjectCache; @@ -45,6 +45,7 @@ import org.diylc.core.VisibilityPolicy; import org.diylc.core.annotations.ComponentDescriptor; import org.diylc.core.annotations.EditableProperty; import org.diylc.core.annotations.KeywordPolicy; +import org.diylc.core.annotations.PositiveMeasureValidator; import org.diylc.core.measures.Size; import org.diylc.core.measures.SizeUnit; import org.diylc.utils.Constants; @@ -115,7 +116,7 @@ public class TerminalStrip extends AbstractTransparentComponent { body = null; } - @EditableProperty(name = "Terminal spacing") + @EditableProperty(name = "Terminal Spacing", validatorClass = PositiveMeasureValidator.class) public Size getTerminalSpacing() { return terminalSpacing; } @@ -127,7 +128,7 @@ public class TerminalStrip extends AbstractTransparentComponent { body = null; } - @EditableProperty(name = "Hole spacing") + @EditableProperty(name = "Hole Spacing", validatorClass = PositiveMeasureValidator.class) public Size getHoleSpacing() { return holeSpacing; } @@ -139,7 +140,7 @@ public class TerminalStrip extends AbstractTransparentComponent { body = null; } - @EditableProperty(name = "Center terminal") + @EditableProperty(name = "Center Terminal") public boolean getCenterHole() { return centerHole; } @@ -151,7 +152,7 @@ public class TerminalStrip extends AbstractTransparentComponent { body = null; } - @EditableProperty(name = "Board width") + @EditableProperty(name = "Board Width", validatorClass = PositiveMeasureValidator.class) public Size getBoardWidth() { return boardWidth; } 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 ab77cd15..c414a594 100644 --- a/diylc/diylc-library/src/org/diylc/components/boards/TriPadBoard.java +++ b/diylc/diylc-library/src/org/diylc/components/boards/TriPadBoard.java @@ -27,7 +27,7 @@ import java.awt.Composite; import java.awt.Graphics2D; import java.awt.Point; import java.awt.Shape; - + import org.diylc.common.SimpleComponentTransformer; import org.diylc.common.OrientationHV; import org.diylc.core.ComponentState; @@ -37,6 +37,7 @@ import org.diylc.core.Project; import org.diylc.core.annotations.ComponentDescriptor; import org.diylc.core.annotations.EditableProperty; import org.diylc.core.annotations.KeywordPolicy; +import org.diylc.core.annotations.PositiveMeasureValidator; import org.diylc.core.measures.Size; import org.diylc.core.measures.SizeUnit; import org.diylc.utils.Constants; @@ -162,7 +163,7 @@ public class TriPadBoard extends AbstractBoard { } } - @EditableProperty(name = "Strip color") + @EditableProperty(name = "Strip Color") public Color getStripColor() { return stripColor; } @@ -171,7 +172,7 @@ public class TriPadBoard extends AbstractBoard { this.stripColor = padColor; } - @EditableProperty + @EditableProperty(validatorClass = PositiveMeasureValidator.class) public Size getSpacing() { return spacing; } 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 18e32707..d7c9748d 100644 --- a/diylc/diylc-library/src/org/diylc/components/boards/VeroBoard.java +++ b/diylc/diylc-library/src/org/diylc/components/boards/VeroBoard.java @@ -27,7 +27,7 @@ import java.awt.Composite; import java.awt.Graphics2D; import java.awt.Point; import java.awt.Shape; - + import org.diylc.common.SimpleComponentTransformer; import org.diylc.common.OrientationHV; import org.diylc.core.ComponentState; @@ -38,6 +38,7 @@ import org.diylc.core.annotations.BomPolicy; import org.diylc.core.annotations.ComponentDescriptor; import org.diylc.core.annotations.EditableProperty; import org.diylc.core.annotations.KeywordPolicy; +import org.diylc.core.annotations.PositiveMeasureValidator; import org.diylc.core.measures.Size; import org.diylc.core.measures.SizeUnit; import org.diylc.utils.Constants; @@ -122,7 +123,7 @@ public class VeroBoard extends AbstractBoard { } } - @EditableProperty(name = "Strip color") + @EditableProperty(name = "Strip Color") public Color getStripColor() { return stripColor; } @@ -131,7 +132,7 @@ public class VeroBoard extends AbstractBoard { this.stripColor = padColor; } - @EditableProperty + @EditableProperty(validatorClass = PositiveMeasureValidator.class) public Size getSpacing() { return spacing; } diff --git a/diylc/diylc-library/src/org/diylc/components/connectivity/Dot.java b/diylc/diylc-library/src/org/diylc/components/connectivity/Dot.java index e414649c..4df529e2 100644 --- a/diylc/diylc-library/src/org/diylc/components/connectivity/Dot.java +++ b/diylc/diylc-library/src/org/diylc/components/connectivity/Dot.java @@ -24,7 +24,7 @@ package org.diylc.components.connectivity; import java.awt.Color; import java.awt.Graphics2D; import java.awt.Point; - + import org.diylc.common.SimpleComponentTransformer; import org.diylc.components.AbstractComponent; import org.diylc.core.ComponentState; @@ -35,6 +35,7 @@ import org.diylc.core.VisibilityPolicy; import org.diylc.core.annotations.BomPolicy; import org.diylc.core.annotations.ComponentDescriptor; import org.diylc.core.annotations.EditableProperty; +import org.diylc.core.annotations.PositiveMeasureValidator; import org.diylc.core.measures.Size; import org.diylc.core.measures.SizeUnit; @@ -71,7 +72,7 @@ public class Dot extends AbstractComponent { g2d.fillOval((width - diameter) / 2, (height - diameter) / 2, diameter, diameter); } - @EditableProperty + @EditableProperty(validatorClass = PositiveMeasureValidator.class) public Size getSize() { return size; } 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 4004d991..867138d6 100644 --- a/diylc/diylc-library/src/org/diylc/components/connectivity/Eyelet.java +++ b/diylc/diylc-library/src/org/diylc/components/connectivity/Eyelet.java @@ -24,7 +24,7 @@ package org.diylc.components.connectivity; import java.awt.Color; import java.awt.Graphics2D; import java.awt.Point; - + import org.diylc.common.SimpleComponentTransformer; import org.diylc.components.AbstractComponent; import org.diylc.core.ComponentState; @@ -36,6 +36,7 @@ import org.diylc.core.annotations.BomPolicy; import org.diylc.core.annotations.ComponentDescriptor; import org.diylc.core.annotations.EditableProperty; import org.diylc.core.annotations.KeywordPolicy; +import org.diylc.core.annotations.PositiveMeasureValidator; import org.diylc.core.measures.Size; import org.diylc.core.measures.SizeUnit; import org.diylc.utils.Constants; @@ -94,7 +95,7 @@ public class Eyelet extends AbstractComponent { g2d.drawOval((width - holeDiameter) / 2, (height - holeDiameter) / 2, holeDiameter, holeDiameter); } - @EditableProperty + @EditableProperty(validatorClass = PositiveMeasureValidator.class) public Size getSize() { return size; } @@ -103,7 +104,7 @@ public class Eyelet extends AbstractComponent { this.size = size; } - @EditableProperty(name = "Hole size") + @EditableProperty(name = "Hole Size", validatorClass = PositiveMeasureValidator.class) public Size getHoleSize() { return holeSize; } 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 7a395587..d09f235b 100644 --- a/diylc/diylc-library/src/org/diylc/components/connectivity/SolderPad.java +++ b/diylc/diylc-library/src/org/diylc/components/connectivity/SolderPad.java @@ -105,7 +105,7 @@ public class SolderPad extends AbstractComponent { this.size = size; } - @EditableProperty(name = "Hole") + @EditableProperty(name = "Hole", validatorClass = PositiveMeasureValidator.class) public Size getHoleSize() { if (holeSize == null) { holeSize = HOLE_SIZE; diff --git a/diylc/diylc-library/src/org/diylc/components/electromechanical/MiniToggleSwitch.java b/diylc/diylc-library/src/org/diylc/components/electromechanical/MiniToggleSwitch.java index 5a806f6d..06465d48 100644 --- a/diylc/diylc-library/src/org/diylc/components/electromechanical/MiniToggleSwitch.java +++ b/diylc/diylc-library/src/org/diylc/components/electromechanical/MiniToggleSwitch.java @@ -30,7 +30,7 @@ import java.awt.Shape; import java.awt.geom.AffineTransform; import java.awt.geom.Area; import java.awt.geom.RoundRectangle2D; - + import org.diylc.appframework.miscutils.ConfigurationManager; import org.diylc.common.IPlugInPort; import org.diylc.common.ObjectCache; @@ -44,6 +44,7 @@ import org.diylc.core.Theme; import org.diylc.core.VisibilityPolicy; import org.diylc.core.annotations.ComponentDescriptor; import org.diylc.core.annotations.EditableProperty; +import org.diylc.core.annotations.PositiveMeasureValidator; import org.diylc.core.measures.Size; import org.diylc.core.measures.SizeUnit; import org.diylc.utils.Constants; @@ -225,7 +226,7 @@ public class MiniToggleSwitch extends AbstractTransparentComponent { body = null; } - @EditableProperty(name = "Pin Spacing") + @EditableProperty(name = "Pin Spacing", validatorClass = PositiveMeasureValidator.class) public Size getPinSpacing() { return pinSpacing; } @@ -146,7 +147,7 @@ public class DIL_IC extends AbstractTransparentComponent { body = null; } - @EditableProperty(name = "Row Spacing") + @EditableProperty(name = "Row Spacing", validatorClass = PositiveMeasureValidator.class) public Size getRowSpacing() { return rowSpacing; } diff --git a/diylc/diylc-library/src/org/diylc/components/semiconductors/SIL_IC.java b/diylc/diylc-library/src/org/diylc/components/semiconductors/SIL_IC.java index b89ad001..48419a8d 100644 --- a/diylc/diylc-library/src/org/diylc/components/semiconductors/SIL_IC.java +++ b/diylc/diylc-library/src/org/diylc/components/semiconductors/SIL_IC.java @@ -32,7 +32,7 @@ import java.awt.geom.Area; import java.awt.geom.Ellipse2D; import java.awt.geom.Rectangle2D; import java.awt.geom.RoundRectangle2D; - + import org.diylc.appframework.miscutils.ConfigurationManager; import org.diylc.common.Display; import org.diylc.common.IPlugInPort; @@ -49,6 +49,7 @@ import org.diylc.core.VisibilityPolicy; import org.diylc.core.annotations.ComponentDescriptor; import org.diylc.core.annotations.EditableProperty; import org.diylc.core.annotations.KeywordPolicy; +import org.diylc.core.annotations.PositiveMeasureValidator; import org.diylc.core.measures.Size; import org.diylc.core.measures.SizeUnit; import org.diylc.utils.Constants; @@ -131,7 +132,7 @@ public class SIL_IC extends AbstractTransparentComponent { body = null; } - @EditableProperty(name = "Pin Spacing") + @EditableProperty(name = "Pin Spacing", validatorClass = PositiveMeasureValidator.class) public Size getPinSpacing() { return pinSpacing; } diff --git a/diylc/diylc-library/src/org/diylc/components/shapes/AbstractShape.java b/diylc/diylc-library/src/org/diylc/components/shapes/AbstractShape.java index f44fbe31..818c882a 100644 --- a/diylc/diylc-library/src/org/diylc/components/shapes/AbstractShape.java +++ b/diylc/diylc-library/src/org/diylc/components/shapes/AbstractShape.java @@ -23,10 +23,11 @@ package org.diylc.components.shapes; import java.awt.Color; import java.awt.Point; - + import org.diylc.components.AbstractTransparentComponent; import org.diylc.core.VisibilityPolicy; import org.diylc.core.annotations.EditableProperty; +import org.diylc.core.annotations.PositiveMeasureValidator; import org.diylc.core.measures.Size; import org.diylc.core.measures.SizeUnit; @@ -67,7 +68,7 @@ public abstract class AbstractShape extends AbstractTransparentComponent { this.borderColor = borderColor; } - @EditableProperty(name = "Border thickness") + @EditableProperty(name = "Border thickness", validatorClass = PositiveMeasureValidator.class) public Size getBorderThickness() { return borderThickness; } diff --git a/diylc/diylc-swing/lib/diylc-core.jar b/diylc/diylc-swing/lib/diylc-core.jar index 7f840a59..d01d0160 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 abf1a64f..e86d9b41 100644 Binary files a/diylc/diylc-swing/library/main.jar and b/diylc/diylc-swing/library/main.jar differ diff --git a/diylc/diylc-swing/update.xml b/diylc/diylc-swing/update.xml index 728bdd9d..ce4d9229 100644 --- a/diylc/diylc-swing/update.xml +++ b/diylc/diylc-swing/update.xml @@ -2170,6 +2170,10 @@ IMPROVEMENT Render resistor color bands and capacitor polarity markings properly when zommed in + + IMPROVEMENT + Do not allow negative values for properties indicating a size + BUG_FIX Project font gets reverted to "Square721 BT" on Undo