From b9e57042255b5b87c761742506a1537840163b21 Mon Sep 17 00:00:00 2001 From: bancika Date: Wed, 12 Jan 2011 22:48:00 +0000 Subject: [PATCH] improved few components --- .../DIYLC/config.xml | 4 +++ .../DIYLC/library/main.jar | Bin 510886 -> 511527 bytes .../components/connectivity/CurvedTrace.java | 20 +++++++---- .../components/connectivity/SolderPad.java | 18 +++++++--- .../src/org/diylc/components/misc/BOM.java | 31 ++++++++++++++++-- 5 files changed, 60 insertions(+), 13 deletions(-) diff --git a/ diy-layout-creator --username bancika@gmail.com/DIYLC/config.xml b/ diy-layout-creator --username bancika@gmail.com/DIYLC/config.xml index 02f4b9f6..d6460070 100644 --- a/ diy-layout-creator --username bancika@gmail.com/DIYLC/config.xml +++ b/ diy-layout-creator --username bancika@gmail.com/DIYLC/config.xml @@ -14,6 +14,10 @@ metric true + + default.org.diylc.components.semiconductors.DIL_IC:Value + LM366 + default.org.diylc.components.passive.AxialFilmCapacitor:Width 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 9f7bee7fbe8a36bbf4ae13409e4ee1bce123ab08..e0cb0fbad71d4259b8b24d73cd3927cb71e3ae36 100644 GIT binary patch delta 8335 zcmY*e1yodB*M<=sx^n>O?oL6JPHE}x8oC)p7#f8UMp{}rhwd7>qy(f>TBHQ^2mRmg z``$Zq?q2tK_P%G|wa;4j?&lQ3X^S#wah|I_KqEoHxcjZPCE}O^uFt zj5`ane82-g=?3E0QsHFY1GUX0cEEcgJdzc@YKlfxYeUU<57eeGdOrkIwZU*WbRgd* zavz%GjEBch+hIHybZc(Gv|8c43C;M0?+PiOx6*uER3vj*xofT+ zWM9)uK%nV`H*z$xbR2rw;&*hg^842*>r2_&4>{1B6<>kLx)-BqTA#+YTw{&1RNtiZ zscVu%G=SnsGZ-|-#i4`3XcRx{g()HFevcQ{lYNmQWE5$pM;MIh>j|7L`wKQ1ui6Hx zB<+kV>|dA-4UqZMsL1p`Cr{T<8&5K|8e{`$S@*^EACw*92%;syM3Izu%p8%6g~4P%4Z9a@IJ6} zP{D}RB=tO7N)^O-Y3bfA!VVdKXq&z~V}pSZV{a2x{Ul2hKP9xvjRmJqyD~>82DlD^ zdB@1(p3dq}GG-?pmD>`jN%qIo*eEGHsNtrOYoJ-=pZq&|+woKl1mwh-)0Jt>8c?$-psMJfgPFjO$&2cQjz82r$^QVL}pbR5y8i z3%p`qQ`vN+5gg)@mK5RV7Z;|l6)$CEA6M1EboLDVnj+EUd6<^)PC~U%EgI*PltvT` zqhlkI@#9YXI-NZ2uMR=(`@h~ybX;oXZgSYPZ6s=Xw=$MFr8+o(Q@A(bnr`oevR(K> z*}g>0>+?F#R-(E#EH}XGx+KwHrpz*NtrPZhQoIPDUb0MF*d43_Uyw1bl1kiQU&DGz zTg#RH;`tku<8jtI#ozU9k+pHu0p%?`Q;#5t(@VIIOcOI5mAL%~ zoo6CA$6!vl?8f<+QY1S8k?Hvaj-T~EOAMX$6pZ{}<4$xUNUpJRLvxrn)AV`Wo(N%fstDyBU=ao^>cYDj_fqu_nOJO5rdX^iVj&*rWg zh&P1&^w2@qI%+m;LQV2=Vv%ih*c=JESXR7wcF-~TT{6q?+1vxEAlkM|5+j+P?z*8y zgNjrOgT7D7Cq%)Iyh6z$G9{{D1>GJ7%=DI@%%+1rMoMFX>s7 zcu(#s=!H3Ch~nI-qPAP)dHv%z*zJch-&r~=p@E@ Nh*xw)b_ED9;YQaCbmEgHN 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 BOi};< delta 7795 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 diff --git a/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/connectivity/CurvedTrace.java b/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/connectivity/CurvedTrace.java index 364bffe1..6c260563 100644 --- a/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/connectivity/CurvedTrace.java +++ b/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/connectivity/CurvedTrace.java @@ -14,7 +14,7 @@ import org.diylc.core.measures.Size; import org.diylc.core.measures.SizeUnit; @ComponentDescriptor(name = "Curved Trace", author = "Branislav Stojkovic", category = "Connectivity", instanceNamePrefix = "Trace", description = "Curved copper trace with two control points", zOrder = IDIYComponent.ABOVE_BOARD) -public class CurvedTrace extends AbstractCurvedComponent { +public class CurvedTrace extends AbstractCurvedComponent { private static final long serialVersionUID = 1L; @@ -36,15 +36,23 @@ public class CurvedTrace extends AbstractCurvedComponent { || componentState == ComponentState.DRAGGING ? SELECTION_COLOR : color); g2d.draw(curve); } - + @EditableProperty(name = "Width") - @Override - public Size getValue() { + public Size getSize() { return size; } + public void setSize(Size size) { + this.size = size; + } + + @Deprecated @Override - public void setValue(Size value) { - this.size = value; + public Void getValue() { + return null; + } + + @Override + public void setValue(Void value) { } } 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 02ddc414..c149d05b 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 @@ -15,7 +15,7 @@ import org.diylc.core.measures.SizeUnit; import org.diylc.utils.Constants; @ComponentDescriptor(name = "Solder Pad", category = "Connectivity", author = "Branislav Stojkovic", description = "test", instanceNamePrefix = "Pad", stretchable = false, zOrder = IDIYComponent.ABOVE_BOARD + 0.1) -public class SolderPad extends AbstractComponent { +public class SolderPad extends AbstractComponent { private static final long serialVersionUID = 1L; @@ -81,13 +81,21 @@ public class SolderPad extends AbstractComponent { } @EditableProperty(name = "Color") - @Override - public Color getValue() { + public Color getColor() { return color; } + public void setColor(Color color) { + this.color = color; + } + + @Deprecated @Override - public void setValue(Color value) { - this.color = value; + public Void getValue() { + return null; + } + + @Override + public void setValue(Void value) { } } diff --git a/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/misc/BOM.java b/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/misc/BOM.java index 29a3b4b6..69e3eede 100644 --- a/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/misc/BOM.java +++ b/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/misc/BOM.java @@ -1,6 +1,7 @@ package org.diylc.components.misc; import java.awt.Color; +import java.awt.Font; import java.awt.FontMetrics; import java.awt.Graphics2D; import java.awt.Point; @@ -20,12 +21,13 @@ import org.diylc.plugins.file.BomEntry; import org.diylc.plugins.file.BomMaker; import org.diylc.utils.Constants; -@ComponentDescriptor(name = "Bill of materials", author = "Branislav Stojkovic", category = "Misc", description = "", instanceNamePrefix = "BOM", zOrder = IDIYComponent.ABOVE_COMPONENT, stretchable = false) +@ComponentDescriptor(name = "Bill of Materials", author = "Branislav Stojkovic", category = "Misc", description = "", instanceNamePrefix = "BOM", zOrder = IDIYComponent.ABOVE_COMPONENT, stretchable = false) public class BOM extends AbstractComponent { public static Size DEFAULT_SIZE = new Size(10d, SizeUnit.cm); public static Size SPACING = Constants.GRID_SIZE; public static Color COLOR = Color.black; + public static String DEFAULT_TEXT = "No components to show in the Bill of Materials"; private static final long serialVersionUID = 1L; private Size size = DEFAULT_SIZE; @@ -76,6 +78,7 @@ public class BOM extends AbstractComponent { int columnWidth = size.convertToPixels() / columnCount; int entriesPerColumn = (int) Math.ceil(1.d * bom.size() / columnCount); if (entriesPerColumn == 0) { + g2d.drawString(DEFAULT_TEXT, point.x, point.y); return; } for (int i = 0; i < bom.size(); i++) { @@ -91,8 +94,32 @@ public class BOM extends AbstractComponent { @Override public void drawIcon(Graphics2D g2d, int width, int height) { - // TODO Auto-generated method stub + g2d.setColor(Color.white); + g2d.fillRect(width / 8, 0, 6 * width / 8, height - 1); + g2d.setColor(Color.black); + g2d.drawRect(width / 8, 0, 6 * width / 8, height - 1); + g2d.setFont(Constants.LABEL_FONT.deriveFont(1f * 9 * width / 32).deriveFont(Font.PLAIN)); + FontMetrics fontMetrics = g2d.getFontMetrics(); + Rectangle2D rect = fontMetrics.getStringBounds("BOM", g2d); + + int textHeight = (int) (rect.getHeight()); + int textWidth = (int) (rect.getWidth()); + + // Center text horizontally and vertically. + int x = (width - textWidth) / 2 + 1; + int y = textHeight + 2; + + g2d.drawString("BOM", x, y); + + g2d.setFont(g2d.getFont().deriveFont(1f * 5 * width / 32)); + + fontMetrics = g2d.getFontMetrics(); + rect = fontMetrics.getStringBounds("resistors", g2d); + x = (width - textWidth) / 2 + 1; + g2d.drawString("resistors", x, 4 * height / 7); + g2d.drawString("tubes", x, 5 * height / 7); + g2d.drawString("diodes", x, 6 * height / 7); } @Override