From 252b9ef560f42676d3950ce0166e6a11d9da3d2f Mon Sep 17 00:00:00 2001 From: Branislav Stojkovic Date: Mon, 14 Jan 2019 21:16:22 +0100 Subject: [PATCH] remove fuse param for IEC --- .../electromechanical/IECSocket.java | 115 ++++++++---------- diylc/diylc-swing/lib/diylc-core.jar | Bin 242795 -> 242795 bytes diylc/diylc-swing/library/main.jar | Bin 529934 -> 529840 bytes 3 files changed, 50 insertions(+), 65 deletions(-) diff --git a/diylc/diylc-library/src/org/diylc/components/electromechanical/IECSocket.java b/diylc/diylc-library/src/org/diylc/components/electromechanical/IECSocket.java index a5b945e4..c40aac3f 100644 --- a/diylc/diylc-library/src/org/diylc/components/electromechanical/IECSocket.java +++ b/diylc/diylc-library/src/org/diylc/components/electromechanical/IECSocket.java @@ -82,8 +82,7 @@ public class IECSocket extends AbstractTransparentComponent { transient protected Area[] body; protected String name; protected String value; - private Orientation orientation = Orientation.DEFAULT; - private boolean hasFuse = false; + private Orientation orientation = Orientation.DEFAULT; private Color bodyColor = BODY_COLOR; private Color borderColor = BORDER_COLOR; @@ -186,16 +185,6 @@ public class IECSocket extends AbstractTransparentComponent { body = null; } - @EditableProperty(name = "Fuse") - public boolean getHasFuse() { - return hasFuse; - } - - public void setHasFuse(boolean hasFuse) { - this.hasFuse = hasFuse; - body = null; - } - @Override public void draw(Graphics2D g2d, ComponentState componentState, boolean outlineMode, Project project, IDrawingObserver drawingObserver) { @@ -277,60 +266,56 @@ public class IECSocket extends AbstractTransparentComponent { double holeSpacing = HOLE_SPACING.convertToPixels(); body = new Area[3]; + + cutoutRadius = SIMPLE_CUTOUT_RADIUS.convertToPixels(); + baseRadius = SIMPLE_BASE_RADIUS.convertToPixels(); + cutoutLength = SIMPLE_CUTOUT_LENGTH.convertToPixels(); + cutoutWidth = SIMPLE_CUTOUT_WIDTH.convertToPixels(); + cutoutSlant = SIMPLE_CUTOUT_SLANT.convertToPixels(); + baseLength = SIMPLE_BASE_LENGTH.convertToPixels(); + length = SIMPLE_LENGTH.convertToPixels(); + outerRadius = SIMPLE_OUTER_RADIUS.convertToPixels(); - if (hasFuse) { - - } else { - cutoutRadius = SIMPLE_CUTOUT_RADIUS.convertToPixels(); - baseRadius = SIMPLE_BASE_RADIUS.convertToPixels(); - cutoutLength = SIMPLE_CUTOUT_LENGTH.convertToPixels(); - cutoutWidth = SIMPLE_CUTOUT_WIDTH.convertToPixels(); - cutoutSlant = SIMPLE_CUTOUT_SLANT.convertToPixels(); - baseLength = SIMPLE_BASE_LENGTH.convertToPixels(); - length = SIMPLE_LENGTH.convertToPixels(); - outerRadius = SIMPLE_OUTER_RADIUS.convertToPixels(); - - Point[] outerPoints = new Point[] { - new Point((int) Math.round(firstPoint.x), (int) Math.round(firstPoint.y + vSpacing / 2 - baseWidth / 2)), - new Point((int) Math.round(firstPoint.x + baseLength / 2), (int) Math.round(firstPoint.y + vSpacing / 2 - baseWidth / 2)), - new Point((int) Math.round(firstPoint.x + length / 2), (int) Math.round(firstPoint.y + vSpacing / 2)), - new Point((int) Math.round(firstPoint.x + baseLength / 2), (int) Math.round(firstPoint.y + vSpacing / 2 + baseWidth / 2)), - new Point((int) Math.round(firstPoint.x - baseLength / 2), (int) Math.round(firstPoint.y + vSpacing / 2 + baseWidth / 2)), - new Point((int) Math.round(firstPoint.x - length / 2), (int) Math.round(firstPoint.y + vSpacing / 2)), - new Point((int) Math.round(firstPoint.x - baseLength / 2), (int) Math.round(firstPoint.y + vSpacing / 2 - baseWidth / 2)), - }; - - double[] outerRadiuses = new double[] { - baseRadius / 2, - outerRadius, - baseRadius / 2, - baseRadius / 2, - outerRadius, - baseRadius / 2 - }; - - body[0] = new Area(new RoundedPolygon(outerPoints, outerRadiuses)); - body[0].subtract(new Area(new Ellipse2D.Double(firstPoint.x - holeSpacing / 2 - holeDiameter / 2, firstPoint.y + vSpacing / 2 - holeDiameter / 2, holeDiameter, holeDiameter))); - body[0].subtract(new Area(new Ellipse2D.Double(firstPoint.x + holeSpacing / 2 - holeDiameter / 2, firstPoint.y + vSpacing / 2 - holeDiameter / 2, holeDiameter, holeDiameter))); - - body[1] = new Area(new RoundRectangle2D.Double(firstPoint.x - baseLength / 2, firstPoint.y + vSpacing / 2 - baseWidth / 2, baseLength, baseWidth, baseRadius, baseRadius)); - - Point[] cutoutPoints = new Point[] { - new Point(firstPoint.x, (int) (firstPoint.y + vSpacing / 2 - cutoutWidth / 2)), - new Point((int) (firstPoint.x + cutoutLength / 2 - cutoutSlant), (int) (firstPoint.y + vSpacing / 2 - cutoutWidth / 2)), - new Point((int) (firstPoint.x + cutoutLength / 2), (int) (firstPoint.y + vSpacing / 2 - cutoutWidth / 2 + cutoutSlant)), - new Point((int) (firstPoint.x + cutoutLength / 2), (int) (firstPoint.y + vSpacing / 2 + cutoutWidth / 2)), - new Point((int) (firstPoint.x - cutoutLength / 2), (int) (firstPoint.y + vSpacing / 2 + cutoutWidth / 2)), - new Point((int) (firstPoint.x - cutoutLength / 2), (int) (firstPoint.y + vSpacing / 2 - cutoutWidth / 2 + cutoutSlant)), - new Point((int) (firstPoint.x - cutoutLength / 2 + cutoutSlant), (int) (firstPoint.y + vSpacing / 2 - cutoutWidth / 2)), - }; - - double[] cutoutRadiuses = new double[] { - cutoutRadius, - }; - - body[2] = new Area(new RoundedPolygon(cutoutPoints, cutoutRadiuses)); - } + Point[] outerPoints = new Point[] { + new Point((int) Math.round(firstPoint.x), (int) Math.round(firstPoint.y + vSpacing / 2 - baseWidth / 2)), + new Point((int) Math.round(firstPoint.x + baseLength / 2), (int) Math.round(firstPoint.y + vSpacing / 2 - baseWidth / 2)), + new Point((int) Math.round(firstPoint.x + length / 2), (int) Math.round(firstPoint.y + vSpacing / 2)), + new Point((int) Math.round(firstPoint.x + baseLength / 2), (int) Math.round(firstPoint.y + vSpacing / 2 + baseWidth / 2)), + new Point((int) Math.round(firstPoint.x - baseLength / 2), (int) Math.round(firstPoint.y + vSpacing / 2 + baseWidth / 2)), + new Point((int) Math.round(firstPoint.x - length / 2), (int) Math.round(firstPoint.y + vSpacing / 2)), + new Point((int) Math.round(firstPoint.x - baseLength / 2), (int) Math.round(firstPoint.y + vSpacing / 2 - baseWidth / 2)), + }; + + double[] outerRadiuses = new double[] { + baseRadius / 2, + outerRadius, + baseRadius / 2, + baseRadius / 2, + outerRadius, + baseRadius / 2 + }; + + body[0] = new Area(new RoundedPolygon(outerPoints, outerRadiuses)); + body[0].subtract(new Area(new Ellipse2D.Double(firstPoint.x - holeSpacing / 2 - holeDiameter / 2, firstPoint.y + vSpacing / 2 - holeDiameter / 2, holeDiameter, holeDiameter))); + body[0].subtract(new Area(new Ellipse2D.Double(firstPoint.x + holeSpacing / 2 - holeDiameter / 2, firstPoint.y + vSpacing / 2 - holeDiameter / 2, holeDiameter, holeDiameter))); + + body[1] = new Area(new RoundRectangle2D.Double(firstPoint.x - baseLength / 2, firstPoint.y + vSpacing / 2 - baseWidth / 2, baseLength, baseWidth, baseRadius, baseRadius)); + + Point[] cutoutPoints = new Point[] { + new Point(firstPoint.x, (int) (firstPoint.y + vSpacing / 2 - cutoutWidth / 2)), + new Point((int) (firstPoint.x + cutoutLength / 2 - cutoutSlant), (int) (firstPoint.y + vSpacing / 2 - cutoutWidth / 2)), + new Point((int) (firstPoint.x + cutoutLength / 2), (int) (firstPoint.y + vSpacing / 2 - cutoutWidth / 2 + cutoutSlant)), + new Point((int) (firstPoint.x + cutoutLength / 2), (int) (firstPoint.y + vSpacing / 2 + cutoutWidth / 2)), + new Point((int) (firstPoint.x - cutoutLength / 2), (int) (firstPoint.y + vSpacing / 2 + cutoutWidth / 2)), + new Point((int) (firstPoint.x - cutoutLength / 2), (int) (firstPoint.y + vSpacing / 2 - cutoutWidth / 2 + cutoutSlant)), + new Point((int) (firstPoint.x - cutoutLength / 2 + cutoutSlant), (int) (firstPoint.y + vSpacing / 2 - cutoutWidth / 2)), + }; + + double[] cutoutRadiuses = new double[] { + cutoutRadius, + }; + + body[2] = new Area(new RoundedPolygon(cutoutPoints, cutoutRadiuses)); if (orientation != Orientation.DEFAULT) { double theta = 0; diff --git a/diylc/diylc-swing/lib/diylc-core.jar b/diylc/diylc-swing/lib/diylc-core.jar index 73b376720fb4b577324aed9de50f8458fa08abb9..ca39ce1e535a029c01fb0a283546f7cd2ef9226a 100644 GIT binary patch delta 4309 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 Rl=?;^&9T}@aUIKq{{JrAPT~Ln delta 4309 zcmYjTd0dWJ8-C9@6_I2~Atg%)BU!R%i!kywcBbqUg(#6|QEAim%2U#2DN87?@d!=E zFkhN6Bbs51ZT#%MK@Fb}^PT&?pFifGuIt{HbI$Yj;;H3}rtIQq}@v9^?(H3qC|$pN8H*7uGUJ+qerJJ?!0A%YrIr`U>BgEG7NuD$E|H?S(P94)O!-rh8J4Uq zZjbV-LsZ(XBnjn1$L?Zl2`6y##v{fO2A5{;H@^Y&Kh*%GdaGF4kXrr;=1e(5=TLms z3X_yqOfmtz$%XH55C6GThn=3Ox&z6K+12urNc6gLL0G!V+t4t`VR(`3*w-}UiM??| z%|%XXeTL~!c}d>u6&o=anO*!4?ttn*5t8Mjs64rMpddu>6&%{%ukr59sv2&8hR*RV=m0mlaT&2e%%XTbt>0C(M-db<9R}TEu$6 zlU2P}ummi5dnLPt!E2GMXvI4siD}EDkul zTV+jwXs!l1a2jk-S3aDoP3jaA5F(%MMy5oi$ZDBRJelEF>*mhBjlJbTIB_N2ncFJ* zLeWI^>d6P;hGU(1FjoB7m!HSkD*Ew5sPP-XOOeR?kcp&h7>`3TbQBLna&Qb^hAI9hwgGY=lsjUYs*T(k$(v2w0g3fyejPqO>hmqU3N0HG;CI(&(KT2w4AumNu&^}(> z5i}z!`R7(hYIr@G`d{ZwT7zcTBkq9-qn>aT$*||V6Oy_A@Onzz>Id zezDLaX}v-$fDV=QeqyM+$jUK4F&gl-pKt-};x7gR&hr=J0So-aNbtYsFUFvKrI-Tp znw0|npHfOziiv>I-%e?@O7sLl2H7dIR|!WD!dA)umSm59qLlFlddK33AmMnHT)mim8B0 z)`~9y%ht-yC4OE@d1nQQ)gb>6B>Vtf)`_nGV>Gbv@;eSx@$x>nVS?VA;2{ z2M1HWpMr%a$n8SJI>5vbF$3^^2*tZ@pgtluP~24wJBN~eT`2We8A^59Y@~Sqjlu`= zRB5vPCgBZo&?Yet@X99Hr`%hQFtHFYAx!uKz6qm!&DboKfM2=hgexx%2VS=zdug)Bjpcqw67W4Nq=O!oLlM}HJlnR=all^c-b%b$5Wg> zf#MD)(0)E7(EhvvW3q zNvCr=m`?Q@H1y1%^D4-oxMv!=8YurJ1KpQu1KkUUos@5dhR1i3U*cZ*F=(ABdP8yd zOll@Jla^DPNy9nrqNV~hEZ;@Vm@AajTcJyqqfpWZn%+5!;zP6OFn-LUOXrwPasJul zUz$yRpR(x@PT5Uz)^5uCU^nSqawu+N4%M&9p+0T)&=MBzp~Eunq2Wz(DUWw9$$N7t zu0EII#^h1Hggl!2mptmHT|W6O&!@b{^U3dBKG{bVP+##HUMrye*cXz0nT92WRR6su zkKRjha_M;3*Y}cthkc}9x{vCf+(-6LnttMbx&#^fDc`;QvLAV=dmNB^mALr;JUPF&E(r1-X-_OdZ?zj{3d}RLA6Y?HOyrapzjB=k+ Q-e9CXRvRg<<4K|aKOq<5kN^Mx diff --git a/diylc/diylc-swing/library/main.jar b/diylc/diylc-swing/library/main.jar index 6b06cff9ce4d93fef5cfff0653cb55b0d1adbfd7..7f1eab262fb5a6f0d492528fee03087764a7121a 100644 GIT binary patch delta 13963 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 delta 14236 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 VAlUN?Bn~HWky%M&#bB;r{s#e5!%F}F