diff --git a/ diy-layout-creator --username bancika@gmail.com/diylc-core/library/main.jar b/ diy-layout-creator --username bancika@gmail.com/diylc-core/library/main.jar index f549fe36..1e5cfd91 100644 Binary files a/ diy-layout-creator --username bancika@gmail.com/diylc-core/library/main.jar and b/ diy-layout-creator --username bancika@gmail.com/diylc-core/library/main.jar differ diff --git a/ diy-layout-creator --username bancika@gmail.com/diylc-core/src/org/diylc/presenter/ComponentProcessor.java b/ diy-layout-creator --username bancika@gmail.com/diylc-core/src/org/diylc/presenter/ComponentProcessor.java index f9803845..7afd0173 100644 --- a/ diy-layout-creator --username bancika@gmail.com/diylc-core/src/org/diylc/presenter/ComponentProcessor.java +++ b/ diy-layout-creator --username bancika@gmail.com/diylc-core/src/org/diylc/presenter/ComponentProcessor.java @@ -24,6 +24,8 @@ import org.diylc.core.annotations.BomPolicy; import org.diylc.core.annotations.ComponentDescriptor; import org.diylc.core.annotations.EditableProperty; +import com.sun.corba.se.impl.ior.OldPOAObjectKeyTemplate; + /** * Utility class with component processing methods. * @@ -31,8 +33,7 @@ import org.diylc.core.annotations.EditableProperty; */ public class ComponentProcessor { - private static final Logger LOG = Logger - .getLogger(ComponentProcessor.class); + private static final Logger LOG = Logger.getLogger(ComponentProcessor.class); private static ComponentProcessor instance; @@ -54,8 +55,7 @@ public class ComponentProcessor { this.propertyValidatorCache = new HashMap(); } - public ComponentType extractComponentTypeFrom( - Class> clazz) { + public ComponentType extractComponentTypeFrom(Class> clazz) { if (componentTypeMap.containsKey(clazz.getName())) { return componentTypeMap.get(clazz.getName()); } @@ -72,8 +72,7 @@ public class ComponentProcessor { BomPolicy bomPolicy; boolean autoEdit; if (clazz.isAnnotationPresent(ComponentDescriptor.class)) { - ComponentDescriptor annotation = clazz - .getAnnotation(ComponentDescriptor.class); + ComponentDescriptor annotation = clazz.getAnnotation(ComponentDescriptor.class); name = annotation.name(); description = annotation.description(); creationMethod = annotation.creationMethod(); @@ -101,27 +100,24 @@ public class ComponentProcessor { icon = null; // Draw component icon. try { - IDIYComponent componentInstance = (IDIYComponent) clazz - .newInstance(); - Image image = new BufferedImage(Presenter.ICON_SIZE, - Presenter.ICON_SIZE, + IDIYComponent componentInstance = (IDIYComponent) clazz.newInstance(); + Image image = new BufferedImage(Presenter.ICON_SIZE, Presenter.ICON_SIZE, java.awt.image.BufferedImage.TYPE_INT_ARGB); Graphics2D g2d = (Graphics2D) image.getGraphics(); - g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, - RenderingHints.VALUE_ANTIALIAS_ON); - g2d.setRenderingHint(RenderingHints.KEY_RENDERING, - RenderingHints.VALUE_RENDER_QUALITY); -// g2d.setRenderingHint(RenderingHints.KEY_STROKE_CONTROL, -// RenderingHints.VALUE_STROKE_PURE); - componentInstance.drawIcon(g2d, Presenter.ICON_SIZE, - Presenter.ICON_SIZE); + g2d + .setRenderingHint(RenderingHints.KEY_ANTIALIASING, + RenderingHints.VALUE_ANTIALIAS_ON); + g2d.setRenderingHint(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY); + // g2d.setRenderingHint(RenderingHints.KEY_STROKE_CONTROL, + // RenderingHints.VALUE_STROKE_PURE); + componentInstance.drawIcon(g2d, Presenter.ICON_SIZE, Presenter.ICON_SIZE); icon = new ImageIcon(image); } catch (Exception e) { throw new RuntimeException(e); } - ComponentType componentType = new ComponentType(name, description, - creationMethod, category, namePrefix, author, icon, clazz, - zOrder, flexibleZOrder, stretchable, bomPolicy, autoEdit); + ComponentType componentType = new ComponentType(name, description, creationMethod, + category, namePrefix, author, icon, clazz, zOrder, flexibleZOrder, stretchable, + bomPolicy, autoEdit); componentTypeMap.put(clazz.getName(), componentType); return componentType; } @@ -142,8 +138,7 @@ public class ComponentProcessor { try { if (method.isAnnotationPresent(EditableProperty.class) && !method.isAnnotationPresent(Deprecated.class)) { - EditableProperty annotation = method - .getAnnotation(EditableProperty.class); + EditableProperty annotation = method.getAnnotation(EditableProperty.class); String name; if (annotation.name().equals("")) { name = method.getName().substring(3); @@ -152,18 +147,16 @@ public class ComponentProcessor { } IPropertyValidator validator = getPropertyValidator(annotation .validatorClass()); - Method setter = clazz.getMethod("set" - + method.getName().substring(3), method - .getReturnType()); + Method setter = clazz.getMethod("set" + method.getName().substring(3), + method.getReturnType()); PropertyWrapper property = new PropertyWrapper(name, - method.getReturnType(), method.getName(), - setter.getName(), annotation.defaultable(), - validator); + method.getReturnType(), method.getName(), setter.getName(), + annotation.defaultable(), validator); properties.add(property); } } catch (NoSuchMethodException e) { - LOG.debug("No matching setter found for \"" - + method.getName() + "\". Skipping..."); + LOG.debug("No matching setter found for \"" + method.getName() + + "\". Skipping..."); } } } @@ -171,7 +164,7 @@ public class ComponentProcessor { propertyCache.put(clazz.getName(), properties); return cloneProperties(properties); } - + private List cloneProperties(List properties) { List result = new ArrayList(properties.size()); for (PropertyWrapper propertyWrapper : properties) { @@ -205,8 +198,7 @@ public class ComponentProcessor { } for (int i = 1; i < selectedComponents.size(); i++) { IDIYComponent component = selectedComponents.get(i); - List newProperties = extractProperties(component - .getClass()); + List newProperties = extractProperties(component.getClass()); for (PropertyWrapper property : newProperties) { property.readFrom(component); } @@ -215,14 +207,15 @@ public class ComponentProcessor { // their values match. for (PropertyWrapper oldProperty : properties) { if (newProperties.contains(oldProperty)) { - PropertyWrapper newProperty = newProperties - .get(newProperties.indexOf(oldProperty)); - if ((newProperty.getValue() != null && newProperty - .getValue() == null) - || !newProperty.getValue().equals( - oldProperty.getValue())) { - // Values don't match, so the property is not unique - // valued. + PropertyWrapper newProperty = newProperties.get(newProperties + .indexOf(oldProperty)); + if (newProperty.getValue() != null && newProperty.getValue() != null) { + if (!newProperty.getValue().equals(oldProperty.getValue())) + // Values don't match, so the property is not unique + // valued. + oldProperty.setUnique(false); + } else if ((newProperty.getValue() == null && oldProperty.getValue() != null) + || (newProperty.getValue() != null && oldProperty.getValue() == null)) { oldProperty.setUnique(false); } } @@ -236,13 +229,11 @@ public class ComponentProcessor { // } // } } - Collections.sort(properties, ComparatorFactory.getInstance() - .getPropertyNameComparator()); + Collections.sort(properties, ComparatorFactory.getInstance().getPropertyNameComparator()); return properties; } - private IPropertyValidator getPropertyValidator( - Class clazz) { + private IPropertyValidator getPropertyValidator(Class clazz) { if (propertyValidatorCache.containsKey(clazz.getName())) { return propertyValidatorCache.get(clazz.getName()); } @@ -250,8 +241,7 @@ public class ComponentProcessor { try { validator = clazz.newInstance(); } catch (Exception e) { - LOG.error("Could not instantiate validator for " + clazz.getName(), - e); + LOG.error("Could not instantiate validator for " + clazz.getName(), e); return null; } propertyValidatorCache.put(clazz.getName(), validator); diff --git a/ diy-layout-creator --username bancika@gmail.com/diylc-core/src/org/diylc/utils/BomMaker.java b/ diy-layout-creator --username bancika@gmail.com/diylc-core/src/org/diylc/utils/BomMaker.java index 19d16b89..4f2ec00e 100644 --- a/ diy-layout-creator --username bancika@gmail.com/diylc-core/src/org/diylc/utils/BomMaker.java +++ b/ diy-layout-creator --username bancika@gmail.com/diylc-core/src/org/diylc/utils/BomMaker.java @@ -63,7 +63,12 @@ public class BomMaker { if (type.getBomPolicy() == BomPolicy.NEVER_SHOW) continue; String name = component.getName(); - String value = component.getValueForDisplay(); + String value; + try { + value = component.getValueForDisplay(); + } catch (Exception e){ + value = ""; + } if ((name != null) && (value != null)) { String key = type.getName() + "|" + value; if (entryMap.containsKey(key)) { diff --git a/ diy-layout-creator --username bancika@gmail.com/diylc-library/lib/diylc-core.jar b/ diy-layout-creator --username bancika@gmail.com/diylc-library/lib/diylc-core.jar index 0fc90ec4..3ea0ed74 100644 Binary files a/ diy-layout-creator --username bancika@gmail.com/diylc-library/lib/diylc-core.jar and b/ diy-layout-creator --username bancika@gmail.com/diylc-library/lib/diylc-core.jar differ diff --git a/ diy-layout-creator --username bancika@gmail.com/diylc-library/src/org/diylc/components/guitar/LPSwitch.java b/ diy-layout-creator --username bancika@gmail.com/diylc-library/src/org/diylc/components/guitar/LPSwitch.java new file mode 100644 index 00000000..36244a95 --- /dev/null +++ b/ diy-layout-creator --username bancika@gmail.com/diylc-library/src/org/diylc/components/guitar/LPSwitch.java @@ -0,0 +1,320 @@ +//package org.diylc.components.guitar; +// +//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 java.awt.geom.AffineTransform; +//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.IPlugInPort; +//import org.diylc.common.ObjectCache; +//import org.diylc.common.Orientation; +//import org.diylc.components.AbstractTransparentComponent; +//import org.diylc.core.ComponentState; +//import org.diylc.core.IDIYComponent; +//import org.diylc.core.IDrawingObserver; +//import org.diylc.core.Project; +//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.measures.Size; +//import org.diylc.core.measures.SizeUnit; +//import org.diylc.utils.Constants; +// +////@ComponentDescriptor(name = "Les Paul Switch", category = "Guitar", author = "Branislav Stojkovic", description = "Les Paul-style 3 position switch", stretchable = false, zOrder = IDIYComponent.COMPONENT, instanceNamePrefix = "SW") +//public class LPSwitch extends AbstractTransparentComponent { +// +// private static final long serialVersionUID = 1L; +// +// private static Color BASE_COLOR = Color.lightGray; +// private static Color WAFER_COLOR = Color.decode("#CD8500"); +// +// private static Size BASE_WIDTH = new Size(0.5d, SizeUnit.in); +// private static Size BASE_LENGTH = new Size(47.5d, SizeUnit.mm); +// private static Size WAFER_LENGTH = new Size(40d, SizeUnit.mm); +// private static Size WAFER_SPACING = new Size(7.62d, SizeUnit.mm); +// private static Size WAFER_THICKNESS = new Size(0.05d, SizeUnit.in); +// private static Size HOLE_SIZE = new Size(2d, SizeUnit.mm); +// private static Size HOLE_SPACING = new Size(41.2d, SizeUnit.mm); +// private static Size TERMINAL_LENGTH = new Size(3d, SizeUnit.mm); +// private static Size TERMINAL_SPACING = new Size(0.1d, SizeUnit.in); +// private static Size TERMINAL_THICKNESS = new Size(0.02d, SizeUnit.in); +// +// private String value = ""; +// private Point[] controlPoints = new Point[] { new Point(0, 0), new Point(0, 0), +// new Point(0, 0), new Point(0, 0) }; +// transient Shape[] body; +// private Orientation orientation = Orientation.DEFAULT; +// +// public LPSwitch() { +// super(); +// updateControlPoints(); +// } +// +// @Override +// public void draw(Graphics2D g2d, ComponentState componentState, boolean outlineMode, +// Project project, IDrawingObserver drawingObserver) { +// Shape[] body = getBody(); +// +// g2d.setStroke(ObjectCache.getInstance().fetchBasicStroke(1)); +// if (componentState != ComponentState.DRAGGING) { +// Composite oldComposite = g2d.getComposite(); +// if (alpha < MAX_ALPHA) { +// g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * alpha +// / MAX_ALPHA)); +// } +// g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : BASE_COLOR); +// g2d.fill(body[0]); +// g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : WAFER_COLOR); +// g2d.fill(body[1]); +// g2d.setComposite(oldComposite); +// } +// +// Color finalBorderColor; +// if (outlineMode) { +// Theme theme = (Theme) ConfigurationManager.getInstance().readObject( +// IPlugInPort.THEME_KEY, Constants.DEFAULT_THEME); +// finalBorderColor = componentState == ComponentState.SELECTED +// || componentState == ComponentState.DRAGGING ? SELECTION_COLOR : theme +// .getOutlineColor(); +// } else { +// finalBorderColor = componentState == ComponentState.SELECTED +// || componentState == ComponentState.DRAGGING ? SELECTION_COLOR : BASE_COLOR +// .darker(); +// } +// +// g2d.setColor(finalBorderColor); +// g2d.draw(body[0]); +// +// if (outlineMode) { +// Theme theme = (Theme) ConfigurationManager.getInstance().readObject( +// IPlugInPort.THEME_KEY, Constants.DEFAULT_THEME); +// finalBorderColor = componentState == ComponentState.SELECTED +// || componentState == ComponentState.DRAGGING ? SELECTION_COLOR : theme +// .getOutlineColor(); +// } else { +// finalBorderColor = componentState == ComponentState.SELECTED +// || componentState == ComponentState.DRAGGING ? SELECTION_COLOR : WAFER_COLOR +// .darker(); +// } +// +// g2d.draw(body[1]); +// +// g2d.setColor(METAL_COLOR); +// g2d.fill(body[2]); +// g2d.setColor(METAL_COLOR.darker()); +// g2d.draw(body[2]); +// } +// +// public Shape[] getBody() { +// if (body == null) { +// body = new Shape[3]; +// +// int x = controlPoints[0].x; +// int y = controlPoints[0].y; +// int baseWidth = (int) BASE_WIDTH.convertToPixels(); +// int baseLength = (int) BASE_LENGTH.convertToPixels(); +// int holeSize = getClosestOdd(HOLE_SIZE.convertToPixels()); +// int holeSpacing = (int) HOLE_SPACING.convertToPixels(); +// int waferLength = (int) WAFER_LENGTH.convertToPixels(); +// int waferSpacing = (int) WAFER_SPACING.convertToPixels(); +// int waferThickness = (int) WAFER_THICKNESS.convertToPixels(); +// int terminalSpacing = (int) TERMINAL_SPACING.convertToPixels(); +// int terminalLength = getClosestOdd(TERMINAL_LENGTH.convertToPixels()); +// int terminalWidth = getClosestOdd(TERMINAL_WIDTH.convertToPixels()); +// +// int baseX = x - terminalLength / 2 - waferSpacing; +// int baseY = y +// - (baseLength - terminalSpacing * (type == LeverSwitchType.DP3T ? 7 : 12)) / 2; +// Area baseArea = new Area(new Rectangle2D.Double(baseX, baseY, baseWidth, baseLength)); +// baseArea.subtract(new Area(new Ellipse2D.Double(baseX + baseWidth / 2 - holeSize / 2, +// baseY + (baseLength - holeSpacing) / 2 - holeSize / 2, holeSize, holeSize))); +// baseArea.subtract(new Area(new Ellipse2D.Double(baseX + baseWidth / 2 - holeSize / 2, +// baseY + (baseLength - holeSpacing) / 2 - holeSize / 2 + holeSpacing, holeSize, +// holeSize))); +// body[0] = baseArea; +// +// Area waferArea = new Area(new Rectangle2D.Double(x - terminalLength / 2 +// - waferThickness / 2, +// y - (waferLength - terminalSpacing * (type == LeverSwitchType.DP3T ? 7 : 12)) +// / 2, waferThickness, waferLength)); +// +// if (type == LeverSwitchType._4P5T) { +// waferArea.add(new Area(new Rectangle2D.Double(x - terminalLength / 2 +// - waferThickness / 2 + waferSpacing, y +// - (waferLength - terminalSpacing * (type == LeverSwitchType.DP3T ? 7 : 12)) +// / 2, waferThickness, waferLength))); +// } +// body[1] = waferArea; +// +// double theta = 0; +// // Rotate if needed +// if (orientation != Orientation.DEFAULT) { +// switch (orientation) { +// case _90: +// theta = Math.PI / 2; +// break; +// case _180: +// theta = Math.PI; +// break; +// case _270: +// theta = Math.PI * 3 / 2; +// break; +// } +// } +// +// Area terminalArea = new Area(); +// for (Point point : controlPoints) { +// Area terminal = new Area(new RoundRectangle2D.Double(point.x - terminalLength / 2, +// point.y - terminalWidth / 2, terminalLength, terminalWidth, +// terminalWidth / 2, terminalWidth / 2)); +// terminal.subtract(new Area( +// new RoundRectangle2D.Double(point.x - terminalLength / 4, point.y +// - terminalWidth / 4, terminalLength / 2, terminalWidth / 2, +// terminalWidth / 2, terminalWidth / 2))); +// // Rotate the terminal if needed +// if (theta != 0) { +// AffineTransform rotation = AffineTransform.getRotateInstance(theta, point.x, +// point.y); +// terminal.transform(rotation); +// } +// terminalArea.add(terminal); +// } +// body[2] = terminalArea; +// +// // Rotate if needed +// if (theta != 0) { +// AffineTransform rotation = AffineTransform.getRotateInstance(theta, x, y); +// // Skip the last one because it's already rotated +// for (int i = 0; i < body.length - 1; i++) { +// Shape shape = body[i]; +// Area area = (Area) shape; +// area.transform(rotation); +// } +// } +// } +// return body; +// } +// +// private void updateControlPoints() { +// int x = controlPoints[0].x; +// int y = controlPoints[0].y; +// int terminalSpacing = (int) TERMINAL_SPACING.convertToPixels(); +// int baseLength = (int) BASE_LENGTH.convertToPixels(); +// +// controlPoints[1].setLocation(x - terminalSpacing * 2 - baseLength, y - terminalSpacing); +// controlPoints[2].setLocation(x - terminalSpacing * 2 - baseLength, y); +// controlPoints[3].setLocation(x - terminalSpacing * 2 - baseLength, y); +// +// // Rotate if needed +// if (orientation != Orientation.DEFAULT) { +// double theta = 0; +// switch (orientation) { +// case _90: +// theta = Math.PI / 2; +// break; +// case _180: +// theta = Math.PI; +// break; +// case _270: +// theta = Math.PI * 3 / 2; +// break; +// } +// AffineTransform rotation = AffineTransform.getRotateInstance(theta, x, y); +// for (Point point : controlPoints) { +// rotation.transform(point, point); +// } +// } +// } +// +// @Override +// public void drawIcon(Graphics2D g2d, int width, int height) { +// g2d.setClip(width / 32, width / 32, width, height); +// g2d.setColor(BASE_COLOR); +// g2d.fillRect(0, 0, width * 2 / 3, height); +// g2d.setColor(BASE_COLOR.darker()); +// g2d.drawRect(0, 0, width * 2 / 3, height); +// g2d.setColor(WAFER_COLOR); +// g2d.fillRect(width / 8 * 3, 0, width / 8, height); +// g2d.setColor(WAFER_COLOR.darker()); +// g2d.drawRect(width / 8 * 3, 0, width / 8, height); +// Area terminals = new Area(); +// int terminalLength = getClosestOdd(11 * width / 32); +// int terminalWidth = getClosestOdd(7 * width / 32); +// Area terminal = new Area(new RoundRectangle2D.Double(width / 16 * 7, 4 * width / 32, +// terminalLength, terminalWidth, terminalWidth / 2, terminalWidth / 2)); +// terminal.subtract(new Area(new RoundRectangle2D.Double(width / 16 * 7 + terminalLength / 4 +// + 1, 4 * width / 32 + terminalWidth / 4 + 1, terminalLength / 2, terminalWidth / 2, +// terminalWidth / 4, terminalWidth / 4))); +// terminals.add(terminal); +// terminal = new Area(terminal); +// terminal.transform(AffineTransform.getTranslateInstance(-terminalLength, terminalWidth + 2 +// * width / 32)); +// terminals.add(terminal); +// terminal = new Area(terminal); +// terminal.transform(AffineTransform.getTranslateInstance(terminalLength, terminalWidth + 2 +// * width / 32)); +// terminals.add(terminal); +// g2d.setColor(METAL_COLOR); +// g2d.fill(terminals); +// g2d.setColor(METAL_COLOR.darker()); +// g2d.draw(terminals); +// } +// +// @Override +// public int getControlPointCount() { +// return controlPoints.length; +// } +// +// @Override +// public VisibilityPolicy getControlPointVisibilityPolicy(int index) { +// return VisibilityPolicy.NEVER; +// } +// +// @Override +// public boolean isControlPointSticky(int index) { +// return true; +// } +// +// @Override +// public Point getControlPoint(int index) { +// return controlPoints[index]; +// } +// +// @Override +// public void setControlPoint(Point point, int index) { +// this.controlPoints[index].setLocation(point); +// // Invalidate the body +// body = null; +// } +// +// @Override +// public String getValue() { +// return value; +// } +// +// @Override +// public void setValue(String value) { +// this.value = value; +// } +// +// @EditableProperty +// public Orientation getOrientation() { +// return orientation; +// } +// +// public void setOrientation(Orientation orientation) { +// this.orientation = orientation; +// updateControlPoints(); +// // Invalidate the body +// body = null; +// } +//} diff --git a/ diy-layout-creator --username bancika@gmail.com/diylc-library/src/org/diylc/components/passive/AxialElectrolyticCapacitor.java b/ diy-layout-creator --username bancika@gmail.com/diylc-library/src/org/diylc/components/passive/AxialElectrolyticCapacitor.java index 30fcaeb7..27b3f242 100644 --- a/ diy-layout-creator --username bancika@gmail.com/diylc-library/src/org/diylc/components/passive/AxialElectrolyticCapacitor.java +++ b/ diy-layout-creator --username bancika@gmail.com/diylc-library/src/org/diylc/components/passive/AxialElectrolyticCapacitor.java @@ -59,7 +59,7 @@ public class AxialElectrolyticCapacitor extends @Override public String getValueForDisplay() { - return getValue().toString() + " " + getVoltageNew().toString(); + return getValue().toString() + (getVoltageNew() == null ? "" : " " + getVoltageNew().toString()); } @Deprecated diff --git a/ diy-layout-creator --username bancika@gmail.com/diylc-library/src/org/diylc/components/passive/AxialFilmCapacitor.java b/ diy-layout-creator --username bancika@gmail.com/diylc-library/src/org/diylc/components/passive/AxialFilmCapacitor.java index 9069417c..f1500fb8 100644 --- a/ diy-layout-creator --username bancika@gmail.com/diylc-library/src/org/diylc/components/passive/AxialFilmCapacitor.java +++ b/ diy-layout-creator --username bancika@gmail.com/diylc-library/src/org/diylc/components/passive/AxialFilmCapacitor.java @@ -62,7 +62,7 @@ public class AxialFilmCapacitor extends AbstractLeadedComponent { @Override public String getValueForDisplay() { - return getValue().toString() + " " + getVoltageNew().toString(); + return getValue().toString() + (getVoltageNew() == null ? "" : " " + getVoltageNew().toString()); } @EditableProperty(name = "Voltage") diff --git a/ diy-layout-creator --username bancika@gmail.com/diylc-library/src/org/diylc/components/passive/CapacitorSymbol.java b/ diy-layout-creator --username bancika@gmail.com/diylc-library/src/org/diylc/components/passive/CapacitorSymbol.java index e8b00043..d37699f9 100644 --- a/ diy-layout-creator --username bancika@gmail.com/diylc-library/src/org/diylc/components/passive/CapacitorSymbol.java +++ b/ diy-layout-creator --username bancika@gmail.com/diylc-library/src/org/diylc/components/passive/CapacitorSymbol.java @@ -39,7 +39,7 @@ public class CapacitorSymbol extends AbstractSchematicLeadedSymbol @Override public String getValueForDisplay() { - return getValue().toString() + " " + getVoltageNew().toString(); + return getValue().toString() + (getVoltageNew() == null ? "" : " " + getVoltageNew().toString()); } @Deprecated diff --git a/ diy-layout-creator --username bancika@gmail.com/diylc-library/src/org/diylc/components/passive/InductorSymbol.java b/ diy-layout-creator --username bancika@gmail.com/diylc-library/src/org/diylc/components/passive/InductorSymbol.java index 51b780e5..d144285c 100644 --- a/ diy-layout-creator --username bancika@gmail.com/diylc-library/src/org/diylc/components/passive/InductorSymbol.java +++ b/ diy-layout-creator --username bancika@gmail.com/diylc-library/src/org/diylc/components/passive/InductorSymbol.java @@ -58,7 +58,7 @@ public class InductorSymbol extends AbstractSchematicLeadedSymbol { @Override public String getValueForDisplay() { - return getValue().toString() + " " + getCurrent().toString(); + return getValue().toString() + (getCurrent() == null ? "" : " " + getCurrent().toString()); } public void drawIcon(Graphics2D g2d, int width, int height) { diff --git a/ diy-layout-creator --username bancika@gmail.com/diylc-library/src/org/diylc/components/passive/RadialCeramicDiskCapacitor.java b/ diy-layout-creator --username bancika@gmail.com/diylc-library/src/org/diylc/components/passive/RadialCeramicDiskCapacitor.java index b749987c..562315c7 100644 --- a/ diy-layout-creator --username bancika@gmail.com/diylc-library/src/org/diylc/components/passive/RadialCeramicDiskCapacitor.java +++ b/ diy-layout-creator --username bancika@gmail.com/diylc-library/src/org/diylc/components/passive/RadialCeramicDiskCapacitor.java @@ -47,7 +47,7 @@ public class RadialCeramicDiskCapacitor extends AbstractRadialComponent { @Override public String getValueForDisplay() { - return getValue().toString() + " " + getVoltageNew().toString(); + return getValue().toString() + (getVoltageNew() == null ? "" : " " + getVoltageNew().toString()); } @Deprecated diff --git a/ diy-layout-creator --username bancika@gmail.com/diylc-library/src/org/diylc/components/passive/RadialFilmCapacitor.java b/ diy-layout-creator --username bancika@gmail.com/diylc-library/src/org/diylc/components/passive/RadialFilmCapacitor.java index aaee85a2..4837026f 100644 --- a/ diy-layout-creator --username bancika@gmail.com/diylc-library/src/org/diylc/components/passive/RadialFilmCapacitor.java +++ b/ diy-layout-creator --username bancika@gmail.com/diylc-library/src/org/diylc/components/passive/RadialFilmCapacitor.java @@ -47,7 +47,7 @@ public class RadialFilmCapacitor extends AbstractRadialComponent { @Override public String getValueForDisplay() { - return getValue().toString() + " " + getVoltageNew().toString(); + return getValue().toString() + (getVoltageNew() == null ? "" : " " + getVoltageNew().toString()); } @Deprecated diff --git a/ diy-layout-creator --username bancika@gmail.com/diylc-library/src/org/diylc/components/passive/Resistor.java b/ diy-layout-creator --username bancika@gmail.com/diylc-library/src/org/diylc/components/passive/Resistor.java index e9f56b05..5c766de3 100644 --- a/ diy-layout-creator --username bancika@gmail.com/diylc-library/src/org/diylc/components/passive/Resistor.java +++ b/ diy-layout-creator --username bancika@gmail.com/diylc-library/src/org/diylc/components/passive/Resistor.java @@ -57,7 +57,7 @@ public class Resistor extends AbstractLeadedComponent { @Override public String getValueForDisplay() { - return getValue().toString() + " " + getPowerNew().toString(); + return getValue().toString() + (getPowerNew() == null ? "" : " " + getPowerNew().toString()); } @Deprecated diff --git a/ diy-layout-creator --username bancika@gmail.com/diylc-library/src/org/diylc/components/passive/ResistorSymbol.java b/ diy-layout-creator --username bancika@gmail.com/diylc-library/src/org/diylc/components/passive/ResistorSymbol.java index 6b3aa1f0..f914bacb 100644 --- a/ diy-layout-creator --username bancika@gmail.com/diylc-library/src/org/diylc/components/passive/ResistorSymbol.java +++ b/ diy-layout-creator --username bancika@gmail.com/diylc-library/src/org/diylc/components/passive/ResistorSymbol.java @@ -39,7 +39,7 @@ public class ResistorSymbol extends AbstractSchematicLeadedSymbol { @Override public String getValueForDisplay() { - return getValue().toString() + " " + getPowerNew().toString(); + return getValue().toString() + (getPowerNew() == null ? "" : " " + getPowerNew().toString()); } @Deprecated diff --git a/ diy-layout-creator --username bancika@gmail.com/diylc-swing/lib/diylc-core.jar b/ diy-layout-creator --username bancika@gmail.com/diylc-swing/lib/diylc-core.jar index d814a9a2..3ea0ed74 100644 Binary files a/ diy-layout-creator --username bancika@gmail.com/diylc-swing/lib/diylc-core.jar and b/ diy-layout-creator --username bancika@gmail.com/diylc-swing/lib/diylc-core.jar differ diff --git a/ diy-layout-creator --username bancika@gmail.com/diylc-swing/library/main.jar b/ diy-layout-creator --username bancika@gmail.com/diylc-swing/library/main.jar index c2c99d06..1e5cfd91 100644 Binary files a/ diy-layout-creator --username bancika@gmail.com/diylc-swing/library/main.jar and b/ diy-layout-creator --username bancika@gmail.com/diylc-swing/library/main.jar differ diff --git a/ diy-layout-creator --username bancika@gmail.com/diylc-swing/update.xml b/ diy-layout-creator --username bancika@gmail.com/diylc-swing/update.xml index 4d9c1c5a..74f65696 100644 --- a/ diy-layout-creator --username bancika@gmail.com/diylc-swing/update.xml +++ b/ diy-layout-creator --username bancika@gmail.com/diylc-swing/update.xml @@ -990,6 +990,14 @@ 2012-09-24 20:00:00.000 CET + + BUG_FIX + BOM doesn't work when there's a component without a value set + + + BUG_FIX + Editing multiple components doesn't work there's a component without a value set + NEW_FEATURE Diode symbol