From 4ddcea7bc76da5b2f4934f9d3e25c4c47e2350df Mon Sep 17 00:00:00 2001 From: bancika Date: Sun, 30 Sep 2012 10:28:59 +0000 Subject: [PATCH] BOM and multi-edit doesn't work when there's a component without a value set --- .../diylc-core/library/main.jar | Bin 252666 -> 258264 bytes .../diylc/presenter/ComponentProcessor.java | 86 +++-- .../src/org/diylc/utils/BomMaker.java | 7 +- .../diylc-library/lib/diylc-core.jar | Bin 207750 -> 207838 bytes .../org/diylc/components/guitar/LPSwitch.java | 320 ++++++++++++++++++ .../passive/AxialElectrolyticCapacitor.java | 2 +- .../passive/AxialFilmCapacitor.java | 2 +- .../components/passive/CapacitorSymbol.java | 2 +- .../components/passive/InductorSymbol.java | 2 +- .../passive/RadialCeramicDiskCapacitor.java | 2 +- .../passive/RadialElectrolytic.java | 2 +- .../passive/RadialFilmCapacitor.java | 2 +- .../diylc/components/passive/Resistor.java | 2 +- .../components/passive/ResistorSymbol.java | 2 +- .../diylc-swing/lib/diylc-core.jar | Bin 207759 -> 207838 bytes .../diylc-swing/library/main.jar | Bin 257760 -> 258264 bytes .../diylc-swing/update.xml | 8 + 17 files changed, 381 insertions(+), 58 deletions(-) create mode 100644 diy-layout-creator --username bancika@gmail.com/diylc-library/src/org/diylc/components/guitar/LPSwitch.java 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 f549fe36352e4b657e6e15e35b3c43364962d375..1e5cfd917099d67c139b553994d56ceb38fd4cbb 100644 GIT binary patch delta 35770 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 agF~5s`W+}Xwlk75QV*y-aS>>vkp2hTh5twZ 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 0fc90ec499d9ef64c2a4077cbc0f6c4999b68af5..3ea0ed7490ac5c30ed361992ec926a79014cf722 100644 GIT binary patch delta 13647 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 OtAcPdJ;gQ|hW`V6q^5cR delta 13630 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 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 d814a9a27342ef31912db531148c65b43ebad6e0..3ea0ed7490ac5c30ed361992ec926a79014cf722 100644 GIT binary patch delta 9380 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

thEW1x3gcxOvq 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 delta 9297 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 AM*si- 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 c2c99d06d13d694fd276600bb5004d11cf7ed631..1e5cfd917099d67c139b553994d56ceb38fd4cbb 100644 GIT binary patch delta 28318 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 Dq648E delta 27819 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 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