From 4106d2dad57d0579bc40a22a4c8231c2445c85b3 Mon Sep 17 00:00:00 2001 From: bancika Date: Sun, 23 Jan 2011 18:23:34 +0000 Subject: [PATCH] added label --- .../DIYLC/library/main.jar | Bin 51711 -> 54587 bytes .../diylc/components/AbstractComponent.java | 8 ++ .../components/AbstractLeadedComponent.java | 14 +- .../src/org/diylc/core/IDIYComponent.java | 8 +- .../diylc/core/measures/AbstractMeasure.java | 2 +- .../plugins/clipboard/EditMenuPlugin.java | 14 +- .../plugins/layers/LayersMenuPlugin.java | 6 +- .../DIYLC/src/org/diylc/utils/Constants.java | 3 - .../Library/lib/diylc.jar | Bin 292928 -> 296939 bytes .../src/org/diylc/components/misc/BOM.java | 5 +- .../src/org/diylc/components/misc/Label.java | 124 ++++++++++++++++++ .../components/misc/ProjectInformation.java | 5 +- .../passive/AbstractPotentiometer.java | 2 +- .../passive/AxialFilmCapacitor.java | 2 +- .../passive/PotentiometerPanel.java | 70 +++++++++- .../passive/PotentiometerValue.java | 2 +- .../passive/RadialCeramicDiskCapacitor.java | 2 +- .../passive/RadialFilmCapacitor.java | 2 +- .../org/diylc/components/passive/Taper.java | 8 +- .../components/semiconductors/DIL_IC.java | 7 +- .../semiconductors/DiodePlastic.java | 6 +- 21 files changed, 234 insertions(+), 56 deletions(-) create mode 100644 diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/misc/Label.java 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 33d05d685581c537cc38bca823f0d8bad95327e4..bc4d624dc7f984bd51a12ba3fbf4628ed8278a0e 100644 GIT binary patch delta 25769 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 zℜ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 diff --git a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/components/AbstractComponent.java b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/components/AbstractComponent.java index 414c63c3..f4d809b7 100644 --- a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/components/AbstractComponent.java +++ b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/components/AbstractComponent.java @@ -1,5 +1,8 @@ package org.diylc.components; +import java.awt.Color; +import java.awt.Font; + import org.diylc.core.IDIYComponent; import org.diylc.core.annotations.EditableProperty; @@ -16,6 +19,11 @@ public abstract class AbstractComponent implements IDIYComponent { private static final long serialVersionUID = 1L; protected String name = ""; + + public static Color SELECTION_COLOR = Color.red; + public static Color LABEL_COLOR = Color.black; + public static Color LABEL_COLOR_SELECTED = Color.red; + public static Font LABEL_FONT = new Font("Tahoma", Font.PLAIN, 12); @EditableProperty(defaultable = false) @Override 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 0b7d3e0c..d1370e65 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 @@ -19,7 +19,6 @@ import org.diylc.core.VisibilityPolicy; import org.diylc.core.annotations.EditableProperty; import org.diylc.core.measures.Size; import org.diylc.core.measures.SizeUnit; -import org.diylc.utils.Constants; /** * Base class for all leaded components such as resistors or capacitors. Has two @@ -33,8 +32,6 @@ public abstract class AbstractLeadedComponent extends AbstractTransparentComp private static final long serialVersionUID = 1L; public static Color LEAD_COLOR = Color.decode("#236B8E"); - public static Color LABEL_COLOR = Color.black; - public static Color LABEL_COLOR_SELECTED = Color.red; public static Size LEAD_THICKNESS = new Size(0.6d, SizeUnit.mm); public static Size DEFAULT_SIZE = new Size(1d, SizeUnit.in); @@ -45,6 +42,7 @@ public abstract class AbstractLeadedComponent extends AbstractTransparentComp new Point(DEFAULT_SIZE.convertToPixels() / 2, 0) }; protected Color bodyColor = getDefaultBodyColor(); protected Color borderColor = getDefaultBorderColor(); + protected Color labelColor = LABEL_COLOR; protected Display display = Display.NAME; protected AbstractLeadedComponent() { @@ -124,10 +122,8 @@ public abstract class AbstractLeadedComponent extends AbstractTransparentComp // Do not track the label because that area was already covered. drawingObserver.stopTracking(); // Draw label. - g2d.setFont(Constants.LABEL_FONT); - g2d - .setColor(componentState == ComponentState.SELECTED ? LABEL_COLOR_SELECTED - : getLabelColor()); + g2d.setFont(LABEL_FONT); + g2d.setColor(componentState == ComponentState.SELECTED ? LABEL_COLOR_SELECTED : labelColor); FontMetrics fontMetrics = g2d.getFontMetrics(); String label = display == Display.NAME ? getName() : getValue().toString(); // Adjust label angle if needed to make sure that it's readable. @@ -144,10 +140,6 @@ public abstract class AbstractLeadedComponent extends AbstractTransparentComp // Do nothing. } - protected Color getLabelColor() { - return LABEL_COLOR; - } - protected boolean shouldShadeLeads() { return true; } diff --git a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/core/IDIYComponent.java b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/core/IDIYComponent.java index b6671f9a..a46f57dc 100644 --- a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/core/IDIYComponent.java +++ b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/core/IDIYComponent.java @@ -1,6 +1,5 @@ package org.diylc.core; -import java.awt.Color; import java.awt.Graphics2D; import java.awt.Point; import java.io.Serializable; @@ -37,10 +36,9 @@ public interface IDIYComponent extends Serializable { public static final int BELOW_BOARD = 4; public static final int BOARD = 5; public static final int ABOVE_BOARD = 6; - public static final int COMPONENT = 7; - public static final int ABOVE_COMPONENT = 8; - - public static Color SELECTION_COLOR = Color.red; + public static final int BELOW_COMPONENT = 7; + public static final int COMPONENT = 8; + public static final int ABOVE_COMPONENT = 9; /** * @return component instance name. diff --git a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/core/measures/AbstractMeasure.java b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/core/measures/AbstractMeasure.java index 385a3e69..0245fba9 100644 --- a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/core/measures/AbstractMeasure.java +++ b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/core/measures/AbstractMeasure.java @@ -8,7 +8,7 @@ public class AbstractMeasure> implements Serializ private static final long serialVersionUID = 1L; - protected static final Format format = new DecimalFormat("#.00##"); + protected static final Format format = new DecimalFormat("0.####"); protected Double value; protected T unit; diff --git a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/plugins/clipboard/EditMenuPlugin.java b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/plugins/clipboard/EditMenuPlugin.java index f3fc26ce..8985dcbb 100644 --- a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/plugins/clipboard/EditMenuPlugin.java +++ b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/plugins/clipboard/EditMenuPlugin.java @@ -41,7 +41,7 @@ public class EditMenuPlugin implements IPlugIn, ClipboardOwner { private Clipboard clipboard; private Cloner cloner; - private CutAction cutAction; +// private CutAction cutAction; private CopyAction copyAction; private PasteAction pasteAction; @@ -72,8 +72,8 @@ public class EditMenuPlugin implements IPlugIn, ClipboardOwner { plugInPort.injectMenuAction(undoHandler.getUndoAction(), EDIT_TITLE); plugInPort.injectMenuAction(undoHandler.getRedoAction(), EDIT_TITLE); plugInPort.injectMenuAction(null, EDIT_TITLE); - cutAction = new CutAction(); - plugInPort.injectMenuAction(cutAction, EDIT_TITLE); + // cutAction = new CutAction(); + // plugInPort.injectMenuAction(cutAction, EDIT_TITLE); copyAction = new CopyAction(); plugInPort.injectMenuAction(copyAction, EDIT_TITLE); pasteAction = new PasteAction(); @@ -109,7 +109,7 @@ public class EditMenuPlugin implements IPlugIn, ClipboardOwner { private void refreshActions() { boolean enabled = !plugInPort.getSelectedComponents().isEmpty(); - cutAction.setEnabled(enabled); + // cutAction.setEnabled(enabled); copyAction.setEnabled(enabled); try { pasteAction.setEnabled(clipboard.isDataFlavorAvailable(ComponentSelection.listFlavor)); @@ -264,7 +264,8 @@ public class EditMenuPlugin implements IPlugIn, ClipboardOwner { // Save default values. for (PropertyWrapper property : editor.getDefaultedProperties()) { if (property.getValue() != null) { - plugInPort.setProjectDefaultPropertyValue(property.getName(), property.getValue()); + plugInPort.setProjectDefaultPropertyValue(property.getName(), property + .getValue()); } } } @@ -299,7 +300,8 @@ public class EditMenuPlugin implements IPlugIn, ClipboardOwner { // Save default values. for (PropertyWrapper property : editor.getDefaultedProperties()) { if (property.getValue() != null) { - plugInPort.setSelectionDefaultPropertyValue(property.getName(), property.getValue()); + plugInPort.setSelectionDefaultPropertyValue(property.getName(), property + .getValue()); } } } diff --git a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/plugins/layers/LayersMenuPlugin.java b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/plugins/layers/LayersMenuPlugin.java index c9e8f987..c0cf0f90 100644 --- a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/plugins/layers/LayersMenuPlugin.java +++ b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/plugins/layers/LayersMenuPlugin.java @@ -68,9 +68,9 @@ public class LayersMenuPlugin implements IPlugIn { BELOW_CHASSIS("Below Chassis", IDIYComponent.BELOW_CHASSIS), CHASSIS("Chassis", IDIYComponent.CHASSIS), ABOVE_CHASSIS("Above Chassis", IDIYComponent.ABOVE_CHASSIS), BELOW_BOARD( "Below Board", IDIYComponent.BELOW_BOARD), BOARD("Board", IDIYComponent.BOARD), ABOVE_BOARD( - "Above Board", IDIYComponent.ABOVE_BOARD), COMPONENT("Component", - IDIYComponent.COMPONENT), ABOVE_COMPONENT("Above Component", - IDIYComponent.ABOVE_COMPONENT); + "Above Board", IDIYComponent.ABOVE_BOARD), BELOW_COMPONENT("Below Component", + IDIYComponent.BELOW_COMPONENT), COMPONENT("Component", IDIYComponent.COMPONENT), ABOVE_COMPONENT( + "Above Component", IDIYComponent.ABOVE_COMPONENT); String title; int zOrder; diff --git a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/utils/Constants.java b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/utils/Constants.java index c9f43133..b4e665f9 100644 --- a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/utils/Constants.java +++ b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/utils/Constants.java @@ -2,7 +2,6 @@ package org.diylc.utils; import java.awt.BasicStroke; import java.awt.Color; -import java.awt.Font; import java.awt.Stroke; import java.awt.Toolkit; @@ -14,8 +13,6 @@ public class Constants { public static Color CANVAS_COLOR = Color.white; - public static Font LABEL_FONT = new Font("Tahoma", Font.PLAIN, 12); - public static final Stroke DASHED_STROKE = new BasicStroke(1.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER, 10f, new float[] { 2.0f }, 0.0f); } 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 8af4a89a679b17d836789241a6cb690bc3fb6baa..8c227d2d966d07bc875d9f02219d3bd909edeaeb 100644 GIT binary patch delta 49706 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 delta 46265 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 z zz@G;9Q}){%?+*fbLlTD1JGY5lg?N61YdkBi{-0@4@)mI#E+X@>?**RxQZT*rOFw^m zD!c{M%w{I5b0(ui@*tyZqy~?h&fb0<^iztfgsv}Tn)3iKx&KmJRJVjOK-$YFV_mpu zxg@Qxx_%4%>V=Cv5quM2WP25$8l%9slgj`{SB&AAz^+a|Pjfl&+{L*lK!vM=B9=3q zxC)b#BnWvFs$b4{bRUx)qzKszZH0vj@rYGjhZV73(nNM7TC;*uAhLowJCKgHELnX; zB0B=r=yPRp0UjD$P zX7gM~_)d7G$i9c~(kHSul9;^?4Kd@Qy|yqg;axSnuy){zk^2`J z5x=bhPYW#u3fx`AwBjA+ZL=E4+vNnxg1AI;cciRBg{RQW*> z`M$wby}|RfnO(o0B5F@%hIDr-c=F7H;U%S0;^;{LoX0*Tjmf)+G!SU>93&u*{zzlm zas~^$ois>54%seax@B)p+rO|`CbS2_H=31pO1=ZN)P;wV~6F*q3Q#xfp6a+<^ zhWNjG`alI+9HB4HYTu9) z`zw}F@Lt12X4V?Oxi*_2@9!g5W3ulYLbe=|7~PSE>$0H}%!jO|;^q+*BNUOrbXb2a zslhh{n?xe3)>m1IUdsQS0hTwf6tMJ2lURrRv%0-<6%kd&hyD+kb5k<`rf37hJC?~T zX|H2)axqQbkp;VI`0>Fk3#hTX1ym(;bt&V1*=cmW0Ajfin#*3zmK|ciWwI#=#E++x zh^PHW@D1K0%RADqK)2N_8|?o64?~`jO&O3Im*D$nV3YmsbVobdm(6^wg7r-!R!BNt zp^w>=4Z#Wz{_e69xOd@VC+LLt$aO8{L7X-{kympM?x?BogzCw{vibl;n}2e>(7UzF z817yRPS5*B$kynm2-LF1y9fkF;&#<^b50Uc$3N zTDeTr8yBD5xDQ(20$A)-gn<-={ZU5ebD^T(vRr2Um!Atb^0NIrZCOKML*eXbA)y1< HA))^Pfdf3$ 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 92f88a6a..3e23d4bc 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 @@ -21,7 +21,6 @@ import org.diylc.core.measures.Size; import org.diylc.core.measures.SizeUnit; 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) public class BOM extends AbstractComponent { @@ -48,7 +47,7 @@ public class BOM extends AbstractComponent { iterator.remove(); } } - g2d.setFont(Constants.LABEL_FONT); + g2d.setFont(LABEL_FONT); g2d.setColor(componentState == ComponentState.DRAGGING || componentState == ComponentState.SELECTED ? SELECTION_COLOR : COLOR); // Determine maximum name length and maximum value length to calculate @@ -99,7 +98,7 @@ public class BOM extends AbstractComponent { 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)); + g2d.setFont(LABEL_FONT.deriveFont(1f * 9 * width / 32).deriveFont(Font.PLAIN)); FontMetrics fontMetrics = g2d.getFontMetrics(); Rectangle2D rect = fontMetrics.getStringBounds("BOM", g2d); diff --git a/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/misc/Label.java b/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/misc/Label.java new file mode 100644 index 00000000..272047c0 --- /dev/null +++ b/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/misc/Label.java @@ -0,0 +1,124 @@ +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; +import java.awt.geom.Rectangle2D; + +import org.diylc.components.AbstractComponent; +import org.diylc.core.ComponentState; +import org.diylc.core.IDIYComponent; +import org.diylc.core.IDrawingObserver; +import org.diylc.core.Project; +import org.diylc.core.VisibilityPolicy; +import org.diylc.core.annotations.ComponentDescriptor; +import org.diylc.core.annotations.EditableProperty; + +@ComponentDescriptor(name = "Label", author = "Branislav Stojkovic", category = "Misc", description = "User defined label", instanceNamePrefix = "L", zOrder = IDIYComponent.ABOVE_COMPONENT, stretchable = false) +public class Label extends AbstractComponent { + + public static String DEFAULT_TEXT = "Double click to edit text"; + + private static final long serialVersionUID = 1L; + + private Point point = new Point(0, 0); + private String text = DEFAULT_TEXT; + private Font font = LABEL_FONT; + private Color color = LABEL_COLOR; + + @Override + public void draw(Graphics2D g2d, ComponentState componentState, Project project, + IDrawingObserver drawingObserver) { + g2d.setColor(componentState == ComponentState.SELECTED ? LABEL_COLOR_SELECTED : color); + g2d.setFont(font); + FontMetrics fontMetrics = g2d.getFontMetrics(); + Rectangle2D rect = fontMetrics.getStringBounds(text, g2d); + + int textHeight = (int) rect.getHeight(); + int textWidth = (int) rect.getWidth(); + + // Center text horizontally and vertically + int x = point.x - textWidth / 2; + int y = point.y - textHeight / 2 + fontMetrics.getAscent(); + + g2d.drawString(text, x, y); + } + + @Override + public void drawIcon(Graphics2D g2d, int width, int height) { + g2d.setColor(LABEL_COLOR); + g2d.setFont(LABEL_FONT.deriveFont(13f * width / 32).deriveFont(Font.PLAIN)); + + FontMetrics fontMetrics = g2d.getFontMetrics(); + Rectangle2D rect = fontMetrics.getStringBounds("Abc", g2d); + + int textHeight = (int) (rect.getHeight()); + int textWidth = (int) (rect.getWidth()); + + // Center text horizontally and vertically. + int x = (width - textWidth) / 2 + 1; + int y = (height - textHeight) / 2 + fontMetrics.getAscent(); + + g2d.drawString("Abc", x, y); + } + + @Override + public int getControlPointCount() { + return 1; + } + + @Override + public Point getControlPoint(int index) { + return point; + } + + @Override + public boolean isControlPointSticky(int index) { + return false; + } + + @Override + public VisibilityPolicy getControlPointVisibilityPolicy(int index) { + return VisibilityPolicy.NEVER; + } + + @Override + public void setControlPoint(Point point, int index) { + this.point.setLocation(point); + } + + @EditableProperty(defaultable = false) + public String getText() { + return text; + } + + public void setText(String text) { + this.text = text; + } + + @EditableProperty + public Color getColor() { + return color; + } + + public void setColor(Color color) { + this.color = color; + } + + @Override + public String getName() { + return super.getName(); + } + + @Deprecated + @Override + 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/ProjectInformation.java b/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/misc/ProjectInformation.java index 7be9270e..6c6d9b11 100644 --- a/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/misc/ProjectInformation.java +++ b/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/misc/ProjectInformation.java @@ -16,7 +16,6 @@ import org.diylc.core.VisibilityPolicy; import org.diylc.core.annotations.ComponentDescriptor; import org.diylc.core.measures.Size; import org.diylc.core.measures.SizeUnit; -import org.diylc.utils.Constants; @ComponentDescriptor(name = "Project Information", author = "Branislav Stojkovic", category = "Misc", description = "Draws a box with general project information", instanceNamePrefix = "BOM", zOrder = IDIYComponent.ABOVE_COMPONENT, stretchable = false) public class ProjectInformation extends AbstractComponent { @@ -32,7 +31,7 @@ public class ProjectInformation extends AbstractComponent { @Override public void draw(Graphics2D g2d, ComponentState componentState, Project project, IDrawingObserver drawingObserver) { - g2d.setFont(Constants.LABEL_FONT); + g2d.setFont(LABEL_FONT); g2d.setColor(componentState == ComponentState.DRAGGING || componentState == ComponentState.SELECTED ? SELECTION_COLOR : COLOR); // FontMetrics fontMetrics = g2d.getFontMetrics(); @@ -45,7 +44,7 @@ public class ProjectInformation extends AbstractComponent { 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)); + g2d.setFont(LABEL_FONT.deriveFont(1f * 9 * width / 32).deriveFont(Font.PLAIN)); FontMetrics fontMetrics = g2d.getFontMetrics(); Rectangle2D rect = fontMetrics.getStringBounds("BOM", g2d); diff --git a/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/passive/AbstractPotentiometer.java b/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/passive/AbstractPotentiometer.java index a189c4da..9662613c 100644 --- a/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/passive/AbstractPotentiometer.java +++ b/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/passive/AbstractPotentiometer.java @@ -17,7 +17,7 @@ public abstract class AbstractPotentiometer extends AbstractComponent { private static final long serialVersionUID = 1L; diff --git a/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/passive/PotentiometerPanel.java b/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/passive/PotentiometerPanel.java index a7999dd5..1884daa0 100644 --- a/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/passive/PotentiometerPanel.java +++ b/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/passive/PotentiometerPanel.java @@ -1,6 +1,7 @@ package org.diylc.components.passive; import java.awt.Color; +import java.awt.FontMetrics; import java.awt.Graphics2D; import java.awt.Point; import java.awt.geom.Area; @@ -19,7 +20,7 @@ import org.diylc.core.annotations.EditableProperty; import org.diylc.core.measures.Size; import org.diylc.core.measures.SizeUnit; -@ComponentDescriptor(name = "Potentiometer (panel mount)", author = "Branislav Stojkovic", category = "Passive", creationMethod = CreationMethod.SINGLE_CLICK, instanceNamePrefix = "VR", description = "test", zOrder = IDIYComponent.ABOVE_COMPONENT, stretchable = false) +@ComponentDescriptor(name = "Potentiometer (panel mount)", author = "Branislav Stojkovic", category = "Passive", creationMethod = CreationMethod.SINGLE_CLICK, instanceNamePrefix = "VR", description = "Panel mount potentiometer with solder lugs", zOrder = IDIYComponent.ABOVE_COMPONENT, stretchable = false) public class PotentiometerPanel extends AbstractPotentiometer { private static final long serialVersionUID = 1L; @@ -32,8 +33,10 @@ public class PotentiometerPanel extends AbstractPotentiometer { protected Size bodyDiameter = BODY_DIAMETER; protected Size spacing = SPACING; + protected Size lugDiameter = LUG_DIAMETER; protected Color bodyColor = BODY_COLOR; protected Color borderColor = BORDER_COLOR; + // Array of 7 elements: 3 lug connectors, 1 pot body and 3 lugs protected Area[] body = null; public PotentiometerPanel() { @@ -72,8 +75,8 @@ public class PotentiometerPanel extends AbstractPotentiometer { body = new Area[7]; // Add lugs. - int lugDiameter = getClosestOdd(LUG_DIAMETER.convertToPixels()); - int holeDiameter = getClosestOdd(LUG_DIAMETER.convertToPixels() / 2); + int lugDiameter = getClosestOdd(this.lugDiameter.convertToPixels()); + int holeDiameter = getClosestOdd(this.lugDiameter.convertToPixels() / 2); for (int i = 0; i < 3; i++) { Area area = new Area(new Ellipse2D.Double(controlPoints[i].x - lugDiameter / 2, controlPoints[i].y - lugDiameter / 2, lugDiameter, lugDiameter)); @@ -160,16 +163,62 @@ public class PotentiometerPanel extends AbstractPotentiometer { if (shape != null) { g2d.setColor(bodyColor); g2d.fill(shape); - g2d.setColor(borderColor); + g2d.setColor(componentState == ComponentState.SELECTED + || componentState == ComponentState.DRAGGING ? SELECTION_COLOR + : borderColor); g2d.draw(shape); } } + // Draw caption. + g2d.setFont(LABEL_FONT); + g2d + .setColor(componentState == ComponentState.SELECTED ? LABEL_COLOR_SELECTED + : LABEL_COLOR); + FontMetrics fontMetrics = g2d.getFontMetrics(); + Rectangle2D bodyRect = getBody()[3].getBounds2D(); + Rectangle2D rect = fontMetrics.getStringBounds(getName(), g2d); + + int textHeight = (int) rect.getHeight(); + int textWidth = (int) rect.getWidth(); + int panelHeight = (int) bodyRect.getHeight(); + int panelWidth = (int) bodyRect.getWidth(); + + int x = (panelWidth - textWidth) / 2; + int y = panelHeight / 2 - textHeight + fontMetrics.getAscent(); + + g2d.drawString(getName(), (int) (bodyRect.getX() + x), (int) (bodyRect.getY() + y)); + + // Draw value. + rect = fontMetrics.getStringBounds(getValue().toString(), g2d); + + textHeight = (int) rect.getHeight(); + textWidth = (int) rect.getWidth(); + + x = (panelWidth - textWidth) / 2; + y = panelHeight / 2 + fontMetrics.getAscent(); + + g2d.drawString(getValue().toString(), (int) (bodyRect.getX() + x), + (int) (bodyRect.getY() + y)); } @Override public void drawIcon(Graphics2D g2d, int width, int height) { - // TODO Auto-generated method stub - + int margin = 4 * width / 32; + int spacing = width / 3; + g2d.setColor(BORDER_COLOR); + g2d.setStroke(ObjectCache.getInstance().fetchBasicStroke(2 * width / 32)); + g2d.drawLine(width / 2 - spacing, height / 2, width / 2 - spacing, height - margin); + g2d.drawLine(width / 2 + spacing, height / 2, width / 2 + spacing, height - margin); + g2d.drawLine(width / 2, height / 2, width / 2, height - margin); + g2d.setStroke(ObjectCache.getInstance().fetchBasicStroke(4 * width / 32)); + g2d.drawLine(width / 2 - spacing, height - margin, width / 2 - spacing, height - margin); + g2d.drawLine(width / 2 + spacing, height - margin, width / 2 + spacing, height - margin); + g2d.drawLine(width / 2, height - margin, width / 2, height - margin); + g2d.setStroke(ObjectCache.getInstance().fetchBasicStroke(1)); + g2d.setColor(BODY_COLOR); + g2d.fillOval(margin, margin / 2, width - 2 * margin, height - 2 * margin); + g2d.setColor(BORDER_COLOR); + g2d.drawOval(margin, margin / 2, width - 2 * margin, height - 2 * margin); } @EditableProperty @@ -192,6 +241,15 @@ public class PotentiometerPanel extends AbstractPotentiometer { this.bodyDiameter = bodyDiameter; } + @EditableProperty(name = "Lug size") + public Size getLugDiameter() { + return lugDiameter; + } + + public void setLugDiameter(Size lugDiameter) { + this.lugDiameter = lugDiameter; + } + @EditableProperty(name = "Body") public Color getBodyColor() { return bodyColor; diff --git a/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/passive/PotentiometerValue.java b/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/passive/PotentiometerValue.java index 00efd2b3..26f3caee 100644 --- a/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/passive/PotentiometerValue.java +++ b/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/passive/PotentiometerValue.java @@ -23,6 +23,6 @@ public class PotentiometerValue { @Override public String toString() { - return resistance.toString() + taper.toString(); + return resistance.toString() + " " + taper.toString(); } } diff --git a/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/passive/RadialCeramicDiskCapacitor.java b/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/passive/RadialCeramicDiskCapacitor.java index aa015cc1..38f6b763 100644 --- a/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/passive/RadialCeramicDiskCapacitor.java +++ b/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/passive/RadialCeramicDiskCapacitor.java @@ -15,7 +15,7 @@ import org.diylc.core.measures.CapacitanceUnit; import org.diylc.core.measures.Size; import org.diylc.core.measures.SizeUnit; -@ComponentDescriptor(name = "Ceramic Capacitor (radial)", author = "Branislav Stojkovic", category = "Passive", creationMethod = CreationMethod.POINT_BY_POINT, instanceNamePrefix = "C", description = "test", zOrder = IDIYComponent.COMPONENT) +@ComponentDescriptor(name = "Ceramic Capacitor (radial)", author = "Branislav Stojkovic", category = "Passive", creationMethod = CreationMethod.POINT_BY_POINT, instanceNamePrefix = "C", description = "Standard radial ceramic capacitor", zOrder = IDIYComponent.COMPONENT) public class RadialCeramicDiskCapacitor extends AbstractLeadedComponent { private static final long serialVersionUID = 1L; diff --git a/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/passive/RadialFilmCapacitor.java b/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/passive/RadialFilmCapacitor.java index 77366b40..19296332 100644 --- a/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/passive/RadialFilmCapacitor.java +++ b/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/passive/RadialFilmCapacitor.java @@ -15,7 +15,7 @@ import org.diylc.core.measures.CapacitanceUnit; import org.diylc.core.measures.Size; import org.diylc.core.measures.SizeUnit; -@ComponentDescriptor(name = "Film Capacitor (radial)", author = "Branislav Stojkovic", category = "Passive", creationMethod = CreationMethod.POINT_BY_POINT, instanceNamePrefix = "C", description = "test", zOrder = IDIYComponent.COMPONENT) +@ComponentDescriptor(name = "Film Capacitor (radial)", author = "Branislav Stojkovic", category = "Passive", creationMethod = CreationMethod.POINT_BY_POINT, instanceNamePrefix = "C", description = "Radial film capacitor, similar to Sprague Orange Drop", zOrder = IDIYComponent.COMPONENT) public class RadialFilmCapacitor extends AbstractLeadedComponent { private static final long serialVersionUID = 1L; diff --git a/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/passive/Taper.java b/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/passive/Taper.java index 372e3294..d92983aa 100644 --- a/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/passive/Taper.java +++ b/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/passive/Taper.java @@ -2,5 +2,11 @@ package org.diylc.components.passive; public enum Taper { - LINEAR, LOG, REVERSE_LOG, W, S + LIN, LOG, REV_LOG, W, S; + + @Override + public String toString() { + return name().substring(0, 1).toUpperCase() + + name().substring(1).toLowerCase().replace("_", ""); + } } diff --git a/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/semiconductors/DIL_IC.java b/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/semiconductors/DIL_IC.java index 62a252a2..3ae26731 100644 --- a/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/semiconductors/DIL_IC.java +++ b/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/semiconductors/DIL_IC.java @@ -23,7 +23,6 @@ import org.diylc.core.annotations.ComponentDescriptor; import org.diylc.core.annotations.EditableProperty; import org.diylc.core.measures.Size; import org.diylc.core.measures.SizeUnit; -import org.diylc.utils.Constants; @ComponentDescriptor(name = "DIL IC", author = "Branislav Stojkovic", category = "Semiconductors", instanceNamePrefix = "IC", description = "test", stretchable = false, zOrder = IDIYComponent.COMPONENT) public class DIL_IC extends AbstractTransparentComponent { @@ -125,12 +124,12 @@ public class DIL_IC extends AbstractTransparentComponent { public Point getControlPoint(int index) { return controlPoints[index]; } - + @Override public boolean isControlPointSticky(int index) { return true; } - + @Override public VisibilityPolicy getControlPointVisibilityPolicy(int index) { return VisibilityPolicy.NEVER; @@ -249,7 +248,7 @@ public class DIL_IC extends AbstractTransparentComponent { g2d.setStroke(ObjectCache.getInstance().fetchBasicStroke(1)); g2d.draw(getBody()); // Draw label. - g2d.setFont(Constants.LABEL_FONT); + g2d.setFont(LABEL_FONT); g2d.setColor(LABEL_COLOR); FontMetrics fontMetrics = g2d.getFontMetrics(g2d.getFont()); Rectangle2D rect = fontMetrics.getStringBounds(getName(), g2d); diff --git a/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/semiconductors/DiodePlastic.java b/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/semiconductors/DiodePlastic.java index 7d02fd2f..d0118346 100644 --- a/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/semiconductors/DiodePlastic.java +++ b/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/semiconductors/DiodePlastic.java @@ -30,6 +30,7 @@ public class DiodePlastic extends AbstractLeadedComponent { public DiodePlastic() { super(); + this.labelColor = LABEL_COLOR; } @EditableProperty @@ -74,11 +75,6 @@ public class DiodePlastic extends AbstractLeadedComponent { return BORDER_COLOR; } - @Override - protected Color getLabelColor() { - return LABEL_COLOR; - } - @Override protected Shape getBodyShape() { return new Rectangle2D.Double(0f, 0f, getWidth().convertToPixels(),